美团/百度/腾讯/华为/链家C++面经

楼主昨天拿到了百度的软件研发的offer,今天准备给大家分享一下楼主的秋招面经以及秋招的准备过程。

一、美团(三面挂)

楼主美团投的校招,部门是技术工程部,但是莫名其妙被面了笔试,直接进了电话面试。

1、电话面试:

面试官看中了我简历里写的读过leveldb源码,所以一开始问的全是leveldb的源码,之后面试官觉得我对源码很熟悉,就说开始问一点c++基础,问了多态原理,stl容器是否线程安全,map的底层是什么数据结构,最后问我能不能来北京面试,我答应了。

2、一面

面试官得知我没做笔试,先让我做了美团的笔试题,楼主看过美团的笔试题,所以一开始就写了最优解,面试官问我是不是和同学讨论过,然后就有点尴尬。之后又出了一道题,在二维数组查找一个数,数组向右和向下都是有序的,楼主说从左下角开始查找,面试官问有没有更好的解法,之后在面试官的提示下,想出了从右下角开始二维二分查找的解法。最后问了多态和智能指针的优点,以及智能指针在什么情况下必须使用。

3、二面

二面面试官从头到尾不苟言笑,一直给楼主施压。最开始先写了一道给二叉树添加兄弟指针的题。之后问了很多c++知识,多态,const,static,程序从代码到可执行文件的过程,有没有用过gdb,进程与线程,fork返回值,mmap,volatile关键字,extern和extern “C”,楼主有些没答出来。最后出了一道智力题,从100个球里,每次可以拿2-7个,我先拿,如何制定必胜策略,楼主见过这道题,所以做了出来。

4、三面

三面是主管面,首先问了项目,我说写过leveldb组件,他问leveldb可以用在多台主机之间吗,我说leveldb是单机的,他问怎么做可以实现分布式,我说用一致性哈希算法,之后他又问一台机器宕机后,需不需要转移数据,楼主不是很懂分布式,所以没答上来。之后让楼主写了leveldb里的数据机构。写完后出了一道题,如何利用一个随机数生成器生成3个不重复的随机数,不允许用额外空间,楼主没答出来。最后出了一道从左上角走到右下角路径的题,楼主没听清题目,写成了计算路径总数,面试官说没事,然后说“那么今天就到这吧”,GG。


二、百度(offer)

1、一面

一面面试官看起来年纪有点大,我差点以为走错了。一开始也是问我leveldb,我从各个方面给他解释了一遍leveldb的原理,他很满意,之后让我写了归并排序和二分查找,然后问我从事开发这一行有什么优势,因为楼主是通信专业,学习编程不到一年,所以面试官才问了这个问题。我说我自律,热爱编程,然后面试官笑了,说我把网络编程再补补问题不大。

2、二面

二面面试官说一面面试官对我评价很高,然后看我是通信专业的,就问我通信方面的,先问哈夫曼编码,然后tcp,问我三次握手,如果客户端如果连接后恶意不发ack,服务端如何处理,在面试官的提示下,楼主说保存客户端地址,等有资源后再回应,类似于异步的思想。我看面试官还想问我通信,我说我其实不懂网络,然后面试官出了个大数据的题,40亿个uint数据,如何找出最大的10个,假设内存足够大,在面试官的提示下,楼主弄出了bitset的解法,最后问了知不道智能指针,我说知道,他说那就很简单了,如何避免出现加了锁之后,忘了释放锁,我说用对象管理锁,利用析构函数释放锁。面试官很满意,说进了3面就很少刷人了,楼主很happy。

3、三面

三面面试官看起来非常年轻,看起来完全不像是主管或者经理的感觉。显示让我说了我的项目,然后2道题,一道是简化unix路径,一道是求两个集合的交集并集差集,楼主写完后,问有没有节省空间的解法,楼主说只保存差集和交集,面试官让我回去再想想。然后问了操作系统底层如何调度进程写IO,楼主完全不懂,然后面试官也没继续问,开始谈职业规划,最后我问他他们部门的情况,他也介绍了半天,三面结束。


三、链家(等待最终结果)

楼主在学校的宣讲会上参加了链家的笔试,2小时10道题,楼主做出来7道,进了面试。

1、一面

一面面试官看我第一题没做出来,问我有没有想好,我说想好了,那是道用1,2,5元硬币组合钱的dp问题,楼主把这道题讲解得非常清楚,面试官很满意,说我是把这道题解释地最清晰的面试者。然后开始问项目,最后问了c++多态,智能指针的线程安全性。

2、二面

二面面试官是个java架构师,不懂c++,主要问了我项目,问我leveldb和redis比如何,跟我说应该横向地比较一些KV数据库的优缺点,然后让我解释了我写的一个图像算法,他也很满意,问我想去上海还是北京,二面结束。

3、HR面

HR是武大的学姐,问我为什么想从通信转研发,问我的人生历程,鼓励我继续走下去,反正就是灌鸡汤,最后说给我加面一场。

4、总监面

面我的是个大佬,没问技术,全程都是聊天,了解我这个人的性格,在学校的经历等,问我笔试题出的怎么样,我说虽然不难,但都是很重要的基础题,很考察对基本算法的熟练程度。


四、华为(等待offer)

楼主是上午面完百度赶去面的华为,等了3个小时才开始面试。

1、一面

楼主投的云计算开发,面试官问的全是c++基础,类的成员换了顺序后有什么影响,多态,如何实现禁止继承,还有一些记不得了,反正很流畅地全部答出来了。

2、二面

