美团到家后台开发岗,美团技术栈是Java,楼主技术栈是C++,所以面试过程中基本没有涉及到Java相关的知识点,感谢面试官🤣,同时许愿三面😁
美团的面试体验非常好,开始之前闲聊一会,比较放松
一面(8.19 40min)
- 自我介绍
- 项目相关
- Linux内存模型
- Linux线程 进程模型
- IO多路复用,select,poll,epoll
- 对自己技术栈有什么规划(当然是要转Java哈哈哈哈)
- 算法题:
在数组中找到一个局部最小的位置 限定语言:C、Python、C++、Javascript、Python 3、Java、Go 定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小;如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;如果0<i<N-1,既有arr[i]<arr[i-1],又有arr[i]<arr[i+1],那么arr[i]是局部最小。 给定无序数组arr,已知arr中任意两个相邻的数不相等。写一个函数,只需返回arr中任意一个局部最小出现的位置即可 [要求] 时间复杂度为O(\log n)O(logn),空间复杂度为O(1)O(1)
- 后台开发相关的组件是否了解,RPC,数据库,服务间调用,消息队列,分布式相关
- 职业规划
- 是否有在其他公司流程中,有什么倾向吗?(当然倾向美团)
- 喜欢底层还是业务?
- 是否能实习?
二面(8.24 60min)
- 自我介绍
- 学校方向
- 比赛相关
- 算法题1:合并两个有序单链表
- 算法题2:在算法题1的基础上加一个条件:两个链表可能会相交
- 算法题3(只说思路):n个有序链表合并,内存较小,不能直接加载到内存
- 堆排序时间复杂度,稳定性
- 堆排序过程口述
- 有哪些排序算法时间复杂度是O(n*logn)
- 堆除了用来排序,还能做什么?
- 为什么堆排序和快排时间复杂度一样,但是常用的都是快排,为什么不用堆排序呢?
- 三个线程T1,T2和T3,线程T3必须等到T1,T2都结束之后才能开始,应该怎么做?
- 线程T1有三个代码段,线程T2有两个代码段,线程T3必须等待T1执行完第二个代码段,T2执行完第一个代码段之后才能开始,应该怎么做?
- 8个运动员,1个发令员,1个裁判员,发令员要在8个运动员都准备好之后才能法令,运动员在发令员法令之后才能跑,裁判员要在8个运动员都跑完之后才能评分,如果每个人看作一个线程(一共10个线程)的话,这个系统该如何设计,可以保证这种顺序关系?
- 其他家offer
- 反问
技术两次或者三次面试,期待HR或者三面
全部评论
(11) 回帖