腾讯Golang开发一面面经

1. Golang中的GMP调度模型是如何工作的?P的作用是什么?
2. Golang的逃逸分析机制是什么?如何进行内存分配优化?
3. sync.Map是如何实现并发安全的?与加锁的map有什么区别?
4. Golang的反射原理是什么?什么场景下应该使用反射?
5. TCP的拥塞控制算法有哪些?BBR算法的工作原理是什么?
6. Websocket协议是如何实现全双工通信的?与HTTP长轮询有什么区别?
7. 什么是零拷贝技术?在Golang中如何实现零拷贝?
8. Linux进程的虚拟地址空间是如何布局的?
9. 什么是CPU的NU架构?对程序性能有什么影响?
10. 容器与虚拟机的本质区别是什么?容器是如何实现资源隔离的?
11. 分布式一致性哈希算法是如何工作的?如何解决节点动态增减的问题?
12. 什么是Paxos算法?Basic Paxos和Multi-Paxos的区别是什么?
13. 分布式系统如何实现服务发现和健康检查?
14. 什么是分布式系统的脑裂问题?如何避免?
15. 如何判断一个数是否为2的幂次方?给出最优解
16. 设计一个算法来统计海量数据中出现次数最多的前K个元素
17. 实现一个循环队列,支持并发安全的入队和出队操作 (手撕)
18. 反问
全部评论
佬 go八股一般在哪看
1 回复 分享
发布于 10-26 12:32 福建
GMP细节求教
点赞 回复 分享
发布于 11-12 18:45 四川
佬怎么又面java又面go还穿插有大模型啊,太强了
点赞 回复 分享
发布于 11-12 10:59 未知
好难啊
点赞 回复 分享
发布于 11-04 20:54 广东
感觉好难
点赞 回复 分享
发布于 10-27 12:57 北京

相关推荐

## redis### 都用过哪些指令?具体一些我的项目中redis除了分布式锁的使用,就剩下一个验证码的存储了,所以我就说了加key、设置key过期时间的### 分布式锁的流程问:拿不到锁的业务怎么办?> 如果别的业务拿不到锁就会自旋or进入队列等待和超时。问:这样的话,会导致并发性能降低,有什么解决方法?> 我不会,瞎说的:用乐观锁和版本控制降低锁的颗粒度。这里同学告诉我setnx就是乐观锁TAT问:redis怎么实现乐观锁?> 依旧不会,于是让我讲了mysql的乐观锁## 项目拷打了很久的项目,甚至让我投屏演示项目,我的docker有个一直卡着没启动好,耽误了10分钟,而且我投屏投错了,让面试官看着空白划鼠标了5分钟,汗流浃背了,好在最后启动成功了,挑了一个接口让我详细讲下如何写的。### 服务发现&负载均衡用的consul和nacos实现的,我自己写了个轮训的算法实现负载均衡,问我还有什么算法,我答了加权,保持最小连接数,urlhash,iphash,最短连接时间### 链路追踪怎么实现的?怎么找到性能瓶颈怎么解决?用的Jaeger,当时死活想不起来叫什么。找到瓶颈后,如果是路由方面的瓶颈,尝试考虑扩容,如果是数据的瓶颈,尝试redis存储热点数据### 测试和保证系统稳定性怎么做的?用的接口管理平台,接口管理平台自带一个压测### grpc+protobuf相比传统的http+json优势在哪?grpc可扩展性很强,再多台服务器部署扩容几乎是无痛的,只要做好服务发现和负载均衡。而protobuf相比json传输效率和压缩性能更强### jwt相比cookie+session优势在哪?我只说出来了jwt的优势,没说出cookie+session的劣势。### 讲一下gmp?协程和线程的区别gmp我讲完后,觉得我只是解释了3个词语分别是什么,没有讲到精髓。我又补充了窃取g,以及p队列初始化和流程,下来查看笔记觉得少答了抢占式调度吧我提到协程锁用户级轻量的线程,切换性能更高,并发性更强,并且由用户调度,对内核无感## 实习经历问我了都做了什么?在实习的不同阶段都有什么不同收获,我没理解面试官的意思,把项目讲到比较细节的部分,他打断我说主要说阶段性的,以周或者月为单位。我就聊了下。## 总结依旧没有按照顺序写,想到什么写什么。拷打了很多项目,我发现我很多时候,用到了xx技术,只是单纯看的教程和找的代码用到了,并不清楚为什么要用,以及相比于同类技术的优缺点在哪,这也是我接下来一个思考的方向,面试官给到了一些压力,也让我认识到了我的不足,八股方面特别是redis的,感谢面试官。
查看12道真题和解析
点赞 评论 收藏
分享
评论
16
60
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务