C++ 深信服创新研究院二面面经
自我介绍
项目介绍
计算机网络
(由于项目和拥塞控制的调度有关,主要问拥塞控制相关)
TCP为什么可靠? 三次握手,流式传输,流量控制,拥塞控制,快重传,确认机制...
TCP什么时候重传? 超时重传或者三次确认
ACK确认丢失了怎么办? 相当于客户端超时重传
TCP传输乱序怎么办? 直接丢弃
Wireshark 抓包
接着问,UDP在应用层构建可靠传输同时要提高效率怎么办?提到类似TCP的处理,因为UDP不是流式传输或许可以建立缓存区缓存某些报文...
Linux&操作系统
IO多路复用是什么,poll和epoll的区别是什么
线程池创建过程
LT模式和ET模式的区别
Webbench的原理 fork子进程,建立连接,单机可能会出现内存不够的情况
fork函数的实现 写时拷贝读时共享
进程的通信方式 有名管道,匿名管道,共享内存,信号,消息队列,socket
如果使用socket TCP接收缓存区一直不读取会怎么办?(这里没想到会问回到网络,有点懵,说是数据会重新覆盖缓存区。其实会将拥塞窗口减小,发生丢包,已经到达的数据就在那里)
进程的通信方式的效率如何 对比了共享内存和管道,管道的重定向需要IO操作
socket的实现原理,如果本地用socket通信方式的效率如何(扣得太细没答上来 = = !)
内核态和用户态(没答好)
socket用户态发送数据会调用到内核态吗?
C++
内联函数和宏定义的区别 聊到了define主要是预处理阶段的文本替换,inline则是对函数的调用,调用效率和内存开销问题
new 和 malloc的区别
函数重载
手撕代码
有序链表的合并
总结
答的一般,简历上写的会问的很深,基本上是聊到什么问什么,发言要慎重 = =!
全部评论
(5) 回帖