于 2024/9/19 11:00 进行的为时 60 分钟的面试。为腾讯云智西安的网络产品中心 EIP 产品组岗位。整体面试下来感觉还是比较好的,面试官对我的个人经历比较感兴趣让我 balabala 说了十分钟,最后反问评价也说挺不错的,感觉稳如老狗,肯定能过。
以下是面经:
- 自我介绍
- 你是什么专业的?你是对计算机感兴趣是吗?
- 简述进程和线程的区别以及各自的使用场景?(后续想让我结合 Python GIL 来说,不会)
- 讲讲进程间通信有哪些方式?(我想少了,我只说了管道和标准输出输出,后来查了查这里其实还可以说
mmap
,sendfile
这类系统调用、信号这种操作系统机制甚至 Socket) - 简述 MySQL 索引(InnoDB B+ 树)的数据结构?为什么不使用哈希表?
- 有主键和
a, b, c
三个字段,有普通索引 idx_a
,简述 SELECT * from ? WHERE a = ?
的查询过程?(讲了索引下推和回表)如果索引换成联合索引 idx_a_b_c
会怎样? - 讲讲最左匹配原则?(提到顺序性)为什么要强调这样的顺序(为什么一定要这样的顺序才能令联合索引工作)?
- 简述 ACID 和事务的隔离级别?
- 简述 TCP 和 UDP 的区别?
- 可以说一下 TCP 四层模型吗?每层模型各自都有哪些协议?
- HTTP 有哪些状态码?
- Redis 有哪些持久化方案?
- 简要介绍一下哈希表这个数据结构?
- 在你的经历中,有哪些问题是你印象比较深刻的,你是如何解决它的?
- 在你的经历中,有哪些你做的优化方案是令你印象比较深刻的?
- 能简单聊聊你学习计算机的个人经历吗?
- 代码题:给定 int 数组中包含重复的元素,在其中任选两个不相同的数值,计算出两个数值在数组中的最小距离,要求时间复杂度 O(n)
- 反问
- (反问中间面试官还额外问了问我为什么大学选了这个专业,以及家是不是在西安等问题)