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 简介

https://blog.csdn.net/m0_65931372/article/details/125971395

 

rabbitmq  延迟队列,死信队列

https://blog.csdn.net/qq_20569267/article/details/106607634

 WebSocket、HTTP 与 TCP

https://blog.51cto.com/u_15283585/5157071

 go 面试题

  https://www.topgoer.cn/docs/gomianshiti/gomianshiti-1dd225t6esqld

  go 语言题库

https://github.com/polaris1119/golangweekly

 垃圾回收算法: 

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.什么是operator

 

其他:

1、go 实现单例的方式?
2、项目中使用 go 遇到的坑?
3、client 如何实现长连接?

posted on 2022-09-24 22:04  running-fly  阅读(41)  评论(0编辑  收藏  举报

导航