深信服22届C++开发实习一面
1.19日,60分钟,本人大三,面试官特别nice
1、自我介绍
2、多态底层怎么实现?为什么基类指针指向派生类对象就能实现多态?底层是怎么做的?
3、构造函数可以为虚函数吗?如果构造函数为虚函数,能够实现多态吗?为什么?
4、析构函数可以为虚函数吗?为什么?
5、如果派生类不重写虚函数,基类指针指向派生类对象,调用的是谁的虚函数?
(问的特别特别深,这块就扯了快20分钟,问到最底层,说是要看看掌握程度)
6、map底层,时间复杂度,红黑树的特性,为什么要有红黑树?
7、vector、list区别,底层内存实现(空间配置器)
8、strcpy存在什么安全问题?手写strcpy并做优化。源码为什么这么实现?
9、memcpy存在的问题,memmove的问题。
(面试官:C++一定要学透底层,不然后面寸步难行,学透了再往技术领域去学习)
10、new/delete和malloc的区别,为什么要有new/delete?
11、计算机网络的一些简单问题,time_wait原因,TCP流量控制,UDP和TCP联系和区别这些。
12、epoll、select细节问题
13、算法:两条单链表的交点
14、反问(我问了C++的技术方向,面试官特别nice,给我讲了特别多他的观点,受益匪浅)