1、tcp与udp的区别
2、udp调用connect有什么作用?
3、可靠UDP编程。(eg::KCP)
4、tcp连接中时序图,状态图。
5、TIME_WAIT状态
tcp结束连接怎么握手,TIME_WAIT状态是什么,为什么会有TIME_WAIT状态?哪一方会有TIME_WAIT状态,如何避免TIME_WAIT状态占用资源(同理,CLOSE_WAIT)
6、tcp头多少字节?哪些字段?
7、拥塞控制和流量控制的区别?(Nagle算法,滑动窗口等等)
8、connect非阻塞编程如何实现?
9、如果select返回可读,结果只读到0字节,什么情况?
10、keepalive如何理解(tcp的,http的,应用层心跳heart-beat)
11、列举你所知道的tcp套接字选项,并说明其作用。
(SO_LINGER、SO_KEEPALIVE、SO_SENDBUF、SO_RECVBUF、SO_RESUEADDR、SO_REUSEPORT)
12、socket什么情况下可读/可写?
13、tcp socket什么情况下表示对端关闭
14、backlog的作用?
15、多进程监听同一个端口?
16、http
http1.0,http1.1,http2.0,https的区别? https的加密原理/请求过程?
17、CGI和FastCGI的区别?
18、http怎么实现的断点续传?
19、大规模连接上来,并发模型怎么设计
20、EWOULDBLOCK EAGAIN EINPROGRESS等errno的含义
21、epoll
epoll的内核实现;epoll和select的区别;epoll的LT和ET模式的区别;epoll的ET模式怎么编程判断读完(EAGAIN);手写epoll echo;