字节教育业务二面
1. 上来直接一道leetcode-hard,股票买卖III。(人懵了)昨天看过,但是没记住DP的递推公式。
2. Java中的 Map,HashMap和TreeMap的底层(红黑树),我说成了B+树。【红黑树适合内存中插入删除较多的场景,弱平衡二叉搜索树;B+树具有比较好的磁盘IO特性】
- 引申出了并发安全Map
- 乐观锁悲观锁怎么实现
- 底层怎么实现
3. TreeMap底层的数据结构,我说是B+树,由此引申出了InnoDB的存储引擎,以及为啥要使用B+树。
3.1 为啥不使用AVL或者红黑树
3.2 不考虑磁盘IO,B+树和AVL树的查询效率? O(MlogN)
4. Redis中用来做排行榜的数据结构(Zset)
4.1 底层是什么
4.2 zset为啥需要维护一个map
4.3 查询的时间复杂度是多少
5. 画TCP的状态机
6. 数据库表格的设计题。
7. 反问。面试官说我基础挺好的,面试准备了挺久的吧。工程开发经验比较少,我说我是AI转开发的。
#面经##校招##Java工程师#
2. Java中的 Map,HashMap和TreeMap的底层(红黑树),我说成了B+树。【红黑树适合内存中插入删除较多的场景,弱平衡二叉搜索树;B+树具有比较好的磁盘IO特性】
- 引申出了并发安全Map
- 乐观锁悲观锁怎么实现
- 底层怎么实现
3. TreeMap底层的数据结构,我说是B+树,由此引申出了InnoDB的存储引擎,以及为啥要使用B+树。
3.1 为啥不使用AVL或者红黑树
3.2 不考虑磁盘IO,B+树和AVL树的查询效率? O(MlogN)
4. Redis中用来做排行榜的数据结构(Zset)
4.1 底层是什么
4.2 zset为啥需要维护一个map
4.3 查询的时间复杂度是多少
5. 画TCP的状态机
6. 数据库表格的设计题。
7. 反问。面试官说我基础挺好的,面试准备了挺久的吧。工程开发经验比较少,我说我是AI转开发的。
小牛保佑我一下呀~~
P.S 顺便保佑我能拿到一个广州的实习吧,想去陪陪女朋友~
周三三面。