https://www.javatpoint.com/go-programming-interview-questions
https://www.fullstack.cafe/blog/go-interview-questions
https://www.educba.com/go-interview-questions/
Go进阶面试题
- 阿里面试:“说一下从 url 输入到返回请求的过程”
- DNS:
- 其它
- 根对象到底是什么?
- 有了 GC,为什么还会发生内存泄露?
- 并发标记清除法的难点是什么?
- Redis线程模型
- Redis是单线程的,如何提高多核CPU的利用率?
- 你知道有哪些Redis分区实现方案?
- https的认证过程
- tcp连接time_wait的作用
- server端出现大量TIME_WAIT状态的连接的原因
- 大量TIME_WAIT和CLOSE_WAIT的存在,会产生怎样的影响
- Redis如何做内存优化?
- Redis回收进程如何工作的?
- 不使用索引的原因列举
- 索引创建注意点
- STW 是什么意思?
- 三色标记法是什么
- B树和B+树区别
- 聚集索引与非聚集索引
- 非聚集索引一定回表查询吗(覆盖索引)?
- 使用过 Redis 分布式锁么,它是什么回事?
- 假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?
- 以下来源
redis常见问题:
redis的数据类型有哪几种,你们用了哪几种,是怎么用的
redis string类型的底层数据结构是怎么样的?
redis为什么快
redis是怎么实现原子性的(腾讯云问的)
redis为什么要用单线程,最新的redis 6.0用了多线程,是怎么实现的,你了解吗?
redis的跳表了解吗,数据结构是怎么样的,查询的时间复杂度是多少
你们的redis是哨兵模式还是集群模式,具体是怎么配置的,了解吗?
redis的分布式锁用过吗,怎么用的?
redis单实例的QPS是多少,有测过吗?最新的6.0 QPS多少知道吗?
redis的大 key 多大算大?单个redis实例建议多大内存?
写时复制了解吗,在redis哪里用到了?在计算机的哪些场景或者算法里有用到?(腾讯云问的)
redis的网卡如果被打爆了,怎么办?redis缓存和本地缓存是怎么配合使用的,数据的一致性是如何解决的?(好未来架构师问的) - mysql:
你们mysql引擎用的什么?mysql innodb的索引是怎么实现的?为什么用B+树,优点是什么,与B树的区别是什么?
B+树索引的最底层单元是什么?什么决定了B+树的高度?B+树的叶子节点是单向链表还是双向链表?
怎么加索引,索引什么情况下失效,联合索引什么时候失效,覆盖索引了解吗?
为什么不用uuid做主键,影响的写入性能还是读取性能?如果业务上能保证唯一性,那么还需要建唯一索引吗?会影响写入性能吗?
mysql的隔离级别有几种,默认的隔离级别是什么,互联网常用的隔离级别是什么?
ACID了解吗,mysql是用什么机制保证的,redo log和undo log说一下
MVCC是什么,是如何实现的,算法说一下?
幻读是什么意思?mysql是怎么处理幻读的?间隙锁了解吗?唯一索引有间隙锁吗?
锁分哪几种,行锁是锁在哪里的?
mysql 主从同步的过程是什么样的
mysql的高可用是怎么做的
慢查询怎么处理?explain的type有几种类型,你常见的有哪几种?
你们的mysql数据量有多大,如何分库分表,分库分表以后如何查询,如何做分布式事务
怎么优化mysql
了解TiDB吗,TiDB是如何实现的 - kafka:
事务消息了解吗,rocketmq的事务消息是怎么实现的?
kafka是如何保证不丢消息的
kafka为什么快? 零拷贝说一下,零拷贝有几种实现?
kafka的IR和高水位是什么意思,说一下
kafka主要解决什么问题,你们项目里是怎么用的
kafka如何保证消息的有序性
kafka如果消息堆积了如何处理 - 项目:
介绍一下你们的项目
你们项目的服务对象是谁,解决了他们的什么问题
你们的并发量多大,高并发是如何解决的
画一下你们项目的架构图
你们项目里的难点,优点,有什么可以改进的地方 - 管理:
你是怎么控制项目进度的
你觉得怎么定义工作的成功 - 网络:
TCP三次握手,四次挥手说一下。为什么需要三次握手,最后一次如果没有行不行,会有什么问题?TIME_WAIT的作用是什么?2MSL是多长?线上大量的close_wait和time_wait该如何解决?
http2.0的优点说一下。了解QUIC吗?怎么实现的?
https的握手过程说一下。证书是如何验证的?为什么不用非对称加密通信?
浏览器输入一个url到返回,整个过程说一下,都用到了哪些协议?浏览器的渲染过程了解吗?
一台服务器最多可以建立多少个TCP链接,为什么? - Linux:
常用的命令有哪些
怎么查看端口占用情况,怎么查看进程打开了哪些文件
如何查看内存,如何查看磁盘,du是什么意思
linux的文件系统了解吗,inode了解吗
线上服务器问题如何排查。cpu loader average什么意思,cpu利用率什么意思 - Nginx:
location的优先级是什么样的
kubernetes
kubernetes有哪些组件
kubernetes调度一个pod的整个流程是怎么样的
docker的实现原理说一下 - 微服务:
微服务的优点是什么
微服务的服务拆分你们是怎么做的
微服务的服务治理你们是怎么做的,都包括哪些模块
RPC具体是怎么实现的,有哪些组件可以说一下吗?RPC的连接池是怎么实现的,数据结构是什么样的,链接如何保活(腾讯云) - Go:
协程和线程的区别
goroutine初始栈大小,上下文如何切换,存在哪里
GMP说一下,P有多少个,G有多少个,M有多少个。系统调用的时候M会如何,网络IO的时候M会怎样。
Go的GC说一下,扫描从哪里发起?
Go的内存分配说一下
Go有哪些坑?for range为什么会有坑?
Go的map是如何实现的,是并发安全的吗?sync.map是如何实现的?
CAS知道吗,在Go的哪些地方用到了?
sync.pool是如何实现的
channel的优点是什么,如何实现的(腾讯云)
channel的使用场景。close channel的时候发生了什么?
Go select是怎么用的,具体如何实现的?
如果我希望主协程通知并且等待子协程关闭,应该如何做?context了解吗,怎么用的,如何实现的?
写一个生产者消费者模型吧
Gin的中间件是如何实现的
Gin的一次请求整个过程是如何调用的
Gin的基数树知道吗,说一下
Gin请求里的request buffer可以读几次(美餐)
goroutine的泄露如何排查?pprof了解吗,说一下 - 算法题:
反转单链表
判断链表里是否有环
八皇后问题
找最大的K个数,有O(N)的算法吗?
最大回文子串
最近的平方根。比如10的结果是3
把两个链表连起来。比如AB两个链表,顺序是A1 B1 A2 B2 A3 B3…