数据结构与算法
- 线程安全的数据结构
- 排序算法,快排平均时间复杂度,最坏情况下时间复杂度,是否稳定。堆排序时间复杂度和空间复杂度,为什么。归并排序时间复杂度
- 40 亿个 QQ 号查重怎么查,只有 1 个 G 内存(编程珠玑第一篇)
计算机网络
- 深挖 Websocket,因为我简历上有项目用到了 Websocket,Websocket 与 HTTP 请求有什么区别,还有 Websocket 数据形式,我回答帧,然后要我详细介绍一下帧的内容。Websocket
- TCP 协议,三次握手,socket 连接详细过程,TCP 的超时重试
- 浏览器中输入一段网址最终网页展现在我们面前,中间发生哪些事情,介绍一下
- 网页上的图片和视频相关的资源从哪里获取 —— CDN
- 什么是 CDN
- 知道哪些常见的网络攻击方式,讲了一下 DDoS 和 XSS
操作系统
MySQL
- 介绍一下 innodb,innodb 的缺点,硬盘占用百分比代表什么
- mysql 有哪些场景的优化方式?能想到什么都可以说?
- 事务有哪些隔离级别及这些隔离基本的区别
- 假设要设计一个用户表,预计可能有 5 个亿用户,如何设计这个用户表;
- 怎么分库分表比较好?用户怎么去分到哪一张表去?
- 主从同步,主服务器和从服务器怎样沟通确认才能保证从库既实时性好又同步了所有要同步的数据,怎么做的
Redis
- 使用 redis 常见的注意事项,也是你能想到什么都可以说
- redis 删除一个大 key,该怎么操作
- 数据结构 bitmap
-
- 生成以小时为维度的前 100 首听歌歌曲榜单,怎么设计
- 听歌的业务和榜单为主的业务怎么互相通信?
- 假如同时听歌的人是非常多的,都存在一个 zset 会不会有问题,该怎么办?
- 有用过 redis 的分布式锁吗?具体的业务场景
语言框架
- Spring 是如何进行事务的,ORM 框架是怎么支持事物的
Go 语言特性
- 什么是 goroutine。及补充
- 介绍一下 golang 的 gmp 模型。及补充
Java 语言特性
Python 语言特性
分布式
简要介绍一下 raft 和 paxos,是否会出现两个 leader,是否会出现选不出 leader 的情况