腾讯一面:
-
协程池的作用?
-
内存逃逸分析?
-
go的内存回收什么条件会触发? go的GC能够手动触发吗?
-
channel的底层实现? 有缓冲的,无缓冲的channel, 如果管道已经关闭了, 读取会不会发生错误?
-
切片使用的时候需要注意什么?
-
go中的参数传递是值传递还是引用传递?
-
defer的执行顺序?
-
100G的文件, 统计出所有英文字母, 按照字母表顺序输出
-
linux如何分割文件?
-
接口性能如何优化?
-
什么情况会全表扫描?
-
主丛同步的原理? mysql还有什么相关的log文件?
-
分布式锁的原理?
腾讯二面:
-
Kafka的消息丢失和消息重复消费。
-
Kafka和Rabbitmq的区别在哪?(架构、推和拉)
-
拉的模式有什么好处(控制消费速度)
-
使用分布式锁的过程中应用挂了?
-
优雅启停+defer
-
使用过期时间+自动续期
-
对象存储和文件存储的主要区别是什么?
-
分片上传是怎么实现的(文件合并hash一致性校验,引出文件秒传)
-
邮箱验证码功能怎么实现的。(redis+邮箱组件)
-
jwt的格式。加密算法、内容、过期时间
-
讲一下defer的原理
-
讲一下map的底层结构
-
map中hash冲突怎么解决(链表、红黑树)
-
讲一下go性能调优的案例(pprof,线程日志)
-
通过线程日志延伸出,怎么看一个线程在线程日志里是卡在循环还是事件等待?
-
线程日志上面会有标记。
-
讲一下mysql的事务隔离级别?
-
解释一下什么是可重复读?
-
事务实现的底层原理?
-
Redis持久化机制(RDB,AOF)
-
为什么持久化的时候是fork子进程处理
-
讲一下docker实现容器的基本原理
-
用过其他容器运行时吗
-
K8s有哪些组件?