网易互联网JAVA开发工程师一面(凉经)
说在前头:面试官人挺好的,全程微笑,但是自己太菜了,且网易面试平台不可以切屏,切屏会提示,我就调了下声音就提醒了,不过如果不是太久应该也没啥问题
全程约30分钟,凉
1. synchronized底层原理?答了monitorenter和monitorexit,又问可不可以重入 答可以,底层维护一个monitorCount,如果想要加锁的对象和持有锁的对象是同一个,则monitorCount++,又问底层如何判断想要加锁
的对象和持有锁的对象是同一个,感觉像是问monitor的持有者记录在哪里,没答上来....
2. 可见性如何实现?内存屏障底层的原理? 可见性答了总线解决缓存一致性,内存屏障底层,人懵了,没答上来
3. HashMap底层原理。回答的时候说到了红黑树,又问了红黑树的时间复杂度,艹突然没想起来
4. ConcurrentHashMap如何实现?答分段锁,面试官提醒JDK8不是分段锁了,又答了CAS,面试官接着追问CAS原理
5. 线程池有哪些参数?回答了核心线程数,最大线程数,拒绝策略,阻塞队列,KeepAliveTime,Unit,又追问了执行过程,回答如下
-
如果此时线程数小于核心线程数,那么就会新起一个线程来执行当前的任务。
-
如果此时线程数大于核心线程数,那么就会将任务塞入阻塞队列中,等待被执行。
-
如果阻塞队列满了,并且此时线程数小于最大线程数,那么会创建新线程来执行当前任务。
-
如果阻塞队列满了,并且此时线程数大于最大线程数,那么会采取拒绝策略。
6. 类加载器。回答了双亲委派模型,面试官说底层如何实现?没想起来,
7. 项目相关的
8. 反问
能想起来的就这些,诶之前想找面经一直没找到,可能这是第一批吧,凉凉
面试官好喜欢问底层,可能还得继续深入底层学习吧,纯回答八股文不太行了~
#网易##2023秋招#