字节跳动-抖音社招面经(Offer已拿)
背景
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 笔试、面试 知识整理