明天有个面试,今天就不更新代码了,这里分享本人之前总结的面经和这个项目可能会问的点
自我介绍
开场很重要
项目模块
介绍模块
模块功能
模块分层
细节介绍
epoll
为什么选择epoll
介绍epoll
优缺点
介绍epoll的ET优缺点
介绍epoll的LT优缺点
介绍IO复用,使用场景
介绍异步IO 使用场景 包含那些技术
epoll/poll/select优缺点
三者比较
使用场景如何选择
Socket
socket的生命周期
具体的细节,从函数工作的角度介绍
什么时候服务端accept用户端的fd/handle
listen的参数含义
从创建到销毁经历了什么
过程中内核态与用户态的交互什么时候发生 他们干了什么
服务端有端口号吗,客户端有吗
有缓冲区吗?是什么?
muduo
介绍reactor模型
reactor还有哪些变种(例:one loop one thread)
reactor的具体应用场景 单进程单线程?多进程多线程
介绍preactor模型
preactor有哪些特性
异步IO是什么
高并发
项目里哪里体现了高并发
如何设计线程池
bug调试
bug调试思路,日志,diamagnetic,测试,压测,gdb
C++11新特性
右值引用
完美转发
引用折叠
智能指针
14/17/20特性
future类型
MySQL
索引的底层原理
索引的优缺点
索引的功能
高并发场景怎么处理数据
介绍缓存/redies
redies优缺点
穿透/雪崩/大量失效 的解决办法
介绍bufferpool
使用于数据库的哪个层级
mmap的底层原理 如何实现
使用场景
拓展
Nginx 负载均衡
Nginx在多reactor模型下的作用
常用负载均衡算法
设计模式/设计原则
多线程锁metux
死锁条件
RAII
原子锁
docker dockerfile
web协议
Linux 共享文件
大数据框架
算法
快排
。。。