字节跳动提前批java一面

一、HashMap

  1. 讲一下HashMap
  2. 为什么1.7及之前扩容时会形成环
  3. HashMap是怎么扩容的,为什么会有高低位的区别,数组长度为什么是2的n次方
  4. 为什么链表要变成红黑树

二、TCP

  1. TCP/IP协议有哪四层?
  2. TCP和UDP的区别
  3. TCP和UDP分别的使用场景
  4. TCP的四次挥手,为什么最后要等待2MSL?
  5. TCP出现粘包是怎么解决的?
  6. 异步IO、IO多路复用

三、数据库

  1. 索引在数据库中以什么结构存储?
  2. B+树和B树的区别?优势是什么
  3. 聚集索引和稀疏索引的区别
  4. 创建联合索引时需要注意什么
  5. 数据库的四种隔离级别,RR是怎么防止幻读的

四、锁

  1. 什么是可重入锁
  2. Synchronized的实现原理

五、算法题

  1. 2×N的方块,分成1×2的方块,有多少种分法? 斐波那契数列
  2. 给定一个无序的正整数数组, 找出数组中每个元素右边第一个比它大的数(若没有,则返回-1) 用栈
经验分享 程序员 微信小程序 职场和发展