【滴滴】C++岗-发个三面面经

投的滴滴牛客SP专场,三面面试官评价挺好的。
一天面完,一共三面,每面平均50分钟左右,面完脑子基本瘫痪。

一面

(14:00开始,共53分钟左右)
面试官是很典型的程序员,人狠话不多的那种。
1.首先介绍项目,项目涉及的技术栈,追问挖细节。
2.C++类对象从编写代码定义到生成可执行文件的全过程描述
3.类对象的内存分布与生存周期
4.函数调用的过程,从传参到底层原理,回答不全会追问
5.计算机网络通信各阶段状态函数,建立连接的时候由哪些标识符需要注意,为什么ACK要为1?

代码:1>.简单的括号匹配
2>.升级为最长有效括号(leetcode32)
反问环节

二面

(结束5分钟发短信通知一面过了,等10分钟二面,50分钟左右)
面试官态度超级好,打扮也很小清新,和传统程序员形象差距蛮大的帅气程序员。
1.问了一下实习经历
2.虚拟内存mmap的概念,原理,应用场景,与系统调用比的优缺点。
3.进程间通信除了mmap还有哪些。
4.同步I/O与异步I/O
5.select() poll() epoll() 每个都详细的讲一下
6.epoll()两种模式,对比,ET好处,应用场景,如果采用ET出现内容丢失,如何补救。
7.计算机网络中,服务器存在的几种状态,如何进行流量控制,接受缓冲区里放的内容是什么
8.TCP和UDP区别,UDP首部各个内容说一下。
9.四次挥手两边的各个状态,MSL存在的意义,产生了很多time_wait的原因以及如何解决?

代码: 翻转二叉树、先写了递归,又让写迭代。
让我说时间空间复杂度,看出来我快被他问懵了。
没让反问(以为挂了)

三面

(后来10分钟不到通知三面、大概也50分钟左右)
面试官是个团队leader,心平气和,很严谨,上来就介绍要考察我什么,而且题目都是打在屏幕上。
1.放了一大串代码在共享屏幕上,让根据C++的三大特性以及底层原理逐行逐块解释、涉及的内容几乎包括C++的所有特性
封装、继承、多态、虚继承、虚基类、虚函数表、构造析构顺序、为什么这么定义等等。。反正很多就是了。
2.new、malloc、delete、free。
3.一道代码题让看有没有问题,打印结果这类的。
4.多进程和多线程缀了个填空,好多场景,用进程还是线程
5.好好唠唠堆栈,堆是如何分配的(buddy和slab)
6.聊项目,我的项目也是底层的,面试官是做底层的,撞枪口上了。
7.没让撕代码,给的面试评价比较高,让我反问。

总的来说面试体验很好,不过今天面试的面试官好像还蛮多的,所以面试官那边都比较吵,好在面试官们都很好,很有耐心。
许愿一个offer~

发表评论

后才能评论