Skip to content

Latest commit

 

History

History
23 lines (22 loc) · 1.24 KB

面试问题.md

File metadata and controls

23 lines (22 loc) · 1.24 KB

面试被问过的问题

  • 介绍一下这个项目(几乎是必问的)
  • 定时器是怎么实现的?还有什么实现方式?
  • 实现一个无锁队列(用原子操作)
  • eventfd是什么?有什么好处?
  • 双缓冲区异步日志是什么?为什么要这样做?对这个日志系统有没有进行压力测试?
  • 什么是优雅关闭连接?(就是read()到0,要透明的传递这个行为而不是直接暴力close())
  • epoll的边沿触发和水平触发有什么区别?(epoll的源码并不长,从源码的角度回答比较好)
  • epoll为什么高效,相比select和poll
  • HTTP报文都有哪些字段?
  • 假如服务器要升级,又不想让用户感觉到服务器升级了,该怎么做?(其实就是不间断的提供服务,参考nginx的平滑升级)
  • 有没有实现内存池?
  • 一个请求到来具体的处理过程是怎样的?
  • 线程的唤醒还有哪些方式?
  • 怎么检查内存泄漏的?
  • 用到了哪些智能指针和RAII机制,几种锁的区别是什么
  • 任务队列是怎么实现的,除了加锁还有什么方式?
  • 如何解决死锁?
  • 怎么进行压测的?
  • 为什么要用非阻塞io?
  • 为什么要做这个项目?
  • Reactor模式是什么?