好未来后端面经
面试官水平挺高的,408基础比我狂背八股的要深多了,问完问题会给我解答自己想问什么以及答案。 只有一面,需要实习转正。 给我分的岗的业务感觉比较边缘。。。
一面(9.7)50min 面试官挺好的,问完会给出自己的答案以及自己想问的点
项目相关的问题
单核CPU如何执行多个程序?
CPU的流水线设计有了解吗? (忘了)
CPU绑定的操作? (没听过) 意思是一个线程固定在一个CPU上跑,减少切换提高利用率。
URL从输入到响应的流程?
追问:TCP连接除了IP地址还需要什么? 答:端口号
追问:流程在传输层做了什么事情? 答:TCP 、连接管理
追问:流程在网络层做了什么事情? 不懂。 应该是封装报文,把TCP报文封装成IP报文。
追问:TCP有TCP的分段,IP层有IP分片。这两个有什么区别?现在用的是哪个?
区别:一个在传输层一个在网络层,TCP的分段是基于MSS进行分段,MSS是报文传输的最大长度,会根据网络底层的MTU来决定大小,TCP分段后让IP层不在发生分片。 IP层的分片基于MTU来分片,MTU就是1500字节。 因为IP层是不可靠的,所以会在TCP分段来避免IP发生分片,从而保证可靠性。
拥塞控制介绍一下
MySQL是如何保障数据不丢失的?
RedoLog是在内存里吗? 不太关注,乱说一通
为什么要写RedoLog,而不是直接写到B+树里面? 顺序写提高性能,故障恢复。
RedoLog写一半断电了怎么办? 两次写了解吗? 不懂,以为在说两阶段提交,跨服交流了。
MySQL的加锁机制? 主要介绍了间隙锁记录锁临键锁插入意向锁
为什么要锁间隙锁而不是加行锁? 回答了避免幻读。
MVCC的实现机制?
Redis和数据库如何保证数据一致性? 回答了旁路缓存策略。
追问:写数据直接写缓存进去可以吗?为什么还要引入旁路缓存? 因为有数据一致性的问题,两个写入同时执行的时候就有可能发生缓存和数据库数据不一致的情况。
延迟双删了解吗?
如果做一个大流量的网站,单Redis无法承压了如何解决?
算法:lc. 152