深信服面试 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,我需要在入职之前去学习吗?
②贵公司的培训一般多久?
③培训期间会有淘汰吗?
全部评论
妈呀,深信服还在招啊,时间线好长啊
点赞 回复 分享
发布于 2022-10-19 10:05 江苏
这个很简单的吧。。。 集中学习三个月的学生应该就能答上来吧
点赞 回复 分享
发布于 2022-10-23 13:20 江苏
请问结果怎么样哇
点赞 回复 分享
发布于 2023-07-14 23:08 贵州

相关推荐

评论
点赞
8
分享
牛客网
牛客企业服务