lz19年毕业,出来看看机会,给写go的朋友们分享一下面经~

  • 最右APP 2技术1hr 已offer

    • 一面
      1. 工作项目
      2. 比较有成就感的产出
      3. redis相关,网络模型,存储模型,常用数据结构等
      4. 缓存穿透解决方案
      5. 分布式系统 CAP
      6. 工作项目中以及其他共识算法
      7. raft算法细节(选主 复制 脑裂 balabala)
      8. mysql索引相关,数据结构,优化,优缺点等
      9. 主键需要保证的特性以及为什么这样做
    • 二面
      1. 场景题: 某个下游服务的接口并发量大应该如何解决?
        • 给出了一个复用资源(池)的思路,
      2. 追问:引入池后会出现哪些问题,如何预防?
      3. 聊工作项目,很多问题基于项目问的
    • hr
      1.聊人生
  • 知乎 2技术1hr 已offer

    • 一面

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

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

      1. 聊人生 聊发展
  • 快手: 4轮技术1hr 口头offer 备胎

    • 一面: (欢乐局
      1. 看你简历大学有竞赛经历,算法都懂吧?
        我:了解
        面试官:嗯,了解就不问了
      2. raft算法懂不?
        我: 懂
        面试官:嗯,懂就不问了
      3. 讲讲tidb
      4. 讲讲newsql
      5. 项目吞吐量,怎么优化的性能?
      6. 工作有啥亮点?产出? 共识怎么做的?
    • 二面:(组长人超级nice!!! 还帮忙问进度!!!
      1. mmap操作原理
        答: 1.内存映射 2.逻辑/物理地址转换 3. 程序访问触发缺页中断 4. 调页
      2. 追问:mmap的问题?
        答了内存过大时会出现频繁的页面置换 影响效率
      3. tidb项目介绍 sql parser做了啥? planner做了啥?
      4. 讲 epoll
      5. 进程线程区别(刨根问底式
      6. 各种OS问题
      7. 虚拟内存, 缺页置换? MMU?
      8. 写个代码 (忘了问啥了
    • 三面:
      1. 项目介绍
      2. 设计一个kv存储
      3. 说一下你理解的共识算法
      4. 说一下多路复用
    • 四面:
      1. 项目介绍
      2. 直接io与mmap区别?
      3. 分布式系统保证数据一致性?
      4. redis主从怎么做的数据一致?
      5. redis哨兵?
      6. 讲讲排序算法 优缺点
      7. http连环问题 tcp连环问题 长链接短链接
      8. http header 干啥用的?
      9. 写个代码 dijkstra模版题(用go写可真费劲
    • hr
      1. 大学做过自豪的事
      2. 一堆小问题
  • 度小满 二面挂

    • 一面:
      1. linux命令
      2. go性能调优怎么做的?
      3. sql注入怎么防?
      4. redis zset使用场景?
      5. zset底层实现
      6. 跳表的细节?
      7. go 中 sync.map
        答: cas + dirty map + read map
      8. 打乱一个数组,不用rand
      9. 两个队列模拟栈
    • 二面:
      1. 聊项目
      2. 没了
  • 头条

    • 一面:
      1. 写代码
      2. 如何做服务发现
      3. 微服务乱七八糟
      4. 写代码
    • 二面:
      1. 写代码
      2. 没了
  • 总结: 知乎面试体验最好,真的是在和求职者认真的沟通交流,发offer也是飞快,快手的技术面体验也不错,面试官会根据你擅长的方向来提出问题,不会张口闭口的微服务云原生,但是快手的hr真的一言难尽,给了口头offer提了工资流水以后发消息不回复,面试时间也给我排错了,人家面试官主动给我打的电话... 头条面试体验最差

最后感谢一下帮忙内推的朋友,疫情期间求职不易,万分感谢!!

#社招面经##快手##社招##面经##知乎##度小满##golang工程师#