搜广推算法校招面试:BOSS直聘 推荐搜索系统工程师
本文介绍2024届秋招中,BOSS直聘的推荐/搜索系统工程师岗位一面的面试基本情况、提问问题等。
2023
年12
月,赶在秋招的末尾,投递了BOSS直聘的推荐/搜索系统工程师岗位,并不清楚所在的部门。目前完成了一面,在这里记录一下一面经历。
首先,这一次的投递就是在BOSS直聘这个APP上直接投递的,没有走官网投递的流程;在这个阶段(秋招都要结束了),再去网申的话我感觉意义也不大,所以一般就是看看BOSS直聘上合适公司、岗位的HR发来简历邀请(可能是当初找实习的时候用户活跃度非常高,所以在APP上这大半年都一直会有HR发邀请的),如果有相关邀请并且感觉可以试一试的话,就会申请推进流程。
这一次面试和秋招的第一次面试(百度搜索的机器学习、深度学习算法岗位)一样,是算法方向的面试,所以可以明显感觉到面试官对于实习经历、项目经历都不怎么提问了,而是直接就问算法方面的内容——当然,这个也和我比较偏向于开发(主要是算法学不会),所以实习和项目经历都是开发方向的工作有关。其中,面试官主要提问的算法内容多数都是和数据结构有关的,主要集中在数据结构元素搜索的时间、空间性能优化方面。虽然感觉算法方面的面试是真的很难,但是也确实感觉这样的面试很有意思,自己会绞尽脑汁地回想当初刷题时,那些高赞题解里都用到了哪些算法思想或者优化技巧——而如果是开发方向的面试,那么提问往往都是集中在实习和项目经历方面,感觉自己都快要背下来了,没有算法面试有意思哈哈哈哈。一场面试下来,也确实收获到了很多新的内容与知识。
面试情况
-
上午
10:00
开始,持续25
分钟左右。 -
线上视频面试,
1
位面试官;面试官很和蔼。 -
首先做自我介绍;提问
25
分钟。
提问问题
- 本科、研究生阶段都有哪些项目、实习经历?
- 研究生阶段和阿里云合作的项目是什么样的?是什么类型的项目?大致做了些什么?
- 数组和链表有什么不同?各自有什么特点与优势?各自的应用场景如何?
- 对于一个有序数组,在其中查找某一个值,最低的时间复杂度为多少?此时是用什么方法来查找的?对于一个有序链表呢?
- 对于链表中数据的查找,如何优化其时间复杂度?对于一个链表,将其数值和位置以哈希表的形式保存,这个保存的过程具体如何实现?这个过程的时间复杂度如何?
- 对于一个有序的链表,希望加快其查找数值的速度,有什么方法优化?
- 是否了解“跳表”这个概念?
- 两个无序数组,如何找到二者中元素的交集?时间复杂度如何?是否可以优化?你提到在哈希表中加以查找,此时查找的时间复杂度一定均是
O(1)
吗?如果这两个数组的某一个或者每一个数组中,有重复的数据怎么办? - 哈希冲突是如何解决的?时间复杂度如何?
- Java和C++中,有哪些和哈希表有关的数据结构?其各自的底层实现是什么?为什么红黑树可以实现哈希表?
- 两个无序的数组,如何找到二者中重复(既在数组
A
中,又在数组B
中)的元素? - 一个有序的单链表
A
,含有100
万个结点;希望构建一个新的链表B
,分段地保存A
中的部分结点,从而优化A
中查找元素的性能;那么你认为B
应该每隔多少个结点保存一次A
中的结点?如果B
保存了10
万个结点,那么基于B
查找A
中任意一个元素,平均查找的次数为多少? - 个人的职业预期与规划是如何的?
算法题目
- 无(这里是指没有手撕算法代码的题目)。
面试结束反问
- 这一岗位对于机器学习、深度学习算法方面的知识是否有要求?
- 这一岗位更侧重于算法的研发(数学方面),还是算法的落地(开发方面)?
反馈情况
- 面试已经结束
1
个多月,暂无任何回复,肯定已经凉了。
至此,大功告成。