重构支付模块时,我把 600 行 if-else 拆成了四个模式 上个月接手支付模块重构。打开 PaymentService.pay() 那一刻我有点懵:一个方法 600 多行,开头十几个 if (channel == WECHAT) ... else if (channel == ALIPAY)
面了三家公司,两次被问到"单例为什么要加 volatile" 十月中旬开始投简历试水,面试被问了三次单例模式。第一次我背出了双重检查锁的写法,面试官追问"为什么 instance 要加 volatile",我卡住了,说了句"保证可见性",他摇摇头。第二次还是同一个问题,我还是没答到点上。 回来自己翻