由于3月初还没完全准备好,错过了携程的第一批笔试,参加了3月底的第二批笔试,算法题四题过了三题,此时携程后端岗基本已经招满,所以我也基本不抱有希望了。时隔近两个月,算法系统开发部门把我捞了。下面是三轮面试的面经。一面 40min1. 自我介绍2. 职业规划3. 项目介绍(Webserver) - 日志模块的具体实现,如日志格式,缓冲区大小,存放日志的结构? - 缓冲区满了如何解决?回答加缓冲区,面试官咬定极端情况下缓冲区总会满的,怎么解决? 内存监控、预警、并发量过大可以丢弃部分日志。 - 定时器的工作流程?如何减少定时器模块的开销? 惰性删除+定时删除4. 简单的场景算法题,讲思路 - 在一批元素中查找某个元素是否存在(注:该函数会被线上频繁调用) 答了hashset,追问到hashtable底层实现,哈希碰撞的解决方式,hashtable中链表如何优化 又追问是否有空间复杂度更小的实现方式?回答了布隆过滤器。 - 二叉树的遍历 分dfs和bfs回答,又讲了递归和非递归,面试官问你会选择那种遍历方法?答非递归。5. 闲聊 - 平时如何学习? - 遇到问题如何解决? - 用过chatgpt没,有什么感受?6. 反问 - 部门具体业务 - 后续流程二面 35min由于二面被临时调整给了另一个面试官,耽误了七八分钟面试官可能是临时接到通知,显得有些着急,上来也没让自我介绍,直接让我写题(消失的两个数字)。这道题写了将近三十分钟,一直在用位运算的思路,写完后面试官说写法有些复杂了,聊了会更好的思路,然后追问了个vector扩容的八股,就到反问环节了。三面 hr面 30min自我介绍,然后聊职业规划、如何看待chatgpt、评价自己的性格、遭遇挫折是如何解决的。反问部门转正率,hr说没有hc限制,主要看个人能力:(