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