拼多多服务端研发工程师面经(C++方向)
由于对方安排上的原因,先进行HR面,后进行一面和二面。
HR面
- 如何获知拼多多的?
- 对拼多多的认识?
- 问问简历上的一些事情、项目
- 工作地点的考虑
- 求职方向的考虑
- 是否已经获得过其他厂的Offer
- 经典问题:目前为止最有挑战的经历
- 薪资待遇
一面
- 自我介绍
- 回顾一下笔试题,问了第一题的思路以及一些代码上的细节。这里有一个很奇特的点,在线提交的时候显示笔试成绩是75-100-0-0,而面试官手里的资料显示是75-85-100-0。。。
- 由于是非科班,面试官就轻虐一下,首先问进程和线程的区别。
- 随后问知道协程吗?(Python中的,面试官吐槽协程不好用)
- 构造函数能否是虚函数?
- 手写单例模式(一激动把单例的指针放到public中了)
- 算法题:消消乐,给定一个数字序列,将连续的数字全部消除,比如1,2,3,3,3,2,3,返回1,2,2,3(用栈做)
- 消消乐升级,只要有相同连续数字,全部消除,如1,2,3,3,3,2,3,返回1,3(用栈做,上一题代码上再加判断)
二面
二面被虐暴,心情难以平复
- 自我介绍
- 一道算法题,今天才发现这题是“Leetcode 543.二叉树的直径”和“Leetcode 236.二叉树的最近公共祖先”两道题的结合。。。。然而当时一点思路没有
- 实现一个能解决冲突的hashmap(用的链表解决冲突,感觉手写代码没有键盘写方便,越写越乱)
- 如何实现这个hashmap的线程安全。这里在写的时候加锁,读的时候,面试官说,“读的时候用吗”,口气就是“我觉得不用吧。”于是就说不加。但是面试结束后,想想,如果读写同时进行,而且都是同一块目标区域。。。觉得应该用读写锁,多个线程可以同时读,但是只要有一个在写,其他都不能读。
- TCP四次挥手的CLOSE_WAIT状态在哪端?刚开始答客户端。。。后来马上画个图,回答,服务端!
最后,随缘吧