秋招总结(C++方向,腾讯、百度、华为、滴滴、搜狐)

写在前面的话:
        今天收到了腾讯的签约邀请,这意味着我的秋招之旅基本上可以结束了。平时经常在牛客上刷题以及看大家分享的面经,受益匪浅,因此趁着还有点小激动,跟大家分享下我的经历。首先来总结一下这次秋招,我投了30家公司,以下列出,给来年的学弟学妹们做些参考吧:
        阿里、腾讯、百度、京东、微店、唯品会、好未来、迅雷、360、搜狐、完美世界、携程、去哪儿、爱奇艺、网易、网易有道、网易游戏、搜狗、欢聚时代、美团、百度外卖、今日头条、滴滴、深信服、艺龙、科大讯飞、小米、猿题库、乐视、金山。
        笔试光荣牺牲的有:阿里、京东、美团、猿题库,可能还有搜狗
        面试挂的有:百度
        拿到了两家的签约意向书:腾讯,搜狐
        华为进了池子,滴滴还在等通知,其他的直接放弃了或者是还没有任何消息

        在应届本科生中,我并不是什么大神,身边的大神们早就通过实习转正或者内推拿到了bat的offer,我知道自己和他们的差距,所以在秋招前,我的心情是非常紧张和焦虑的。特别是投了一些内推完全没动静,唯一有动静的网易内推笔试直接GG了,于是就更郁闷了,真的是一度在怀疑人生。
        在这些面试过程中,由于我的项目写的比较多(然而大部分都是自己写的小项目),所以大部分面试官都花了很多时间去问项目方面的细节(除了百度),所以一些基础知识感觉问的不是特别多,也可能是本科生的缘故,问的不是特别难、特别偏,基本上看面经的时候都看到过。当然,这跟运气确实有很大的关系,我感觉我遇到的都是非常不错的面试官。另外,本人记忆力不好,有些问题已经忘了。

搜狐一面 50分钟
全程聊项目
印象中问了两个基础问题:
    select和epoll的区别
    举两个stl内部实现的例子

搜狐二面 10分钟
两个问题:
描述一个印象最深的项目
对个性化推荐的理解

百度一面 50分钟
1. strcpy和memcpy的区别
2. 手写memcpy
3. linux下的malloc和free底层都干了什么事(调用free貌似系统不一定会真正释放内存)
4. 手写一个类(考察类的前置声明)
5. epoll和select的区别
6. map遍历删除(考虑迭代器失效)
7. 手写快排

腾讯一面 90分钟
1. 做题:将近20道,主要是C++,操作系统和计网,都是一些基础知识点。记得的有:
    struct内存结构
    一些关键字的作用(super是C++的?,没看到过)
    执行int main(int argc, char *argv[])时的内存结构
    中断
    虚拟地址
    Nat
    Tcp的三次握手和四次握手
    访问www.qq.com经历的过程
2. 问一些笔试做错的题
3. 虚函数是怎样实现的。。。
4. 已知有一个struct X,其中包括一个变量a,求a在X中的偏移量(不能声明struct变量)
    面试官给的答案:&reinterpret_cast<struct X *>(0)->a
5. 进程和线程的区别
6. 项目相关

腾讯二面 50分钟
1. 主要是项目
2. 进程间的通信方式
3. 如果父类和子类都有自己的虚函数(不是覆盖),内存结构是怎样的(各自都有自己虚函数指针)
4. 手写快排
5. 数独求解算法

腾讯HR面:30分钟
1. 你的一些个人基本情况
2. 总结你的大学四年
3. 你的优点和缺点,附上实例
4. 你的意向岗位和城市
5. 其他公司的面试情况
6. 等等。。。

华为技术面 40分钟
1. 虚函数是怎样实现的。。。
2. 看github代码。。。
3. 实现一个计算器的思路
4. 项目相关

华为综面 30分钟
面试官应该不是HR,像是一个部门的头头,一直在说他们工作的方向,没问我啥,就让我宣传一下华为以后只会招更多的本科生,研究生会招的越来越少

滴滴一面 30分钟
笔试做错的题全都拿来问一遍
问些基础,有两个问题印象很深刻:
    epoll和select的区别。。。
    虚函数是怎样实现的。。。
项目相关

