前言
笔者情况
1、笔者是本科末流985,今年保研到top2某码农专业的学生,因为下学期没啥事,同时也想转技术方向
c++(原来做的是前端开发),所以打算实习。在这之前在网易有实习半年(前端)
2、因为保研夏令营的事情把leetcode刷了400道题,也看了操作系统,计网啥的然后9月份之后刷了两
primer c++和effective c++,stl 源码解析、linux等。
面试情况
我是实习生上投了三个岗位,然后第二天就打电话约面试了,约在了后一天
一面
0、简单的介绍下自己吧。
1、你原来做web前端开发,了解web后端开发的语言吗?说一说
2、那为什么不用c++做web后端开发呢?
3、那我问一些c++的问题吧,能说说vector、list、queue的实现方式吗
4、vector扩容是怎样的?
5、为何要2倍扩充vector?
6、如果我们顺序访问vector和list,谁快?
7、字节对齐了解吗?为何要字节对齐。如果不对齐,会有什么结果?
8、实现一下memcpy这个函数吧,给你函数声明 void *memcpy(void *dst, const void *src, size_t len);(5分钟内完成)
9、你能解释一下,为何要分情况吗?(低址重叠)
10、你这个是按照字节拷贝的,还有更快的方法吗?
10.1、你了解move、forward吗?说说移动和完美转发的实现。
11、数据库了解吗?能简单说说mysql的索引吗?
12、既然提到b+树,那也简单说说b-树吧。
13、AVL树、红黑树了解吗?简单说说(反转、颜色)。
14、那既然红黑树性能好,为啥索引不用红黑树呢?
15、你了解哪些使用红黑树实现的容器?
16、行,我们再写一道题,股票买卖,限制只能一次。
17、如果让你可以无数次买卖呢?怎么做?
18、你有什么要问我的?
二面
0、简单的介绍一下自己
1、为什么想要转c++呢?为何选择c++这门语言?
2、写题:leetcode 862.(deque实现)
3、说说你的代码思路,运行一下(?!!!,不是说一般不运行的吗)
4、能用双指针实现吗,你实现的复杂度怎么样?
5、我问写c++吧,虚函数了解吗?(继承、多态、虚函数表,bulabula)
6、那虚函数表是在哪个阶段(预处理、编译、汇编、链接)形成的啊?
7、虚函数表存储在哪个地方?(堆?栈?静态区域)
8、纯虚函数了解吗?
8.1、虚函数可以inline吗?可以的话怎么inline。
8.2、inline函数一定会inline吗?
9、c++的内存管理说下?(堆、栈、静态)
10、为何会出现栈溢出的现象?堆为何不会?
11、如果我们声明一个函数,想要里面的变量长期存在,怎么做?
12、什么时候我们用堆、什么时候用栈?
13、简单的说下c++的作用域。
14、const知道吗?
15、说说static。
16、我们来写代码吧,实现一下单例模式。(懒汉模式)
17、简单的说说tcp、udp吧?
18、描述一下流量控制、滑动窗口。
19、GBN和SR在tcp中运用吗?如何运用?
20、说说tcp的状态有哪些。
三面
0、自我介绍一下吧。
1、写一下memcpy?优化?
2、说说ipv4和ipv6
3、分析一下我们在视频面试的时候牛客网需要用到的协议?
(ajax轮询、http、https、dns、tcp、udp、ip、arp、)
这个问题问的很多,各种分析。
4、在main函数执行前,可能有函数可以执行吗?写一下
5、说一下啊gcc的编译选项。
6、你有什么问题问我吗?
hr面
1、你能实习多久。
2、为何选择保研top2某所学校?
3、为何选择这个岗位?
4、你的理解?为何转技术栈?
5、有什么问我吗?
菜鸡能拿到offer真是幸运啊!!!!!