背景
2017年本科毕业(非985),从19年11月开始准备找工作。首先一般面试分为三个部分:项目、技术知识、算法。
- 项目是因人而异的,每个人的项目不一样,后面技术知识的提问和这里是有关联的。
- 技术知识:在我进行准备时也整理过很多,这里给推荐下自己整理的内容:Interview。
- 算法题:主要在 LeetCode 上刷题,整个过程刷了 200+ 题(题目不是做一遍就完事,可以多做几次),这里推荐两个题目合集:精选 TOP 面试题、 热题TOP100
上面这些准备的差不多之后,就可以再找目标公司的面经,再集中补下,下面就说下技术知识的面试题目。
面试题
在进行技术知识的面试过程中,当面试官提到一个点,如果你有把握,可以多发散发散,把话题向你熟悉的点去引导。
- MySQL 的索引?B+树的结构介绍下?B+树与B树有什么优势?
- 事务的四个特性?事务的隔离级别?讲讲MySQL 的事务隔离?RR解决了什么问题?
- MVCC & 锁
- MySQL 平滑水平扩容方案?
- Redis 线程模型?持久化方案?
- Redis Cluster?其他开源集群方案?
- Redis Cluster 是如何进行扩容的?
- Redis hash、zset 数据结构?跳表是怎么构建的?
- 并发修改数据库并回写Redis 如何保证数据一致性?
- Redis 加锁方案?Zookeeper 加锁方案?各有什么优缺点?
- JVM 垃圾回收机制?CMS 收集器?
- Netty 的优势在哪?有什么问题吗?
- HashMap 的结构?ConcurrentHashMap 读写加锁吗?
- ThreadLocal 的结构?
- 流量控制算法了解吗?介绍下
- 设计一个短链接生成系统?数据如何存储?高并发如何处理?
- 讲讲 ZK 的结构?如何进行选主的?从 CAP 分析下
- 算法:股票收益、str2int、树的最大路径
这些面试题在三次技术面试中,有重复的地方。很多也是自己进行发散提到的。每轮面试时间在1小时左右,头条面试过程还算很不错的。
最后:欢迎 Star Java 笔试、面试 知识整理
全部评论
(9) 回帖