二面是个主管,把我的项目全部问了一遍,然后开始介绍他们部门,问我愿不愿意加入他们部门,我说好,他就操作了一番,把我加进了他们部门,他们是做智能云硬件的。面完后当天晚上,把我和其他几个他认可的学生加进了一个群,请我们吃了饭,详细地介绍了他们部门。


五、腾讯(等待最终结果)

腾讯这次面试体验不太好,主要是二面面的很奇怪。楼主被分到的部门是sng的qq音乐,貌似评价不太好。

1、一面

一面面试官先问了一堆linux和网络的问题,楼主在这一块其实是很陌生的,socket通信的api,tcp三次握手,四次挥手,time_wait状态,进程线程,线程同步方法,进程间通信,共享内存如何实现,select和epoll,系统的fd数量上限如何决定的,epoll的LT和ET。之后开始问c++,stl容器用过哪些,链表的内置排序的原理,红黑树的平衡性如何保证的,static和const,vector如何扩容,vector如何减小capacity,哈希表原理,多态的实现。最后出了一道题,完全二叉树,如何找到下一个插入的节点,楼主只做出了层次遍历的解法,后来网上查了下,在预先知道节点数量的情况下,进行查找,但是当时面试官没有说知道节点数啊。。。

2、二面

二面面试官是个大佬,先问我简历上的情况,数学怎么样,我看你数模拿过个一等奖,奖学金为啥只有丙等,我说没加分,成绩好没用。之后开始后问c语言,妈的老子擅长的是c++不是c啊,什么CHAR和BYTE是啥,我没用过啊,long和long long的区别,文件如何获取大小,sizeof(\0)和strlen(\0)是多少,之后问的全是我不知道的,计算机数据库,问一个懵逼一个,然后说我计算机基础太差,考虑要不要给我机会。问了我一道经典题,100楼扔球那个,我解释地很清楚,然后他就让我过了,说你要更加努力把这些知识补起来,别人打游戏的时候你在学习,你就比别人强,不要拿到offer就开始放松,年轻人一开始很穷,所以要更努力。

3、HR面

HR一开始就说他不像其他HR一样不挂人,然后开始问我对一些事的评价,比如地域黑,比如人工智能目前的发展,然后问我个人经历,让我评价武大华科,最后让我过了,说最后有个排序录取的过程,所以让我等结果,说27号给结果,然而并没有结果。


楼主是从4月开始复习的,那时候楼主腾讯实习生一面就挂了,从此开始奋发图强。读完了c++primer,effective c++,more effective c++,stl源码剖析,读完了levledb源码,leetcode前150道题刷了2遍,牛客上也刷了200多题,看了很多技术博客,经典算法比如KMP,Sunday,A*之类的,还有线程同步的方法都写了几遍demo,差不多每天都10小时以上的学习时间,终于在秋招拿到了互联网的offer,目前在看APUE,继续不断学习中。

全部评论
研究生?
点赞 回复 分享
发布于 2017-09-27 19:33
膜拜大佬
点赞 回复 分享
发布于 2017-09-27 19:37
大佬
点赞 回复 分享
发布于 2017-09-27 19:39
膜拜大佬
点赞 回复 分享
发布于 2017-09-27 19:39
大神师兄哇~~~~~~膜拜~~
点赞 回复 分享
发布于 2017-09-27 19:41
老哥,最终是我百度挂了。。。
点赞 回复 分享
发布于 2017-09-27 19:42
厉害了
点赞 回复 分享
发布于 2017-09-27 19:50
校友强!
点赞 回复 分享
发布于 2017-09-27 20:00
牛逼的大佬只需要膜拜。顺便问一下腾讯HR说的排序录取出结果的结果是指什么,签两方还是微信号状态改变?话说楼主状态从HR面试变为已完成面试过了多久呀。
点赞 回复 分享
发布于 2017-09-27 20:29
膜拜大佬
点赞 回复 分享
发布于 2017-09-27 20:30
每天10小时的学习时间,看见和大佬的差距了。
点赞 回复 分享
发布于 2017-09-27 20:32
大佬
点赞 回复 分享
发布于 2017-09-27 20:37
大佬,膜拜!
点赞 回复 分享
发布于 2017-09-27 20:49
和大佬差不多的经历,不过比较渣一点,差不多3月开始特别认真的看书准备腾讯笔试,也是每天十多小时😂,不过腾讯实习笔试就挂了😂,而且校招也一轮游了,不同的地方是主要看的网络编程的书,昨天也面完了百度三面,希望能好运。。。
点赞 回复 分享
发布于 2017-09-27 22:40
顶!d=====( ̄▽ ̄*)b大佬
点赞 回复 分享
发布于 2017-09-28 10:26
感觉楼主的百度三面面试官跟我是一个23333. 敢问楼主最后签的百度哪个部门呀
点赞 回复 分享
发布于 2017-09-28 10:36
我百度三面被怼的很惨。。😭😭看来要gg了
点赞 回复 分享
发布于 2017-09-28 11:03
同学面的是QQ音乐哪个组?
点赞 回复 分享
发布于 2017-09-30 09:16
想问楼主是从四月份开始复习到九月份就看完了上面列出来的那些书吗?还有楼主除了leveldb外还有没有别的项目
点赞 回复 分享
发布于 2017-10-19 18:47

相关推荐

工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点??? 还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力………… 感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
扭转乾坤_:现在企业都是学华为,一直通过丢池子里,最后捞
点赞 评论 收藏
分享
11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
17 110 评论
分享
牛客网
牛客企业服务