日常实习面经
日常实习面经
深信服
岗位:C/C++软件开发
一面(65分钟)
Linux进程调度算法主要有哪些?
大多数进程采用哪种调度方式?
CFS高优先级进程可以被抢占吗?
进程与线程区别?
内核对它们有区分吗?如何实现?
内核线程了解吗,它和用户线程什么区别?它的页表?
内核管理的内容,伙伴系统、slab slab从伙伴系统分配的物理页什么时候发生页表映射的?
vfs、read一个文件的过程 struct file中的file_opration结构体是什么时候确定的?
TCP与UDP的区别?
TCP如何维护可靠传输?
TCP超时重传是如何实现的?网络包丢失和接受方主动丢弃一样吗?
TCP服务器和TCP客户端编程过程 accept返回的套接字和服务端是同一个吗?
单链表删除指定节点 单链表逆序 使用栈来排序 二叉树非递归前序遍历、中序遍历 图了解吗?最短路径?
二面(25分钟)
TCP服务端和客户端编程流程 TCP的TIME_WAIT的作用 listen的参数表示什么?(内核中两个队列,未完成队列的大小) select的底层实现 epoll的触发方式,有什么区别?
水平触发和边缘触发的应用场景 阻塞和非阻塞的区别 同步和异步IO的区别 进程用户地址空间,堆和栈的区别?
用过哪些进程间通讯?
哪种进程间通讯最快?
共享内存有什么缺点?
CPU总线编址方式?
大小端的区别?
为什么有大小端 中断底半步,tasklet、工作队列 简单介绍下项目,项目中的内存管理如何实现?
项目中使用UDP和TCP有什么区别?
应用层如何实现UDP可靠?
和TCP比有什么区别?
HR面(25分钟)
专业有C++的课吗?
做过的项目,在项目中有遇到难题吗?举个例子,怎么解决?
觉得自己技术水平怎么样?怎么证明?
说一下你的三个缺点,有什么例子吗?
说一下大学的时间安排 了解深信服吗?
现在投了哪些公司?如果给你offer,你会拒吗?