分享一个网易go面经
- 自我介绍
- 未来的主要方向
- 介绍下之前的项目用到的优化点、难点
- 为什么不要大量使用goroutine
- gpm模型
- go里面goroutine创建数量有限制吗?
- 线程和协程有什么区别
- golang支持哪些并发机制
- go利用channel通信的方式
- 有缓冲和无缓冲channel的区别
- channel实现原理
- 被close的channel会有什么问题
- 分布式锁知道哪些?用channel如何实现?
- 集群用channel如何实现分布式锁
- 并行goroutine如何实现
- go用共享内存的方式实现并发如何保证安全?
- go的锁是可重入的吗?
- 获取不到锁会一直等待吗?
- 那如何实现一个timeout的锁?
- go切片是如何实现的
- 主要用redis实现哪些功能
- 缓存穿透如何解决
- 常用限流算法
- 令牌桶和漏桶有什么区别
- 不同服务之间通信有哪些方式
- 一次rpc要经过哪些过程
- rpc框架如何做性能调优
- 用过哪些rpc框架
- 说下熔断、限流、降级、雪崩
- 熔断降级知道哪些开源框架吗?
- docker和虚拟机有什么区别
- serviceMash用来解决什么问题的?
- devops相关技术有哪些
本文由 GOLANG ROADMAP 发布!