补补面经,涨涨运气!希望后面秋招顺利一些
很久之前的面经了,当时问的也比较简单,但是二面问的很多场景题没答好,二面之后 10 天挂掉的,只是当时已惘然,害。
说起来还是刚开始找实习那会面的,那时候总共加起来不到 5 场面试。
1. 请做一个简单的自我介绍。
2. 能否简单介绍一下你的项目经历,特别是你在简历上提到的两个项目?
3. 你为什么会想要做这个项目?
4. 项目的主要功能模块有哪些?
5. 你在项目中使用网关的主要作用是什么?
6. 你的后端是以集群方式部署的吗?
7. 这个项目的主要应用场景有哪些?
8. 你在项目中是如何实现分库分表的?
9. 项目中使用了哪些中间件?它们的具体使用场景是什么?
10. 你是如何实现统计功能的?
11. 你在项目中使用了哪些限流技术?它们的具体实现方式是什么?
12. 项目中使用了哪些缓存技术?它们的具体使用场景是什么?
13. 你是如何实现分组管理的?
14. 你在项目中使用了哪种分布式锁?它们的实现方式是什么?
15. 你有没有了解过其他的分布式锁实现方式?
16. 秒杀场景下,系统架构应该注意哪些细节问题?
17. 你对 MySQL 的理解有哪些?可以详细讲讲索引、锁等机制吗?
18. 你对 MVCC(多版本并发控制)的理解是什么?
19. 在设计数据库表结构时,你一般会关注哪些点?
20. 你平时刷的算法题难度大概是什么样的?你比较擅长哪些类型的算法题?
21. 请你实现一个查找二叉搜索树中第 k 小的元素的算法。
22. 你觉得你实现的算法的时间复杂度是多少?
其实这里挺感动的,问擅长什么算法,然后还出了个很简单的。
面完一小时问了一下约面的 hr,说过了,约了二面。
面试官刚开始看起来挺和蔼的,但是回答的一塌糊涂,问了不少微服务相关的解决方案,当时没接触这么多,不知道怎么答了,基本没什么八股。菜牛是我了
1. 请做一个简单的自我介绍。
2.寒暄,跳过
6. 可以介绍一下你的项目吗?
7. 项目是基于开源项目改造的吗?还是自己从零开始写的?
9. 你提到布隆过滤器和缓存的目的是什么?
10. 布隆过滤器和缓存的数据是如何同步的?
11. 你的服务端是否会有瓶颈?特别是在高并发情况下如何处理?
12. 项目中使用了哪些消息队列?它们的具体使用场景是什么?
13. 你为什么选择了 RocketMQ 作为消息队列?
14. 你是如何保证消息不丢失的?
15. 你在 Lua 脚本中使用了哪些命令来执行原子操作?
16. 你有没有排查过一些项目中的问题?比如页面白屏、异常等问题是如何处理的?
17. 如果碰到空指针异常,你会如何排查?
18. 在什么情况下应该给 MySQL 字段加索引?
19. 你会选择每个字段单独建索引还是建联合索引?为什么?
20. 你了解 MySQL InnoDB 中索引的查找过程吗?大概是怎样的?
21. 请实现一个算法题:最长递增子序列。
反问
10 天后感谢信。当时已经去小黑盒实习了,所以没怎么在意,想着必挂的。