手记

【第二十一期】知乎社招Golang工程师面经

一面

  • 分布式系统一致性说一下
  • raft算法细节
  • 锁问题,cas,锁的实践?
  • go标准库的mutex介绍
  • bitcask存储模型细节,既然是追加写,那么如何做旧数据gc?重启后索引怎么恢复?
  • LSM tree介绍一下,相比b+ tree如何?
  • 给TIDB代码贡献介绍一下,TIDB里query大概流程?
  • 项目里的map并发怎么做?为啥用分段锁不用sync.map?分段锁拆了几个分片?
  • 内存对其了解吗?
  • 简单介绍一下go的内存分配机制?有mcentral为啥要mcache?答了mcentral是服务所有系统线程,mcache为系统线程独享,mcache缺少span时去mcentral->mheap中取

二面

  • 聊了聊开源贡献
  • redis连环炮,数据结构+哨兵+同步
  • 聊工作项目
  • innodb连环炮index redo undo mvcc
  • 闲聊技术人生问了问组里的工作

hr

  • 聊人生聊发展
0人推荐
随时随地看视频
慕课网APP