一面 3.6 60min自我介绍拷打项目一些和项目强相关的问题省略为什么要用本地缓存?什么是最终一致性,如果节点宕机了数据丢失了怎么保证?有没有考虑数据迁移的问题项目中的QPS是多少,怎么压测的?用了什么工具八股:项目中用到了kafka,为什么要用,描述一下kafka的架构redis的查询流程redis zset底层数据结构,为什么要用zipList或者listpack, zipList会导致什么问题?说一下listpack里面是存了哪些字段?描述一下跳表的读写流程,分析下时间复杂度MySQL聚簇索引的底层结构是什么?为什么要用B+树,对比一下红黑树,跳表?什么是二级索引?索引在什么情况下会失效, 什么情况下适合用索引?tcp和udp的区别(从面向字节流, 面向连接, 可靠传输三点分析)http底层是基于什么协议?(这题是个坑, 一定要区分版本说tcp or udp)http1.0, 1.1, 2.0, 3.0的区别队头阻塞是怎么产生的?为什么会产生这个问题http3.0是如何解决队头阻塞的?在什么情况下会容易出现队头阻塞的问题?https描述一下流程,CA在其中的作用是什么,证书链的验证过程进程,线程,协程的区别描述GMP(Golang)模型go map的底层实现描述go map渐进式rehash的流程,和redis的流程有什么不同go的sort底层是怎么实现的go的字符串里面Contains是怎么实现的?讲一下KMP算法(忘记了..不确定说会的话是否要手撕)算法:手写堆排序手写快排, 写完问递归实现是否会导致栈深度过深的问题, 附加要求:改成迭代实现二叉树的BFS