【字节跳动】Go岗-热乎的后端面经(四轮已拿offer)

个人情况

211本 工作两年半 一直在写C++

面试部门

字节跳动上海穿山甲团队

面试时间

10.20-11.14

一面

算法题:LRU缓存实现,要求set\get操作o(1)时间复杂度,leetcode有原题

技术问题:

  1. TCP滑动窗口
  2. 浏览器访问baidu.com的过程
  3. https原理
  4. epoll实现原理,和poll的对比
  5. 关于kafka的一个小问题
  6. TCP握手挥手细节(特别细…)
  7. MYSQL存储结构,主键索引和非主键索引在MYSQL中是如何存储、查找的

二面

算法题:一个N位数K,从N位中去掉M个数字,使剩下的数字最大,leetcode有类似题

技术问题:

  1. SQL聚合查询语法(这个忘了竟然- -||)
  2. 一个SQL语句的执行过程
  3. TCP拥塞控制
  4. rb-tree和b+-tree的区别,INNODB为什么用b+-tree
  5. 给了两个事务,问在各种隔离级别下的执行结果
  6. MVCC原理
  7. ACID的涵义,MYSQL是如何保证的

三面(偏业务面)

算法题:单链表排序

(聊了很长时间的项目经验,问了啥问题已经是想不起来了…)
技术问题:

  1. redis sds实现
  2. 缓存失效的几种场景,以及解决方案

四面(leader面)

算法题:二叉查找

技术问题:

  1. goroutine的实现
  2. 缓存雪崩、击穿的解决方案
  3. 如何排查线上程序问题
  4. protobuf为什么快
  5. epoll原理
  6. 分布式系统优缺点,一致性是如何保证的
  7. MYSQL存储结构
  8. CPU寻址过程,cache miss,TLB,页表…
  9. 在linux上执行ls操作系统做了什么(这个在6.S081上看过,刚好会,哈哈)
  10. 职业规划,愿意转go吗

总结感受

  1. 字节面试流程还是比较快的,HR比较积极
  2. 前两轮面试感觉不是特别好,http协议这块是真的不熟悉,说实话前两面给我不过我都是可以接受的,但leader面我觉得可以给自己打个90分
  3. 面试官人都很不错,状态很轻松
  4. 每一轮基本都是自我介绍,项目经验,技术问题,算法题这个流程,每轮时间1个小时,算法题半小时
  5. 字节社招的算法题基本都是leetcode中等以下难度的,我这四轮感觉是2easy 2medium

发表评论

后才能评论