滴滴后端面经回忆
先说算法题:
一面:计算岛屿数量
二面:手写线程安全的单例模式
三面:lru cache
三面主要是聊人生聊理想,然后问到了几个场景问题,比如负载均衡怎么做,缓存击穿怎么办,十亿个数找top100,
二面面试官很耐心的引导,他可能是做网络的,问到了非常多网络相关的东西
1.TCP套接字的过程,listen底层做了什么,accept底层做了什么
2. IO多路复用
3. 我项目当中用的udp协议传输,为什么用udp,udp相对于tcp的好处
4. 如果让你设计一个基于udp的可靠传输算***怎么做
5. tcp是怎样保证可靠关闭的
6. tcp的拥塞控制
7. 网卡中断信号
8. 同时打开的tcp连接最多能有多少个,受哪些因素限制。
9.了解协程吗
一面主要以基础问题和OS为主
1. 解释const,static
2. 智能指针,weak_ptr为什么可以解决循环引用问题
3. 浅拷贝和深拷贝
4. 虚拟内存机制
5. 页表是线程共享的吗?TLB呢?
6. 让我写了匹配网址,匹配ip地址的正则表达式(项目里面说到过清理数据用了大量的正则表达式),grep命令
7. i++是原子操作吗
8. 线程之间的同步方式
9. free命令,swap分区是什么意思,buffer,cached分别又是什么
10. netstat
11. 数据库事务ACID