【美团】C++岗-后端开发面经(收到oc)
一面
大概1h左右
- 说说项目(其实这个项目就是课程作业,实在没项目了只能拿出来强凑) 10~20min
- 死锁的条件
- 死锁的避免与检测(银行家算法与拓扑排序)
- 进程间通信
- 线程间通信
- malloc与new的区别,free与delete的区别
- 知道的排序算法有哪些
- 10W考生高考成绩排序,假设成绩都是整数(桶排序)
- 第k大数(快排)
- TCP与UDP区别
- TCP三次握手与四次挥手,为什么要第三次握手,为什么要第四次挥手
- 数据库事务的隔离等级
- 脏读,幻读是什么,可重复读解决了什么问题
- 反问
- 面试官问入职能否转java,那自然是跪舔说可以
二面
30min,回答的很差,绝望了一天
- 有序链表转搜索二叉树
- 二叉树的层次遍历
都只需要写个大概,不用过样例,后面说思路即可 - 在层次遍历过程中,队列最多会存储多少节点?
- 给定节点数量N,求二叉树高度范围,一紧张只想到了满二叉树的情况(满二叉树是最低高度,退化成链表是最大高度)
- 多线程相比单线程的优缺点
- 进程间的通信方式(重)
- 进程的调度方式
- 锁机制了解多少
- 反问