深信服C++后台研发日常实习一面
刚刚收到深信服二面约面,补一发一面攒人品;
一面是电话面,自我介绍完以后说我的简历好像更适合嵌入式 emmmmm??
- 项目
- 服务器如果挂掉怎么办?(我回答了服务器挂掉会接收到信号,然后更改数据库中用户的状态为离线,面试官让我连接一下守护现场,负责把服务器拉起来)
- STL容器,vector扩容等
- 说到list,问判断是否有环(应该算是口述算法题)
- GDB工具常用命令
- 项目里的日志怎么实现(打印到控制台),接着说如果是晚上出现问题第二天要排错怎么办?(输出到日志文件)
- 怎么查看日志文件?(我答了cat,不过cat在日志特别大会爆,又答了三剑客 awk那些,面试官告诉我tail)
- TCP三次握手(我以为会问两次可不可以结果没问)
- 项目用到多线程了吗,怎么同步(mutex+条件变量)
- 基于项目又出了一个互斥场景题我没答出来,然后问我项目里面是什么部分用互斥了,我答了以后面试官就放了,应该是问的和我使用场景不一样
- 什么是野指针
- 新开辟的空间里面是干净的吗?(我结合内存池答了)
- 了解nosql吗?(我说像redis MongoDB这些,面试官眼睛都放光了问我会不会MongoDB我说不会。。。)
- TCP拥塞算法,具体过程
- C语言的calloc(忘记了)
- 问我常用的排序(冒泡、快排、堆、归并)
- 冒泡时间复杂度,里面一层循环是做什么用的?
- 写过堆吗?口述一下整个过程(heapify那些)
- 函数指针了解吗(类似C++的拉莫达函数,用一个变量去调用函数,结合项目里面利用这个特性实现回调操作) 听到我说回调,标识任可了一下
- 函数指针(不记得了,面试官跟我讲了)
- 项目里面函数一般多少行(我确实没注意过,又问我平常写代码写多少行函数,最后其实是想问我会不会把一个函数模块写的过长)
- 做项目有没有对参数进行校验的习惯(结合项目答了一下)
反问环节:
业务,技术栈
面试官说现在是python和go问我是否介意,下半年主要就迁go了(当然跟我没多大关系,我说思想最重要,语言都其次 /求生欲慢慢)
还有一些不太记得了,整体体验很nice,不会的题面试官还跟我讲,让我下去再看;
当时就讲对我满意让我等二面,我问大概多久,说是还没安排,但是在下周三前,我说好;