9.20 1h15min无自我介绍项目介绍并深挖 10min语言部分rust和go有什么区别(项目用rust)rust怎么做内存管理go怎么做内存管理go怎么做gc三色分别代表什么gc过程中的安全点是什么goroutine和线程什么区别go的gmp模型g的底层结构是什么g如果阻塞会发生什么要读一个文件的话 整个gmp模型的流程是怎么样的groutine被挂起以后要保存什么内容栈信息里面具体会存什么东西如果goroutine运行着一个函数a,a里面有个变量c,a里面有个子函数b调用了这个变量c,那goroutine挂起的时候,这个变量c会被刚才说的保存栈信息一样保存起来吗协程的栈扩容机制是怎么样的栈扩容的时候会改变什么指针的指向还了解哪些编译器优化技术网络部分http和https什么区别https的加密过程是怎么样的客户端怎么验证服务端的证书是可信的数据库mysql的索引有哪些为什么要用b+树为什么最好不要用uuid当主键为什么uuid不是递增会影响插入效率 具体是在哪几步会影响 怎么影响mysql有哪些隔离级别读已提交和可重复读有什么区别 各自怎么实现的现在要做一个转账操作,具体要考虑哪些东西,一步步的来(验证账户有效性,余额是否充足等等)mysql事务怎么保证原子性的事务具体是怎么回滚的redisredis怎么实现分布式锁为什么一条命令就可以实现加锁,不会冲突吗zset的底层是什么为什么要用跳表不用普通的链表 时间复杂度是多少redis持久化机制aof过大的话会触发什么算法合并两个有序链表 链表中每个元素有两个域,一个是time,一个是value 同一个链表中本身会有time重复的数据。要求合并后的链表time相同的话value要相加,且合并函数要无副作用面试官问怎么理解无副作用(答 不修改原来入参的链表)