软件工程师面试题目及答案.docxVIP

  • 10
  • 0
  • 约7.63千字
  • 约 9页
  • 2026-03-27 发布于河北
  • 举报

软件工程师面试题目及答案

一、基础编程题(必问,考察基本功)

1.题目:手写一个单例模式(Java/Go/Python三选一即可,以Java为例)

要求:线程安全、懒加载,避免双重检查锁的漏洞。

答案:

java

//推荐枚举单例(最简单、无线程安全问题,避免反射和序列化漏洞)

publicenumSingleton{

INSTANCE;

//业务方法

publicvoiddoSomething(){

System.out.println(单例执行业务逻辑);

}

}

//补充:双重检查锁模式(兼顾懒加载和效率,注意volatile关键字)

publicclassSingletonDCL{

//volatile防止指令重排,避免拿到未初始化的实例

privatestaticvolatileSingletonDCLinstance;

//私有构造,禁止外部实例化

privateSingletonDCL(){}

publicstaticSingletonDCLgetInstance(){

//第一次检查,避免频繁加锁

if(instance==null){

文档评论(0)

1亿VIP精品文档

相关文档