当前位置: 首页 > 面试经验 >

深信服面试 C++软件工程师

优质
小牛编辑
93浏览
2023-03-28

深信服面试 C++软件工程师

简历项目经历写的全是实课的东西,本人是电科本科学生。所以可能这些项目与岗位无关,也可能是因为水准太低,就没问项目。
本人菜坤一只,以下回答并非正确答案,只是我是这么答的
1.对内存对齐的理解?
结构体的每一个对象的偏移地址必须是自身长度的整数倍,且结构体的大小必须是其对象里的最大长度的整数倍因为如此,就会存在空位,从而需要补齐。
1.2追问)那么,为什么要对齐呢?
节省读取时间。
1.3追问)请问如何节省时间呢?
巴拉巴拉扯一些,发现撤不出来了,停顿一会儿,抱歉,老师,我不会。
1.4追问)那么,以你的理解呢?
刚才就是照着我的理解说的。
2.数据结构有那些算法?
(想了一会儿,脑袋里就出现一个〈低阶丝特拉,拟声词〉,其他一时间想不出来,也不知道具体实现)老师抱歉,我忘了。。。
3.二叉树的遍历方法?
先序遍历,后续遍历和中序遍历。
3.2追问)如何实现呢?
递归吧,就比如先序遍历在函数中输出父结点,在调用两个同名函数,参数分别为父节点的子节点。
3.3追问)除了递归,还有什么方法吗?
(犹豫一番,想不出来)理论上既然可以递归,那就可以用堆,但我一时间想不出来如何实现。
3.4追问)那如果想要二叉树一层一层遍历呢,你能实现吗,怎么实现?
(犹豫)不会。
4.c++要用c语言编译,实现方法? 随便根据自己的理解扯了一下 extern“C”。
5.多态的实现?
①父类和子类同名虚函数,父类指针指向子类地址是,会调用子类函数。
②同函数名,不同参数表,调用函数时,会根据参数执行对应的函数。(反正我就是这么理解的)
5.2追问)同函数名不同参数的底层怎么实现的呢?
c++编译时函数表为参数类型加函数名字,根据这个类型的不同,实现不同函数。
5.3追问)你所说的参数类型加函数名这一步在什么时候得到的呢?(大概是这个意思)
嗯,预编译阶段吧。
6.写个程序,含n个数字的数组,找到最大的两个?
我写了,实现了。时间复杂度2*n。
6.2追问)有没有什么方法优化时间复杂度呢,因为数据多的时候,对视间复杂度很高? 我优化了一下,变成n。
7.反问阶段
①好多c++软件都要求Linux,我需要在入职之前去学习吗?
②贵公司的培训一般多久?
③培训期间会有淘汰吗?
 类似资料: