1轮笔试(60分钟)、2轮技术面试、1轮负责人面试。面试官都特别好,答不上来也会说没关系。笔试题共9道任选5题作答,难度从简到难,涉及到Java基础、SQL、算法等等。第一轮面试主要是根据试卷答题情况进行提问,很注重底层实现原理; 二面是技术总监面,本以为会问一些宏观一点的东西,结果还是问试卷上的题目,在这个基础上再做一些扩展,每一道题都会深扣细节,还会问一些没做的题为什么没做,会设计一些场景,问你的解决思路,看你有没有举一反三的能力,其中有两个印象特别深的问题:“1.让你实现i++和++i,你会怎么实现?2.SQL里的group by原理是什么?”,如果技术通过面试官会直接和你谈薪资,反正就是各种压base。 不过公司应该是非常不错的,约的下午2点面试,1点50到的时候HR还在睡觉,而且不加班16薪,不过base开得太低,就不考虑去了。
Q:讲讲双重检查锁的单例,为什么要加volatile?为什么要加两个if判断,一个if不是也可以吗?