当前位置: 首页 > 面试题库 >

请说说你了解的设计模式有哪些?

贺俊楚
2023-03-14
本文向大家介绍请说说你了解的设计模式有哪些?相关面试题,主要包含被问及请说说你了解的设计模式有哪些?时的应答技巧和注意事项,需要的朋友参考一下

1、单例模式

在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。保证一个类仅有一个实例,并提供一个该实例的全局访问点。

(1)经典模式--单线程

对于线程来说不安全;但在单线程中已满足要求。

img

(2)懒汉模式--多线程

线程安全;线程不是每次都加锁,节省了性能开销。

img

(3)饿汉模式--多线程

利用静态变量去实现单例,由CLR保证,在程序第一次使用该类之前被调用,而且只调用一次;饿汉模式中的静态变量是随着类加载时被完成初始化的,静态代码块也会随着类的加载一块执行,哪怕你一直没有调用。

img

 

 类似资料:
  • 本文向大家介绍请你说一下常用设计模式?相关面试题,主要包含被问及请你说一下常用设计模式?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: (1)单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点,避免一个全局使用的类频繁的创建和销毁,节省系统资源,提高程序效率。 实现方式: 将被实现的类的构造方法设计成private的。 添加此类引用的静态成员变量,并为其实例化。 在被实现的类中

  • 本文向大家介绍请你说一说抖音还可以有哪些收入模式?相关面试题,主要包含被问及请你说一说抖音还可以有哪些收入模式?时的应答技巧和注意事项,需要的朋友参考一下 我觉得还可以有面向c端的课程收入模式,可以有官方的课程,还可以有支持作者创作的课程模式

  • 能接触到的常见问法: 项目中有用到什么设计模式?(前端更多点) 重构使用了什么设计模式?(如果你项目强调了重构一般会问) 说说对 XX 模式的理解?(个人接触过的是单例和工厂,这两个比较多) 有接触到哪些?实际用到过哪些?(通用) 除了这些,还有一些不常见的进阶和基础问法,这些直接在下面整理 -- 设计模式这个主题还挺玄乎的,个人直观体验是,自己日常实习那段时间问得挺频繁的,可能是因为没啥好问的。

  • 本文向大家介绍你了解Consul吗?说说它的运用场景有哪些?相关面试题,主要包含被问及你了解Consul吗?说说它的运用场景有哪些?时的应答技巧和注意事项,需要的朋友参考一下 Consul 只是服务注册的一种实现,还有其它的例如 Zookeeper、Etcd 等。 服务注册发现在微服务架构中扮演这一个重要的角色,伴随着服务的大量出现,服务与服务之间的配置管理、运维管理也变的难以维护,通过 Cons

  • 本文向大家介绍说说你对windowing的了解相关面试题,主要包含被问及说说你对windowing的了解时的应答技巧和注意事项,需要的朋友参考一下 展示长列表 如果你的应用会渲染大量的列表数据,我们建议使用一种称为‘windowing’的技术,这种技术下在任何给定的时间内只会渲染一小部分数据列表,并可以减少列表项的重复渲染(即再次渲染已经渲染过的数据)。 react-window和react-vi

  • 本文向大家介绍说说你对Babel的了解?相关面试题,主要包含被问及说说你对Babel的了解?时的应答技巧和注意事项,需要的朋友参考一下 babel是javascript编译器,通过设置presets可以将高版本的js转化为低版本的能够在各大没有适配到最新js版本的浏览器上正常运行,实时编译展示工具:https://babeljs.io/repl#?browsers=defaults%2C%20no