滴滴二面 40分钟
1. 介绍tcp协议和udp协议
2. stl traits是怎样实现的
3. stl迭代器在哪些情况下会失效
4. ipv4的不足之处(提到了地址数量有限和安全性)
5. DDos攻击
6. 算法:一个链表,每个结点有next指针和向下指针,按照层的顺序打印出来(用队列即可)

滴滴三面 60分钟
1. map是怎么实现的
2. vector是怎么实现的
3. epoll和select的区别。。。
4. 虚函数是怎样实现的。。。
5. 构造函数可以是虚函数吗?析构函数呢
6. 手写字节序转换函数(从小端到大端)
7. 手写memmove函数
8. 项目相关,问的很刁钻,应该是所有面试官中问的最深的,问到最后自己会感到有点慌了,最后他表示把我当成研究生了

滴滴HR面 30分钟
1. 你的个人情况
2. 你父母的一些情况
3.你的未来规划
你的优点和缺点
你的期望薪资
等等。。。

关于项目:
在项目方面,面试官对其中的3个点比较感兴趣
1. 陈硕的muduo网络库,这是我在项目中用到的,已经阅读过了它的源码,所以面试时的相关问题都可以讲的很细很透彻
2. 简单的UDP协议,常见的问题有:项目的实现过程,ARP协议的实现原理,IP的分片和重组
3. CMM解释器(实现了char、指针、函数、调试等功能),常见的问题有:指针、调试是怎么实现的,语法树、中间代码、内存、临时变量的实现问题

总结:
1. 大部分面试官都会问虚函数是怎么实现的、select和epoll的区别
2. 个人感觉校招前的准备和平时的积累是相辅相成的,面试官看到你简历上写的项目和技能后已经初步对你有了一个评估,之后的问题只是为了证明他对你的判断,根据你的表现进行加分减分。对于这些问题有些确实需要去刻意地准备。
3. 对于一些简单的问题尽量去回答得深入,比如说”虚函数是怎样实现的“,我一般是从单继承、多继承、虚继续三种情况去说明内存的布局。又比如”epoll和select的区别“,除了基本的区别外,还可以说下epoll的LT和ET模式。我遇到的面试官对这些回答都很满意。因此,去准备面经的时候不能只背,一定要去理解。
4. 个人对于学习C++方向的一些想法。除了基本的专业必修课,强烈建议看的书有:C++ Primer(Plus),Effective C++,深度探索C++对象模型,stl源码剖析,如果涉及到linux和网络方面(最好去掌握),需要看的书:APUE,UNP,Tcp/Ip详解(卷1)。这些书不一定所有的章节都要看,但是重点不能看一遍就不管了,一定要熟练掌握。以外,一定要刷剑指offer,刷到你一看题目就能想到思路能写代码为止,如果有时间还可以去刷leetcode。

#腾讯##百度##搜狐##华为##滴滴##C++工程师#
全部评论
楼主滴滴在北京面试的吗?有没有说你面试通过,或者给什么时候给通知?
点赞 回复 分享
发布于 2016-09-28 20:27
腾讯的感觉和我一个面试官。。。ieg是吗?
点赞 回复 分享
发布于 2016-09-28 20:35
我也c++方向的 看的书和楼主差不多 可惜腾讯不给我面试机会
点赞 回复 分享
发布于 2016-09-28 21:03
楼主,我今天面完了腾讯的HR面,现在状态是已完成所有面试,这样算是比较稳了吗
点赞 回复 分享
发布于 2016-09-28 21:45
请问你收到通知后,状态是如何变化的呢
点赞 回复 分享
发布于 2016-09-28 22:08
楼主投了好多啊~~
点赞 回复 分享
发布于 2016-09-28 23:06
楼主知识比较充分,赞一个👍像你学习。感谢分享!
点赞 回复 分享
发布于 2016-09-28 23:18
真大神
点赞 回复 分享
发布于 2016-09-28 23:41
恭喜楼主。请问楼主是腾讯哪里的面试地点啊,我的是在广州
点赞 回复 分享
发布于 2016-09-29 08:46
现在腾讯都只有深圳的岗位了吧
点赞 回复 分享
发布于 2016-09-30 01:14
同样是本科生😂,同样是C++😂,感叹楼主真大神啊
点赞 回复 分享
发布于 2016-10-18 21:08
额,请问滴滴在武汉也有岗位么
点赞 回复 分享
发布于 2016-10-30 18:00

相关推荐

评论
14
264
分享
牛客网
牛客企业服务