63.面试常用的设计模式总结(工厂、单例、建造者、适配器、装饰器、代理、策略、模板、观察者、迭代器、责任链) 1 什么是设计模式?概念:设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。1.1 设计模式分类创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模...
常见的设计模式如下: 单例模式:单例模式主要解决一个全局使用的类频繁的创建和销毁的问题。单例模式下可以确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式有三个要素:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
AVL 树是高度平衡的,频繁的插入和删除,会引起频繁的rebalance,导致效率下降;红黑树不是高度平衡的,算是一种折中,插入最多两次旋转,删除最多三次旋转。 10.请问你了解哪些设计模式? 常见的设计模式如下: 单例模式:单例模式主要解决一个全局使用的类频繁的创建和销毁的问题。单例模式下可以确保某一个类只有一个实...
2. 如何在命令模式中支持宏命令? 2.1 创建宏命令类 第四轮:命令模式的最佳实践和注意事项 1. 在使用命令模式时,有哪些最佳实践和注意事项? 1.1 最佳实践 1.2 注意事项 2. 你能给出一个命令模式不适合使用的例子吗? 第五轮:命令模式与其他设计模式的关系 1. 命令模式和策略模式有什么区别和联系? 1.1 区别 ...
准备C/C++面试需要深入研究语言基础知识,掌握控制流结构、函数、指针和标准库,同时准备好回答各种与C/C++编程相关的问题,这将有助于你在面试中脱颖而出。希望这些建议对你有所帮助,祝你面试顺利! C++的内存管理 内存分区主要有: 代码区:加载的是可执行文件代码段 ...
事例: (该事例改编自一道网络设计模式面试题) 如现在你是一个设计师,你正在设计一种空调。但是你们的空调要支持3种模式。冷风模式(ColdWind), 热风模式(WramWind),无风模式(NoWind)。 当选择ColdWind模式,将输送冷风;当选择WarmWind模式,将输送热风;在选择NoWind模式时,空调什么都不做。你将考虑如何为空调设计...
设计模式之开放-封闭原则(引申出Objective-C中继承、Category、Protocol三者的区别,这点面试常问) 开放封闭原则(OCP原则The Open-Closed Principle)是面向对象的核心设计所在。它是说,软件开发实体(类、模块、函数等)应该可以扩展,但是不能修改。 这个原则有两个特征,一个是说“对于扩展是开放的”,另一个是说“...
设计模式常见面试题汇总 设计模式常见⾯试题汇总 设计模式常见⾯试题汇总 1.说⼀下设计模式?你都知道哪些?答:设计模式总共有 23 种,总体来说可以分为三⼤类:创建型模式( Creational Patterns )、结构型模式( Structural Patterns )和⾏为型模式( Behavioral Patterns )。**分类** **包含** **...
树的深度和高度。一开始分别用了一个层序遍历和一个dfs,然后面试官问能否都在一个dfs里面呢,提示了一下在dfs是否可以传一个参数,然后解决了。 布隆过滤器介绍 为什么不用布隆过滤器 .数据结构相关,图的种类,表示方法,图有哪些经典算法+描述算法 求最大的k个数字,解法:优先队列(堆)或者快速排序 ...