【小米】Go岗-开发校招一、二面面经

一面

  • 自我介绍
  • 深挖实习经历
  • TCP/IP 四次挥手
  • TCP 拥塞控制和流量控制
  • 网络通信双方的流程
  • socket 如何标识
  • 怎么算 QPS?
  • 二进制的原码反码补码
  • 程序的“压栈”、“出栈”怎么理解
  • 从现在的视角看,你觉得你的项目有哪些不足,技术方面可以如何改进?
  • channel 在哪些场景下使用会 panic?
  • golang 源码
  • go 里的 syncLock 和 channel 的性能有什么区别吗?
  • GPM 模型
  • 什么情况下 M 会进入自旋的状态?
  • Linux 经常使用的命令;awk 用过吗
  • 进程、线程、协程的区别
  • 手撕代码

二面

  • 自我介绍
  • 深挖实习项目
  • React / Vue 等前端框架的区别
  • Golang 内存分配的实现
  • Golang 怎么在并发编程中等待多个 goroutine 结束
  • Golang slice 不断 append,是如何给它分配内存的
  • 介绍一下对缓存的理解
  • 内存分配的不同方法的优缺点
  • redis 的数据结构
  • set、list 等的使用场景
  • zset 的原理与使用场景
  • Linux 查看一个端口的运行情况
  • Linux nginx 日志文件找出现次数最多的 ip
  • 手撕代码
  • 反问

发表评论

后才能评论