上周收到字节跳动的远程面试邀请,心惊胆战,本以为分分钟会被秒杀,没想到三面下来我居然轻轻松松反杀对方面试官(哎哟哟~有点嘚瑟),为此想把这次的面经分享出来嘚瑟一下下。

字节总共是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:

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

  • 实战书籍(一小部分啦)

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片