深信服后端实习一面、二面
一面
面试官很年轻,看上去刚毕业没几年,人特别好,看我答不上来就说没事,我们可以换一个问题。
上来先自我介绍,然后开始问项目。
我有个项目是OS相关的,面试官好像很感兴趣,问得很深,到后面已经被问懵了
缺页后从哪里调页?C++多态有哪些实现方式?一个int*指针占用多大空间?指针和引用的区别?
TCP关闭连接的过程。答了4次挥手,说完后继续问"为什么要等待2MSL",我答完后面试官说不对,但我感觉自己没记错,继续含糊解释了几句,好像最后还是没说准确
手撕代码:非递归实现二叉树前序遍历。最轻松的环节
思维题:给一个函数,有p0概率返回0,p1概率返回1,p0+p1=1,利用这个函数,实现一个函数使得有一半概率返回0,一半概率返回1
我想的是调用两次,如果两次分别是01就返回0,是10就返回1。面试官说如果是00或11怎么办(结束后才想到可以反复调用直到出现01和10,当时人已经有点懵了),我直接傻了,低头沉默,最后无奈说没想出来。
反问环节,略。
结束后以为凉透了,因为很多地方答得不好甚至没答上来。一小时后收到二面,太惊喜了
二面
自我介绍,然后也是问OS的项目,这次我有准备了,所以全程答得比较自如。
C++相关:
说一下归并排序的思路。比较一下归并排序和快速排序。
调用STL库里的什么函数可以对vector排序?答:sort
sort的底层排序原理是什么?我说的快速排序,结束后查了才知道有快排,堆排,插入排序三种
vector,list,map这三个都可以用sort进行排序吗?我说list不可以。map我不清楚,于是说map本身就是有序的,含糊过去了
map可以自定义排序规则吗?可以,在声明的时候自行实现比较函数。
重载和覆盖有什么区别?说了下重载,不知道覆盖什么意思,经面试官提醒才知道就是重写,但是也不太熟,乱扯了几句
手撕代码:
给一个int数组,调换数组元素的顺序,使之组成的整数最大,比如[1,5,15,9],调整成[9,5,15,1],组成"95151"。
从高位开始比较取最大的即可,秒了。
结果可以用整数类型存吗?为什么?不可以,因为结果太大的话会溢出。
反问环节,略。
5.18更新:挂了🤣(显示“暂未能进入流程下一阶段”)
#面试复盘##实习##面经##C/C++##深信服##后端开发#