l面试题相关
一.mysql
1. 聚簇索引
https://blog.csdn.net/zhizhengguan/article/details/120834883
2.事务隔离级别
https://juejin.cn/post/6844903808351338509
3.事务四大特性
https://blog.csdn.net/weixin_48016395/article/details/123560224
4.explain
https://www.cnblogs.com/tufujie/p/9413852.html
5.mvvc
https://zhuanlan.zhihu.com/p/52977862
6.offset
https://www.muzhuangnet.com/show/43306.html
8.综合
https://blog.csdn.net/qq_36756682/article/details/123738990
9.Mysql为什么使用B+树
https://blog.csdn.net/qq_24251607/article/details/124530656
10. b树和b+树区别
https://blog.csdn.net/Beyond_Xuz/article/details/105082122
11.完全二叉树和满二叉树
https://blog.csdn.net/weixin_44436675/article/details/119535746
kafka 简介
1 | https: //blog.csdn.net/m0_65931372/article/details/125971395 |
rabbitmq 延迟队列,死信队列
https://blog.csdn.net/qq_20569267/article/details/106607634
WebSocket、HTTP 与 TCP
1 | https: //blog.51cto.com/u_15283585/5157071 |
go 面试题
https://www.topgoer.cn/docs/gomianshiti/gomianshiti-1dd225t6esqld
go 语言题库
https://github.com/polaris1119/golangweekly
垃圾回收算法:
1 | https: //blog.csdn.net/xiaodaoge_it/article/details/121890145 |
内存逃逸
https://blog.csdn.net/inthirties/article/details/125678076
go 专家编程
http://books.studygolang.com/GoExpertProgramming/FOREWORD.html
go slice和切片的区别
golang 中 make 和 new 的区别
go channel 使用场景
https://www.jianshu.com/p/a1310e0b6757
docker
http://t.zoukankan.com/birdstudio-p-8397670.html
redis rdb,aof 持久化策略
https://blog.csdn.net/tianyu_yunlong_1/article/details/123014228
redis 主从同步原理
https://blog.51cto.com/course/5750332
HTTPS加密协议详解
https://blog.csdn.net/m0_45861545/article/details/120750536
基础相关:
1、golang 中 make 和 new 的区别?(基本必问)
2、数组和切片的区别 (基本必问)
3、for range 的时候它的地址会发生变化么?
for 循环遍历 slice 有什么问题?
4、go defer,多个 defer 的顺序,defer 在什么时机会修改返回值?(for defer)
defer recover 的问题?(主要是能不能捕获)
5、 uint 类型溢出
6、介绍 rune 类型
7、 golang 中解析 tag 是怎么实现的?反射原理是什么?(问的很少,但是代码中用的多)
8、调用函数传入结构体时,应该传值还是指针? (Golang 都是值传递)
9、silce 遇到过哪些坑?
10、go struct 能不能比较?
11、Go 闭包
Context 相关:
1、context 结构是什么样的?
2、context 使用场景和用途?(基本必问)
Channel 相关:
1、channel 是否线程安全?锁用在什么地方?
2、go channel 的底层实现原理 (数据结构)
3、nil、关闭的 channel、有数据的 channel,再进行读、写、关闭会怎么样?(各类变种题型)
例如:go channel close 后读的问题
向为 nil 的 channel 发送数据会怎么样?
4、向 channel 发送数据和从 channel 读数据的流程是什么样的?
Map 相关:
1、map 使用注意的点,并发安全?
2、map 循环是有序的还是无序的?
3、 map 中删除一个 key,它的内存会释放么?
4、怎么处理对 map 进行并发访问?有没有其他方案? 区别是什么?
5、 nil map 和空 map 有何不同?
6、map 的数据结构是什么?是怎么实现扩容?
7、map 取一个 key,然后修改这个值,原 map 数据的值会不会变化
GMP 相关:
1、什么是 GMP?(必问)调度过程是什么样的?(对流程熟悉,要求更高,问的较少)
2、进程、线程、协程有什么区别?
3、抢占式调度是如何抢占的?
4、M 和 P 的数量问题?
5、协程怎么退出?
6、map 如何顺序读取?
锁相关:
1、除了 mutex 以外还有那些方式安全读写共享变量?
2、Go 如何实现原子操作?
3、Mutex 是悲观锁还是乐观锁?悲观锁、乐观锁是什么?
4、Mutex 有几种模式?
5、goroutine 的自旋占用资源如何解决
6、读写锁底层是怎么实现的?
同步原语相关:
1、知道哪些 sync 同步原语?各有什么作用?
sync.pool 问的相对多些
2、sync.WaitGroup
并发相关:
1、怎么控制并发数?
2、多个 goroutine 对同一个 map 写会 panic,异常是否可以用 defer 捕获?
3、如何优雅的实现一个 goroutine 池(百度、手写代码)
4、select 可以用于什么?
5、主协程如何等其余协程完再操作?
GC 相关:
1、go gc 是怎么实现的?(必问)
2、go 是 gc 算法是怎么实现的? (得物,出现频率低)
3、GC 中 stw 时机,各个阶段是如何解决的? (百度)
4、GC 的触发时机?
内存相关:
1、谈谈内存泄露,什么情况下内存会泄露?怎么定位排查内存泄漏问题?
2、知道 golang 的内存逃逸吗?什么情况下会发生内存逃逸?
3、请简述 Go 是如何分配内存的?
Channel 分配在栈上还是堆上?哪些对象分配在堆上,哪些对象分配在栈上?
4、介绍一下大对象小对象,为什么小对象多了会造成 gc 压力?
5、堆和栈的区别?
6、当 go 服务部署到线上了,发现有内存泄露,该怎么处理?
微服务框架
1、go-micro 微服务架构怎么实现水平部署的,代码怎么实现?
2、怎么做服务发现的
k8s:
其他:
1、go 实现单例的方式?
2、项目中使用 go 遇到的坑?
3、client 如何实现长连接?
posted on 2022-09-24 22:04 running-fly 阅读(50) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-09-24 mongodb 已有文档添加字段