字节 Golang 后端实习一面

  1. Golang 初始栈为什么只有 2KB线程栈为什么通常是 MB 级别
  2. sync.Mutex 的实现原理(1.18 前后版本差异 / 饥饿模式)
  3. Golang 中 for range 遍历 slice/map 时,变量的内存地址是否变化?为什么会出现“遍历赋值后值不对”的问题?
  4. Golang 的 interface{}空接口的底层实现?为什么空接口可以接收任意类型?类型断言的两种方式及区别?
  5. 分布式 ID 生成方案?
  6. 高并发场景下,如何保证接口的幂等性?
  7. 场景题:抖音直播间弹幕每秒百万级,如何设计一个高可用的弹幕推送系统?
  8. 手撕每 k 个链表反转