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