2022-朴朴-Java开发工程师-面试(面经)
面试分为一面和二面,大部分问题都是一面问的,二面直接写算法(正文中有给出),面试是线下的。
java基础问题:
1、ArrayList 扩容机制(深入到源码)
2、HashMap线程安全使用什么(ConcurrentHashMap),锁的是什么(1.7前分段锁,1.8后自旋锁),求size的时候怎么实现
3、索引结构(b+),最左匹配原则
4、redis数据类型,计数怎么做,rdb aof 原理,什么时候执行
5、jvm垃圾回收 (重gc和轻gc)
6、jvm结构
7、String s = new String(”ABC”)每一部分分别保存在哪里
8、事务隔离级别
算法(手写):
1、求十进制数对应的二进制数中1的个数(考虑效率)
2、整型数组中求中位数(乱序,考虑时间复杂度)
其他
1、区块链(做的项目)
2、项目问题