声网C++开发实习生面经

由于前段时间参加比赛的事我决定暂时告一段落,因此我开始准备投递实习,准备投递的岗位是C++开发实习生。5月8号我开始在牛客网、实习僧这两个网站投递简历,然后大概11号左右收到了声网的面试通知,我和HR约的是13号下午三点面试。然后13号面了两轮,当天晚上HR就告知了我面试结果,然后就和我约了三面的时间,也就是14号下午三点。下午面完后大概半小时之后,HR就告诉了我面试通过的结果,真的是非常高效了。先说一下我的背景,合肥某985学校研究生就读,然后参加过两个比赛,做过两个小项目(这个背景真的是非常平平无奇了,扎心)。下面分享一下这次面试问的问题。

13号下午一面的问题:
1、询问竞赛、项目做的时间
2、会不会用Linux环境下一些调试工具
3、为什么要做静态web服务器项目
4、项目、竞赛所用语言
5、介绍聚焦项目中的清晰度算法(感觉前面这些问题都是在针对简历,可能还是判断简历上内容的真伪性)
6、C++几种智能指针介绍
7、shared_ptr循环计数产生的问题以及如何解决
8、编程题:top k问题解决
9、展示Linux下编程、调试环境

13号下午二面的问题:
1、自我介绍
2、select、poll、epoll区别
3、epoll底层原理
4、C++常用知识点
5、RAII(这一点回答的很差,说的不对)
6、智能指针
7、多态
8、多态的实现
9、为什么需要多态(扩展性)(回答了很久没回答到点上,面试官只好告诉我是可扩展性)
10、问我学过设计模式吗(没学过)
11、TCP连接(三次握手、四次挥手详细过程)
12、HTTP和HTTPS区别
13、为什么要安全性更高
14、原理上为什么HTTPS更高
15、进程、线程区别
16、进程、线程间通信方式(不会)
17、线程的内存里有什么(不会)
18、开放题:设计一个系统,异地登录提醒
19、异地登录存数据如何实现(大规模数据)(我说的哈希表+链表,实际上面试官想暗示我哈希表+双向链表,但是我没get,直接自己想了一个数据结构)
20、gdb常用命令(问我如何调用栈、查看变量,实际上就是bt、p)

14号下午三面问题:
1、自我介绍
2、软件精英赛是一个人做的吗
3、显微聚焦项目
4、能实习多久
5、有没有承担实验室项目
6、web服务器里为什么选择epoll边沿复用、线程池实现多线程
7、实际做系统时还会使用epoll边沿复用和线程池吗
8、epoll、select、poll比较
9、自己管理线程和线程池多线程差异
10、撸代码:顺时针旋转90度数组输出(面试官引导半天,但是我还是只写出了最差的实现,就是时间复杂度和空间复杂度为O(n^2)的代码,但是面试官想要的应该是原地实现旋转的方法)
11、vector与二维静态数组的区别
12、二维vector的第一行的最后一个在内存中下一个是第二行的第一个吗

不得不说这次面试收获很多,原来可能不太注重原理这些,但是面试官在问问题时候还是很看重基础和自己的思考的。很多知识点可能光知道是不够的,还需要去思考为什么是这样。而且从这次面试我发现,面试官会根据简历上准备的内容和你在回答时候说的一些点去进行深入提问,因此一定要在平常就打好基础,这一点我做的还不好。面试官很注重个人的思考能力,很多东西都是开放性的,不一定要一个结果,但是希望面试者能有自己的思考。

猜你喜欢

转载自www.cnblogs.com/wyjKeepMoveOn/p/12890482.html