搜广推算法校招面试:BOSS直聘 推荐搜索系统工程师

  本文介绍2024届秋招中,BOSS直聘推荐/搜索系统工程师岗位一面的面试基本情况、提问问题等。

  202312月,赶在秋招的末尾,投递了BOSS直聘推荐/搜索系统工程师岗位,并不清楚所在的部门。目前完成了一面,在这里记录一下一面经历。

  首先,这一次的投递就是在BOSS直聘这个APP上直接投递的,没有走官网投递的流程;在这个阶段(秋招都要结束了),再去网申的话我感觉意义也不大,所以一般就是看看BOSS直聘上合适公司、岗位的HR发来简历邀请(可能是当初找实习的时候用户活跃度非常高,所以在APP上这大半年都一直会有HR发邀请的),如果有相关邀请并且感觉可以试一试的话,就会申请推进流程。

  这一次面试和秋招的第一次面试(百度搜索的机器学习、深度学习算法岗位)一样,是算法方向的面试,所以可以明显感觉到面试官对于实习经历、项目经历都不怎么提问了,而是直接就问算法方面的内容——当然,这个也和我比较偏向于开发(主要是算法学不会),所以实习和项目经历都是开发方向的工作有关。其中,面试官主要提问的算法内容多数都是和数据结构有关的,主要集中在数据结构元素搜索的时间、空间性能优化方面。虽然感觉算法方面的面试是真的很难,但是也确实感觉这样的面试很有意思,自己会绞尽脑汁地回想当初刷题时,那些高赞题解里都用到了哪些算法思想或者优化技巧——而如果是开发方向的面试,那么提问往往都是集中在实习和项目经历方面,感觉自己都快要背下来了,没有算法面试有意思哈哈哈哈。一场面试下来,也确实收获到了很多新的内容与知识。

面试情况

  • 上午10:00开始,持续25分钟左右。

  • 线上视频面试,1位面试官;面试官很和蔼。

  • 首先做自我介绍;提问25分钟。

提问问题

  • 本科、研究生阶段都有哪些项目、实习经历?
  • 研究生阶段和阿里云合作的项目是什么样的?是什么类型的项目?大致做了些什么?
  • 数组链表有什么不同?各自有什么特点与优势?各自的应用场景如何?
  • 对于一个有序数组,在其中查找某一个值,最低的时间复杂度为多少?此时是用什么方法来查找的?对于一个有序链表呢?
  • 对于链表中数据的查找,如何优化其时间复杂度?对于一个链表,将其数值和位置以哈希表的形式保存,这个保存的过程具体如何实现?这个过程的时间复杂度如何?
  • 对于一个有序的链表,希望加快其查找数值的速度,有什么方法优化?
  • 是否了解“跳表”这个概念?
  • 两个无序数组,如何找到二者中元素的交集?时间复杂度如何?是否可以优化?你提到在哈希表中加以查找,此时查找的时间复杂度一定均是O(1)吗?如果这两个数组的某一个或者每一个数组中,有重复的数据怎么办?
  • 哈希冲突是如何解决的?时间复杂度如何?
  • JavaC++中,有哪些和哈希表有关的数据结构?其各自的底层实现是什么?为什么红黑树可以实现哈希表?
  • 两个无序的数组,如何找到二者中重复(既在数组A中,又在数组B中)的元素?
  • 一个有序的单链表A,含有100万个结点;希望构建一个新的链表B,分段地保存A中的部分结点,从而优化A中查找元素的性能;那么你认为B应该每隔多少个结点保存一次A中的结点?如果B保存了10万个结点,那么基于B查找A中任意一个元素,平均查找的次数为多少?
  • 个人的职业预期与规划是如何的?

算法题目

  • 无(这里是指没有手撕算法代码的题目)。

面试结束反问

  • 这一岗位对于机器学习、深度学习算法方面的知识是否有要求?
  • 这一岗位更侧重于算法的研发(数学方面),还是算法的落地(开发方面)?

反馈情况

  • 面试已经结束1个多月,暂无任何回复,肯定已经凉了。

  至此,大功告成。