go 语言近期面试总结

Go 篇

  • 说说 context
  • 说说你所知道的 net/http
  • 用 gin 的话一般是用 bind 之类的方法区获取参数,那么如何知道前端有木有传具体的参数,比如有一个 index 参数,如何知道前端其实没传?
  • 你了解 channel 吗?说下你工作中的一个实际案例?如果要实现不固定大小的 channel 并且不阻塞可以实现吗?
  • 知道 GMP 调度原理嘛?说一说?
  • 说说切片和数组

mysql 篇

  • 说说你所知道的关于索引的知识
  • 说下你在工作中是如何调优的
  • 你们工作中用 join 多吗?如果不用 join,在 go 中你用什么方式去组装数据

网络篇

  • TCP 三次握手、四次挥手(并说说为什么需要这么多次,或者说是为什么这样就能保证稳定性)
  • https/http2
  • http 协议组成
  • 知道 fasthttp 框架嘛?
  • 知道哪些加密方式可以对消息进行加密?

消息队列 (都是被问的 kafka)

  • 先说下你所知道的 kafka 的概念:broker、topic、分区、消费者组
  • 为什么 kafka 比 rabbitmq 吞吐量高?

redis

  • 说下你们使用 redis 的场景
  • 你提到了分布式锁,你们是如何实现的?
  • 知道 redis cluster 和哨兵模式吗,说一下?

高并发

  • 缓存雪崩、缓存击穿、缓存穿透及解决方案
  • 为什么会出现 TIME_WAIT 以及 CLOSE_WAIT  ,如果出现大量 TIME_WAIT 该如何解决(某某游戏公司)

算法数据结构

  • 说说你知道的排序算法
  • 知道树的中序遍历嘛?
  • 假如有一堆长短不一的木棍,现在要你去把它们分组,从而达到每个分组的木棍长度和差不多。

K8S+DOCKER

  • 你搭过 k8s 嘛?是怎么搭建的?
  • 说说你是用命令操作的还是其他方式?如果是命令说一下你常用的命令
  • k8s 有什么优势?

你可能感兴趣的:(golang,面试,java)