面试题 – 数据结构
一、栈(stack) 栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。 它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈…
目标 路径 时间 结果 信息 定位 闭环 复盘 精力 极限 稳态 框架 邮箱:linqingyang@datagov.top
一、栈(stack) 栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。 它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈…
一、二分查找 又叫折半查找,要求待查找的序列有序。 每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环…
一、Paxos Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点执行相同的操作序列,那么他们最后能…
一、存储引擎 1.1 概念 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不…
解释器模式(Interpreter Pattern)是一种行为型设计模式,用于解决一些特定类型的问题,通常涉及到解析和处理一个语法或表达式。这种模式主要用于表示和解释语法规则,从而实现对某种语言或表达…
中介者模式(Mediator Pattern)是一种行为型设计模式,它用于降低多个对象之间通信的复杂性。通过引入一个中介者对象,各个对象之间不再直接通信,而是通过中介者对象进行间接通信。这样可以减少对…
访问者模式(Visitor Pattern)是一种行为设计模式,它允许你在不修改现有类结构的情况下,为类中的一组对象添加新的操作。访问者模式将数据结构和数据操作分离,使得在添加新操作时,不需要修改原有…
状态模式(State Pattern)是一种行为设计模式,它允许对象在其内部状态改变时改变它的行为。状态模式将与特定状态相关的行为封装在单独的状态类中,从而使原对象能够在其内部状态改变时,无需改变其代…
备忘录模式(Memento Pattern)是一种行为型设计模式,它的目的是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样,以后就可以将该对象恢复到原先保存的状态。这…
命令模式(Command Pattern)是一种行为设计模式,它将请求封装成一个对象,从而使你可以将不同的请求参数化、队列化或记录请求日志,以及支持可撤销的操作。命令模式通常用于实现“undo”和“r…
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它为请求创建了一个接收者对象的链。这个链上的每个接收者都包含对其他接收者的引用。当请求沿着链传递时,每个…
迭代器模式(Iterator Pattern)是一种行为设计模式,用于提供一种顺序访问集合元素的方法,而不暴露集合内部的表示。这种模式可以帮助你在不暴露集合内部结构的情况下遍历各种数据结构。 Java…
观察者模式(Observer Pattern)是一种行为设计模式,它定义了一种一对多的依赖关系,当一个对象(主题)的状态发生变化时,所有依赖于它的对象(观察者)都会得到通知并自动更新。这有助于实现对象…
模板方法模式(Template Method)是一种行为设计模式,它在一个抽象类中定义了一个操作的骨架,并允许子类在不改变结构的情况下重新定义某些步骤的实现。这使得你可以在不修改抽象类的前提下,定制由…
策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法独立于使用它的客户端,使得客户端可以根据需要切换不同的算…
享元模式(Flyweight Pattern)是一种结构型设计模式,它通过共享已经存在的对象,减少系统中对象的数量,以降低内存占用和计算开销。享元模式主要用于处理大量相似对象的情况,它可以有效地减小内…
组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构来表示“整体/部分”层次结构。组合模式使得客户端可以统一对待单个对象和组合对象。 以下是一个简单的Jav…
桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象和实现解耦,使得它们可以独立地变化。桥接模式主要用于解决两个独立维度变化的问题,使得抽象部分和实现部分可以在不影响彼此的情况下独立…
外观模式(Facade Pattern)是一种结构型设计模式,它为一组子系统的复杂接口提供一个统一的简化接口。外观模式可以隐藏系统的复杂性,让客户端通过一个简单接口与子系统交互。这样,客户端不需要了解…
代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供一个代理或占位符,以便在访问这些对象时可以控制对它们的访问。代理模式可以用于实现懒加载、访问控制、日志记录等功能。 以下是一…