上周收到字节跳动的远程面试邀请,心惊胆战,本以为分分钟会被秒杀,没想到三面下来我居然轻轻松松反杀对方面试官(哎哟哟~有点嘚瑟),为此想把这次的面经分享出来嘚瑟一下下。
字节总共是3面技术+1面HR,具体哪面问了什么题目我是有点分不清了,不过我记得每个知识点大概问了那些问题,大致分为Java+Redis+Linux/操作系统+网络+数据库+算法这六个部分吧,说句心里话,这次之所以能反杀字节的面试官,我也是下了狠功夫的,天天熬夜刷题复习(还是挺惨的呢~)
好吧,说了这么多就不废话了,一起来看看字节后台三面都问了哪些知识点吧!(顺带给大家看看我是如何复习的)
字节面试知识点:Java+Redis+Linux/操作系统+网络+数据库+算法
(1)Java
- JVM内存区域
- HashMap、CurrentHashMap
- String, StringBuffer, StringBuild三连
- GC算法
- 复制算法为什么需要2个Survivor空间, 1个不行吗
- survivor空间不够怎么办
- volatile作用
- synchronize底层
- 可重入锁底层/AQS底层
- LRU底层实现
(2)Redis
- Redis的对象结构
- 实现对象的底层数据结构
- SDS优点,链表、跳表的实现与复杂度
- 有序集合的底层 -字典与跳跃表 为什么用这两个结构
- Redis为什么快#扶贫达人在行动#
- RDB AOF优缺点,怎么选择、
(3)数据库
- Mysql索引 hash和btree什么情况使用
- B+数优点,为什么不用红黑树
(4)Linux/操作系统
- 内核态和用户态的切换
- 查看CPU使用率的命令
- select poll epoll三连
- 虚拟内存的作用
- CPU二级缓存
(5)网络
- 从输入url到显示网页过程, HTTPS的认证, DNS解析过程
- TCP三次握手,两次握手有什么问题
- TCP UDP区别
- TIME_WAIT作用
- 如何快速复用处于TIME_WAIT的连接? 不懂
(6)算法
- 排序一个字符串 时间要求O(n)
- 最大正方形面积(不会换题)
- 奇数上升偶数下降的链表排序 空间要求O(1)
- 给一个有重复数字的数组,求集合{(a,b,c) | a+b+c=0}
我是怎么复习的?
(1)第一步 狂补知识点
- 《JAVA核心知识整理PDF》机缘巧合收集的一份28
- RDB AOF优缺点,怎么选择、
(3)数据库
- Mysql索引 hash和btree什么情况使用
- B+数优点,为什么不用红黑树
(4)Linux/操作系统
- 内核态和用户态的切换
- 查看CPU使用率的命令
- select poll epoll三连
- 虚拟内存的作用
- CPU二级缓存
(5)网络
- 从输入url到显示网页过程, HTTPS的认证, DNS解析过程
- TCP三次握手,两次握手有什么问题
- TCP UDP区别
- TIME_WAIT作用
- 如何快速复用处于TIME_WAIT的连接? 不懂
(6)算法
- 排序一个字符串 时间要求O(n)
- 最大正方形面积(不会换题)
- 奇数上升偶数下降的链表排序 空间要求O(1)
- 给一个有重复数字的数组,求集合{(a,b,c) | a+b+c=0}
我是怎么复习的?
(1)第一步 狂补知识点
注意注意:我说的这些复习资料都是已经整理成文件的了
- 各大学习思维脑图(帮你制订学习路线)
- 《JAVA核心知识整理PDF》机缘巧合收集的一份283页的PDF
包括JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算等30个章节。
比如JVM:
比如微服务:
- 实战书籍(一小部分啦)
(2)疯狂刷题
各大专题作死疯狂刷题(下面是我的一部分刷题资料啦~)
如果你觉得我的这些复习资料对你来说有用,那么可以免费分享哦
记住啦!!!