深信服提前批、正式批C++开发工程师 一面,二面面经
7月31投递提前批,8.26收到面试邀请,选择8.27 10点
面试官挺年轻,而且感觉实力挺强,你不会的会耐心等你并给你提示
(40min)
自我介绍
不是计算机专业,你自学了哪些东西
不问项目😂
说一下C++的虚函数和内部实现(虚函数指针和虚函数表)
如果出现菱形继承,b和c继承a,d继承b和c,那么d的虚函数指针是什么样的
在界面开发中,经常出现多继承,C++是如何避免多继承带来的多个虚函数指针的问题(没答上来)
一个类能不能用malloc开辟空间,malloc和new的区别是什么
如何判断一个链表是否有环?如何判断环的入口
哈希表用过吗,哈希表怎么实现的,哈希表如何处理地址冲突,处理冲突最方便的是什么方法
map的底层实现,红黑树的时间复杂度是多少,红黑树和普通二叉平衡树的区别
快速排序的时间复杂度是多少,什么时候是O(n^2)
在一个乱序数组里找到第k大的数,用什么数据结构。(回答大根堆)追问大根堆怎么建堆的,如果有更多的数字,用什么数据结构?(小根堆,但是楼主这块了解不深,有点没答上来)
linux的网络编程学过哪些
Linux查看api的具体使用的指令(man)
poll和epoll(表示还没学到这,尴尬😅)
说出思路:在一个矩阵中,有两个矩形(四个点给出),如何判断两个矩阵是否有交集
手撕代码:实现一个strlen(求字符串长度,传入char *,返回int),要求函数体内不能自定义变量
反问
9月6号 16点二面 面试官很急的样子
30min
上来手撕代码,单链表的冒泡排序(太急写成选择了,人都傻了,后面给面试官说了思路)
问如何捕捉到main函数的返回值(答不太清楚)
问项目
求不凉
9.20号收到感谢信,遂投递正式批
9.22笔试
9.23 一面
自我介绍
手撕代码:实现memcpy,面试官一直问我:你这代码有什么问题?你再想想还有什么问题?给人压力挺大
面试官问的问题比较深入,会一直挖,有点没把握好
为什么struct需要内存对齐?
IO多路复用方法
epoll的ET和LT模式
面试官会就一直追问为什么直到你扛不住为止
9.24 二面
自我介绍
问项目,深挖项目
问平时怎么学习的
问开发项目过程中,出现的印象深刻的问题及解决方案
场景题:海量数据排序(内存有限)
手撕代码:实现快速排序
#深信服##面经##C/C++##校招##C++工程师#