终于找到了Golang面经通关密码!
我就是牛可乐
2024-07-19 00:41:21
✅一、Golang
⭕golang GMP模型
Go 语言的并发模型基于 goroutine 和 Go runtime 的调度器。GMP 模型是 Go runtime 用来管理 goroutine 并发执行的核心机制,其中包含三个关键组成部分:G(Goroutine)、M(Machine)、P(Processor)。
下面是对 GMP 模型的详细解释👇
......
的本地运行队列中窃取 goroutine,以保证工作负载的平衡。
⭕容量为1的channel在什么情况下会堵塞(除了常见的)
⭕多线程同时读写map中不同的key,一个线程只会读写一个key,会发送什么
⭕检查数据竞争
⭕实现了一个web的server,如何设置这个server返回的response的类型,比如说是一个图片一个视频一个json
⭕快速定位死锁
⭕用户从客户端访问一个页面,webserver如何主动的给这个页面推送一个通知
⭕singleflght是使用什么方式去通知其他线程,其他线程怎么阻塞的
⭕不用waitgroup怎么实现这部分
.....
更多内容见文末指路👉
.
✅二、计算机网络
⭕TCP和UDP的区别,TCP的三次握手四次挥手。
⭕TCP的三次握手(Three-way Handshake)
⭕TCP 的四次挥手
⭕protobuf知道吗?thrift了解吗?什么原理?
.
✅三、Mysql
⭕优化过sql吗,数据库是部署在哪里的,讲一个你认为最好的sql优化例子
⭕mysql部署在阿里云上,如何找到最慢的sql语句
⭕用过gorm,如果一张上百万的数据的表,要新建一个字段的索引,如何保证线上的服务尽量少的被影响
⭕MYSQL 索引有什么用?索引的数据结构说一下。什么情况下会失效?
.
✅四、Redis
⭕redis是单线程的还是多线程的?为什么快?适用于什么场景?
⭕redis基本数据类型
⭕redis写回策略你了解哪些?
.
内容来自牛友:马宝男
来源:牛客网
0
阅读:0
孔玄薇
求分享