【日常实习】字节商业变现Java研发

一面

  1. 基本数据类型有哪些,对应占字节数(可恶的short忘了)
  2. 对应的数据类型的取值范围,比如int类型,对应的取值范围如何计算的
  3. Collection类的划分
  4. HashSet如何去重?HashMap的key如何做到唯一的
  5. 链表和红黑树的时间复杂度,红黑树引入的目的
  6. 红黑树的平衡和平衡二叉树的平衡区别,以及红黑树的平衡实现(红黑树直接送走)
  7. TCP的三次握手,标志位以及序列号的变化
  8. SYN为什么是随机值,有什么作用,SYN除了握手还有什么用
  9. TCP和UDP的区别
  10. Java如何并发控制(我直接AQS)
  11. 可重入锁是什么,ReentrantLock实现可重入
  12. synchronized关键字的锁流程
  13. 偏向锁和轻量级锁的具体获取锁流程,如何置换MarkWord的
  14. JVM内存区域分布
  15. JVM栈存了哪些东西,栈中的元素什么时候越来越多什么时候越来越少(栈帧的增减)
  16. StackOverFlow异常如何发生的
  17. new 一个对象在堆中的历程,new对象会在哪个区上分配
  18. 新生代的细分,复制算法的实现,新生代晋升老年代的机制
  19. 算法:股票的最大利润,只买卖一次(字节居然不出hard,秒了)

二面

  1. 项目相关(balabala~~)
  2. RocketMQ保证最终一致性,事务消息的实现机制
  3. JVM内存划分,每个部分具体什么作用
  4. 哪些区域可能发生OOM,发生OOM的原因有哪些
  5. Java用来监控内存的自带工具
  6. 联合索引,最左原则匹配
  7. 一条SQL的执行过程
  8. 假如有(a,b,c)联合索引,c,b,a的顺序能用到索引吗,sql执行之前是否将c,b,a的使用顺序改为a,b,c
  9. Redis如何实现过期删除(我答定时器和主动判断对比过期时间,忘了~~,面试官引导我自己实现)
  10. 算法:从0撸个LRU(当然Map啥的还是用现成的)

面试官挺不错的,虽然自己不会但引导自己去思考实现

三面

  1. 项目(~~)
  2. 对Mybatis了解,ResultMap和ResultType的区别,怎么防止SQL注入
  3. Mybatis缓存机制
  4. SQL题(join忘了~~)
  5. Shell脚本用的多吗,如何验证线上服务是OK的,运行OK的
  6. 查看log日志用什么命令快速定位
  7. 技术如何学习
  8. RocketMQ为何使用自研注册中心,而不使用zookeeper等成熟的注册中心
  9. CAP概念,ZK保证的是什么
  10. 算法:非递归二叉树深度

三面才40分钟不到,慌得一批

================= 总结 ===============

一面后5分钟二面,第二天三面后两小时Hr面,好家伙~~

面试算法全都不难,真是神奇不像字节的风格了

你可能感兴趣的:(Offer,java,面试,开发语言,后端)