百度的面试步骤分为计算机基础、go 相关、mysql 相关、redis 相关、linux 相关问题。还有一些发散性的问题。
这一块的话,我回答的是稀碎,算法和数据结构我一个都没答上来,后面两个因为之前面试问到过,所以查过一些,回答的还算可以。
GC,(面 GO 必问题),GC 中 stw 时机,各个阶段是如何解决的。
gpm,(面 GO 必问题),这个必须要完全理解,抢占式调度是如何抢占的,怎么调度 goroutine 的,M 和 P 的数量问题。
如何优雅的实现一个 goroutine 池(这个回答的稀碎)
谈谈内存逃逸
内存管理(这个也回答的稀碎)
mysql 锁,分锁粒度和锁算法(间隙锁、记录锁,临键锁),以及锁算法在什么情况下会用到。大概意思就是如果精准能匹配到的话,用的就是记录锁,否则退化为间隙锁
mysql mvvc 实现原理。
mysql 索引,索引建立时机,建立规则。
mysql 分库分表规则,有没有实践过?
mysql 索引的类型以及索引的数据结构
mysql 事务特性,已经隔离级别。