2017暑期实习生前期的面试经历分享,前期比较曲折,腾讯一面跪了,网易一面过了再也没有联系我去二面,真是忧伤。不过好在后来还算顺利,最终拿到了百度和freewheel的暑期实习offer。
百度—后台研发
一面
- 讲项目,讲讲CPU模拟器和验证系统的设计与实现
- 两道算法题:
- 链表存了两个数,数字从0-9,计算两个链表的和,生成一个新的链表
- eg: 1->2->3->4->5
- 6->7->0->1->2
- 结果:7-9->3->5->7
- 注意:只能用两个指针,注意进位问题,单向链表
- 一个数 eg:237834 求由里面的数字组合下一个刚好比他大一点的数
- next permutation ,谷歌上有简易解法
- 链表存了两个数,数字从0-9,计算两个链表的和,生成一个新的链表
- 一个简单的sql语句,用group by,不过我数据库真是忘了差不多了,最终没写出来
- 线程间通信的方式
- makefile 里面的多目标怎么实现
二面
- linux查看进程端口的命令
- netstat -apn
- c++虚函数的实现原理
- malloc和new的区别
- stl中vector的实现原理
- 同步 异步 阻塞 非阻塞分别指的是什么
- 如果解决野指针的问题
- static和const的区别
- 自动化测试框架用过哪些
- poll epoll selecct区别
- key-value数据库如何查询不是key的内容。
- 算法题:大数相乘
三面
这个部分其实就是简单聊聊天啦,面试官主要想看看你的性格和自我驱动学习的意愿与行动力
- 做过的项目
- 做项目的过程中什么时候成长最快
- 遇到最难的问题是什么
- 你喜欢什么,喜欢现在做的项目吗?
- 对于喜欢的学习了什么
- 阅读源代码的速度如何 1W行代码需要多久阅读玩
- 如何在文本中找一个string 两层哈希
FreeWheel—AdServing
freewheel我是直接内推的实习生,所以免去了笔试的麻烦。而且freewheel的面试只有两轮,比其他公司3轮的面试轻松一点,相对来说外企问得问题也简单,不过对英文的要求会高一些。
一面
- 讲项目
- epoll
- http协议的头部格式 ps:我只重点记忆了TCP/DUP的格式,http真是想不起来了……明明之前看过的深入理解计算机系统上有讲过…
- c++与c不同的部分
- c++面向对象
- c++泛型编程
- c++ STL库
- 程序的内存布局
- 分段分页机制
- c++有哪些构造函数,移动构造函数发生了什么
- fork的时候发生了什么,进程的写时复制
- 算法题:反转一个list
二面
- 用英文介绍以前做过的项目
- c++的类型转化方式有哪些
- static_cast<>等
- reinterpret_cast把一个int转化为float会发生什么
- 删除一个vector中的某些元素
- 两个指针 一个指向头部,一个指向尾部
- vector的实现原理
- sizeof(vector())是多大
- strcpy和memcpy哪个效率更高
- 算法题:三个有序数组合并成一个有序数组。
总结
- 外企的面试难度会比国内的互联网公司低一点,但是对英文的要求比较高,毕竟工作环境是英文的
- 多面试啊多面试,经验多了还是很有用的
- 在面试官让你写算法题的时候,一定要多和他沟通,明确输入是否可以改变,排序的元素是什么类型的等问题。还有注意delete你new在堆上的内存。