小鹏面的我太煎熬了,昨天一天今天又一天,一直到晚上八点才开始,坎坷的不行

我准备了那么多知识点,结果最后就问了个单例模式,我还没答好
先让我写个安全的单例,我就直接写了双锁的单例,然后让我解释这个单例的核心在哪,我就说了Volatile在这里的作用和两个锁分别的作用,他开始问我JVM什么情况下会对指令进行重排序以及为什么会进行指令重排序,这块我没有了解过只知道会重排但是不知道为什么就只能说不会没有了解过,结果他让我猜一下,我也猜不出来啊我就随便说了一下为了提升执行效率?然后好像还像让我接着猜,我说实在不知道了才放过我。接下来又让我来测试的我该怎么测试这个单例是否成功了,我就写了个简单的A、B线程分别获取单例然后判断地址是否相同,结果他说你这个代码完全测试不到你的两个锁啊,应该怎么才能具体测试到对应的锁,这块好像当时狂神的视频有提到过但我也完全没有想到会让我测试,完全想不起来怎么测,然后又问我那这个单例真的安全了吗?我说不是的反射还是可以破坏这个单例,他又问我该怎么解决这个反射的问题呢?我说把类给锁了可以避免获取构造器,但转念一想好像又不太对,最后又说了个加标志位在无参构造器里来判断是否是第一次调用构造器,唉感觉被牵着鼻子走了一说错就立马被发现而且抓着鼻子走,还是不够深入这些知识;
问完这唯一的一个单例以后就开始问生活上的事,我人裂开了,辛辛苦苦准备这么久然后一拳打在了棉花上,大学四年也没什么拿的出手的学习成就就被迫聊了聊学生会和校篮球队的事,太难顶了。
明天恢复正常学习,之后真的应该没什么面试笔试了,专心沉淀自己。
剑指春招!