ARTICLE · 1098511
设计模式面试题:从单例到Spring源码,万字
设计模式面试题:从单例到Spring源码,万字
设计模式面试题:从单例到Spring源码,万字
面试官连环炮一响,单例、代理、Spring源码全得会。光背概念没用,得能写、能讲、能结合源码聊。
单例写法里,双重校验锁最常考。new对象不是一步到位,不加volatile就可能指令重排。别人拿到的是个没初始化的空壳,直接NPE。想防反射和反序列化破坏,直接用枚举。
代理模式是AOP底层。JDK动态代理靠接口,CGLIB靠生成子类。目标类有接口时,Spring默认用JDK;没有就用CGLIB。这俩底层实现和限制完全不同。
结构型模式最容易混。代理管访问,适配器做接口转换,装饰器负责动态加功能。记住核心区别,再结合Spring源码里的真实用法去答,比干背概念强得多。
行为型模式重点看策略、模板方法、观察者、责任链。搞清它们各自解决什么问题,面试被问到也能从容应对。
原文设计模式面试题:从单例到Spring源码,万字图解+实战坑点,看完直接吊打面试官!
北京,33分钟前,