前言
前置:事业群填的都喜欢
笔试是3.27下午16:00-18:00,笔试成绩(490/500)
4.1上午美团11点一面 45min左右
自我介绍 + 项目介绍
面试官挑项目中的难点进行提问
JVM垃圾回收
先问jdk版本(本人jdk8)
说一下CMS和G1的区别以及各自特点
一道多线程编程的题
三个线程,分别打印1-10,11-20,21-30,要求同时进行,同时最后需要这些数的和全部加起来打印。即在主线程中进行打印(1-30的和)
我还没写完,面试官就说可以了,说我之前写的join方法是没问题的(我先写的join后面注释了),然后问我用没用过CountDownLatch(不会),面试官说用这个不用一个线程等待一个线程。
jdk源码
问看过哪些jdk源码(有点紧张忘了一些,说了HashMap、PriorityQueue、AQS)
synchronized和lock的区别
说一下HashMap的扩容(负载因子),HashMap是线程安全的吗,如何实现线程安全(ConcurrentHashMap或者HashMap + 读写锁)
设计模式
你了解的设计模式(本人 单例、代理、原型)
让写代理模式(听成了单例模式,写了个double check的),然后发现听错了,面试官说单例模式没问题让我写下代理模式(没写出来,想成写jdk代理去了)