菜鸟的深信服提前批一面
首先自我介绍
介绍下项目情况,和自己负责什么
项目中用到哪些技术?数据结构、算法、网络编程、多线程什么的
平时用Linux还是windows?用什么写程序?VS 如何debug多线程
又问了一些线程问题(基本都不会,八股文救不了我)
网络编程问了一些,诸如服务器要收发有那些步骤,调用哪些函数,还是不会
啥都不会只好问C++了
c++内存有哪些种类?
堆是干什么的?
new出来的对象,使用delete时它怎么知道这个内存的大小?没答出来,然后问如果是你来设计会怎么设计?
new的对象使用delete [ ] 删除行吗,为什么?new 的数组使用delete删除可以吗,为什么?
static关键字的作用
哪些函数不能设定为虚函数
最后是口述算法,问时间复杂度
1.用栈实现队列,具体怎么做,怎么写入队列,怎么取出
2.1亿个数找最小的1000个,这个没答出来,分组排序,冒泡1000,然后面试官问了解堆吗?问了一些堆的实现细节,让我反过来看这道题,我才想起用大顶堆。
3.两个数组的交集
算法题其实都是基础题,自己基础太差了,每个都是从暴力算法说起,面试官循循善诱才答出来。只能加把劲学了