code相关
- 行列都是有序的二维数组,查找k是否存在,时间复杂度
1 3 5 7 9
3 5 7 9 11
4 6 8 10 12
- 有序数组,有2N+1个数,其中N个数成对出现,仅1个数单独出现,找出那个单独出现的数.,时间复杂度
1,1,2,2,3,4,4,5,5,6,6
答案为3
- 100亿个数求top100,时间复杂度
- 100亿个数和100亿个数求交集,时间复杂度
- 全排列问题,自己找去
Go alng相关
- context作用,原理,超时控制
- 切片和数组区别
- channel关闭阻塞问题,goroutine如何调度,gopark是怎么回事
- PMG模型描述,谁创建的PMG,runtime是怎么个东西,怎么启动第一个goroutine
- go逃逸分析怎么回事,内存什么时候栈分配什么时候堆分配
- sync.Map实现原理,适用的场景
- go语言有什么优点和缺点
- Go框架用过哪些,有看源码吗
- Go GC算法,三色标记法描述
- Go内存模型(tcmalloc)
linux,操作系统
- Select/epoll,IO多路复用,底层数据结构,epoll的几个函数,两种模式
- 抢占式调度是什么回事
- 用户态和内核态
mysql 相关
- innodb 和 myisam 区别(事务, 索引 ,锁。。。)
- B+树和B树区别,优缺点
- B树和二叉查找树或者红黑色区别
- 聚簇索引 什么特点,为什么这样,顺序查询的实现,回表查询,联合索引特性
- 大表分页查询,10亿行数据,查找第N页数据,怎么优化
- 悲观锁和乐观锁,mysql相关锁说一下
- 如何分库分表
redis 相关
- 几种数据结构(list,set,zset,geohash,bitmap)实现原理
- pipline用来干嘛
- 事务
- 备份(aof/rdb)原理,哪些参数可调
- 网络模型
- 为什么单线程就能hold住几万qps
- 热点key怎么处理
- 一致性hash解决什么问题
- redis集群(主从,高可用,扩展节点)
kafka相关
- 消息是否按照时间有序,kafka分区的数据是否有序,如何保证有序
- Kafka为什么吞吐量高
- kafka的存储模型
- Kafka消费者多个group消费同一个topic,会重复消费吗?
算法和数据结构问题:
- hash算法实现(类似crc32或者murmur),保证随机性和均匀性,减少哈希冲突
- 100个球,一次只能拿2-5个,你先拿,我后拿,怎么保证你能拿到最后一个球
- 动态规划相关
- 正整数数组,求和为sum的组合 换零钱,1,5,10元都很充足,给你N元去换零钱,多少种换法
- 图的最短路径
- redis里面zset的range函数如何实现
项目问题
- 遇到过内存溢出吗?怎么解决
- 布隆过滤器怎么设置m,n,k的值,怎么合理安排key(用户和item越来越多,怎么保证内存不会爆)
- 服务雪崩怎么处理,怎么解决保证不影响线上
- redis和mysql数据一致性怎么保证
- 分布式锁应用场景,哪些坑
- 微服务架构 图