百度c++开发三面面经
百度一面一个小时,没有问答,直接撕代码。股票问题,只进行一次交易和两次交易。第三个编程题就是实现atoi函数,注意各种非法输入。最后是一道排列组合的题。
两天后约了二面,全程两个多小时。c++内存分配,c++11特性,内核态和用户态,mmap,read函数原理,malloc原理,智能指针解释。计算机网络里问了timewait和closewait,是谁的状态,举例子出现这种closewait情况的,为什么要等待本次连接所有的包都消失。io多路复用,三个函数区别,epoll文件描述符在内核态和用户态都可见的底层实现,水平触发和边缘触发,各自适用什么场景,数据库里的索引数据结构,为什么要用这个b+树,如何实现范围搜索,出了一道实际的题问是否应用了索引。问了基础知识之后开始撕代码,三道题leetcode上的题,简单,中等和难各一道。1.删除链表的倒数第N个节点,2.无重复字符的最长子串,3.将一个数组分为两部分,使得两部分的和最接近,返回两部分的差值,这个题得用0-1背包的思想来解决。
两天后约了三面,一个小时,比二面简单。手写插入排序和单例模式。然后是一个概率题:概率题:两个员工,周一到周五选择三天去公司上班,问有两天选择相同的概率。感觉百度很喜欢问概率题。
一天后收到测评通知,已做,等后续通知。
#百度##面经##校招##C++工程师#