面试情况我是实习僧上投了三个岗位,然后第二天就打电话约面试了,约在了后一天。
一面:
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,constvoid*src,size_tlen);(5分钟内完成)
9、你能解释一下,为何要分情况吗?(低址重叠)
10、你这个是按照字节拷贝的,还有更快的方法吗?
10.1、你了解move、forward吗?说说移动和完美转发的实现。
11、数据库了解吗?能简单说说mysql的索引吗?
12、既然提到b+树,那也简单说说b-树吧。
13、AVL树、红黑树了解吗?简单说说(反转、颜色)。
14、那既然红黑树性能好,为啥索引不用红黑树呢?
15、你了解哪些使用红黑树实现的容器?
16、行,我们再写一道题,股票买卖,限制只能买卖一次。
17、如果让你可以无数次买卖呢?怎么做?
18、你有什么要问我的?
二面:
0、简单的介绍一下自己;
1、为什么想要转c++呢?为何选择c++这门语言?
2、写题:leetcode862.(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、你有什么问题问我吗?
...查看全文