设计模式相关知识在面试中经常被问到,其中的单例模式几乎是每次必问,同时还会要求手写单例模式的代码。
至于为什么也不难理解,它的实现代码简短,用较短的时间就能完成,同时代码中也不乏一些细节可以考察面试者
的基本功。简单啰嗦一下单例模式的基本知识,借用下网络搜索的结果:
概念上可理解成一个类只有一个实例,实现上是要注意以下三点:
- 单例模式的类只提供私有的构造函数,
- 类定义中含有一个该类的静态私有对象,
- 该类提供了一个静态公有函数用于创建或获取它的静态私有对象
写了这么多,感觉是不是有点孔乙已了。好吧,其实面试官只是想知道下面几点
- 面试者是否了解单例,
- 是否知道懒汉式和饿汉式的区别,
- 是不是还知道有双重锁定这么一回事,
- 是否会注意到饿汉式需要同步操作才好。
实际的面试过程中一般不会让你三种都写出来,前两种比较常考察,同时有经验的面试官还会在写代码过程留意你的表现,借一斑以窥全豹,顺便看看有没有可以引出接下来问题的考察点。不过最重要还是对概念理解程度的考察,至于代码中的一些小错误,比如命名是否规范这种类似错误是不会过多纠缠的。