网络通信面试题目总结

一、技术面试中常见的网络通信细节问题解答

  1. TCP/IP协议栈层次结构
  2. TCP三次握手需要知道的细节点
  3. TCP四次挥手需要知道的细节点(CLOSE_WAIT、TIME_WAIT、MSL)
  4. TCP与UDP的区别与适用场景
  5. linux常见网络模型详解(select、poll与epoll)
  6. epoll_event结构中的epoll_data_t的fd与ptr的使用场景
  7. Windows常见的网络模型详解(select、WSAEventSelect、WSAAsyncSelect)
  8. Windows上的完成端口模型(IOCP)
  9. 异步的connect函数如何编写
  10. select函数可以检测网络异常吗?

二、你问我答环节1

  1. epoll的水平模式和边缘模式
  2. 如何将socket设置成非阻塞的(创建时设置与创建完成后设置),非阻塞socket与阻塞的socket在收发数据上的区别
  3. send/recv(read/write)返回值大于0、等于0、小于0的区别
  4. 如何编写正确的收数据代码与发数据代码
  5. 发送数据缓冲区与接收数据缓冲区如何设计
  6. socket选项SO_SNDTIMEO和SO_RCVTIMEO
  7. socket选项TCP_NODELAY
  8. socket选项SO_REUSEADDR和SO_REUSEPORT(Windows平台与linux平台的区别)
  9. socket选项SO_LINGER
  10. shutdown与优雅关闭

三、你问我答环节2

  1. socket选项SO_KEEPALIVE
  2. 关于错误码EINTR
  3. 如何解决tcp粘包问题
  4. 信号SIGPIPE与EPIPE错误码
  5. gethostbyname阻塞与错误码获取问题
  6. 心跳包的设计技巧(保活心跳包与业务心跳包)
  7. 断线重连机制如何设计
  8. 如何检测对端已经关闭
  9. 如何清除无效的死链(端与端之间的线路故障)
  10. 定时器的不同实现及优缺点

四、你问我答环节3

  1. http协议的具体格式
  2. http head、get与post方法的细节
  3. http代理、socks4代理与socks5代理如何编码实现
  4. ping
  5. telnet

你可能感兴趣的:(面试准备)