软件工程面试——数据库

2023-11-02

数据库实体的关系

数据库中的实体关系指的是不同实体之间的相互依赖和联系。实体关系是数据库设计中非常重要的一个概念,它是用于描述不同实体之间的关系、连接和交互方式的。

在数据库中,一个实体通常指的是一个对象或者一个概念,比如一个人、一个订单或者一个产品。实体关系则是指实体之间的联系,比如两个实体之间可能有一对一、一对多、多对一或多对多的关系。

以下是几种常见的实体关系:

  1. 一对一关系:两个实体之间仅有一种联系,比如一个人只有一个身份证号码。
  1. 一对多关系:一个实体与另一个实体之间有多个联系,比如一个顾客可以下多个订单。
  1. 多对一关系:多个实体与一个实体之间有联系,比如多个订单都属于同一个顾客。
  1. 多对多关系:多个实体之间存在多个联系,比如一个订单可以包含多个产品,一个产品可以属于多个订单。

在数据库设计中,理解和建立实体关系是非常重要的,可以帮助设计出更好的数据库结构,提高数据库的性能和数据质量。常用的建立实体关系的工具包括ER图(实体关系图)和UML类图。

什么是数据库, 数据库管理系统, 数据库系统, 数据库管理员?

  • 数据库 : 数据库(DataBase 简称 DB)就是信息的集合或者说数据库是由数据库管理系统管理的数据的集合。
  • 数据库管理系统 : 数据库管理系统(Database Management System 简称 DBMS)是一种操纵和管理数据库的大型软件,通常用于建立、使用和维护数据库。
  • 数据库系统 : 数据库系统(Data Base System,简称 DBS)通常由软件、数据库和数据管理员(DBA)组成。
  • 数据库管理员 : 数据库管理员(Database Administrator, 简称 DBA)负责全面管理和控制数据库系统。

等值连接和自然连接是关系型数据库中常用的连接方式。

等值连接是通过比较两个表中的某些字段来连接两个表的。比如,如果有两个表A和B,它们都有一个字段C,那么可以使用等值连接来将这两个表连接起来,条件是表A中的字段C与表B中的字段C相等。

自然连接是一种特殊的等值连接,它不需要指定连接条件,而是根据两个表的列名和数据类型自动匹配相同的列名,然后对这些列进行等值连接。

举个例子,如果有两个表A和B,表A中有列C和列D,表B中有列C和列E,那么自然连接会自动匹配列C,并将这两个表按照列C进行等值连接。

需要注意的是,自然连接可能会导致一些不必要的连接结果,因为它会自动匹配所有相同的列名,包括一些不相关的列名。因此,在实际应用中,需要谨慎使用自然连接。

总的来说,等值连接和自然连接都是连接两个表的有效方法,具体选择哪种方式取决于具体情况和应用场景。

视图的定义及作用

①表是实实在在得保存数据的实体,写入的数据都保存在表中,而视图是不保存数据的,也没有数据。

②计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义 视图的查询所引用的表,并且在引 用视图时动态生成。

③表和视图可以更新,但是视图的更新受到约束。比如, groupby 和表连接生成的视图 不能更新表是实实在在得保存数据的实体,写入的数据都保存在表中,而视图是不保 存数据的,也没有数据

④联系:可以理解为视图的数据都是从表中取出来,视图就是你定下的一个框框而已, 内容都是在表中。

索引和键是数据库中的两个重要概念,它们的作用和含义不同。

  1. 索引(Index):索引是一种特殊的数据结构,用于提高数据库查询操作的效率。它可以让数据库系统快速地定位某个特定的数据行,从而避免全表扫描的开销。索引可以基于一个或多个列,也可以是唯一索引或非唯一索引。
  1. 键(Key):在数据库中,键是用于标识一条记录的唯一属性或属性组合。键通常由一个或多个属性组成,用于在表中唯一标识每一条记录。键可以是主键、外键或候选键等类型。

虽然索引和键都可以用于快速查找数据,但它们之间的含义和作用不同。索引是一种用于提高数据库查询效率的数据结构,而键是一种用于标识记录的唯一属性或属性组合。索引可以基于一个或多个列,而键通常由一个或多个属性组成。

B树和B+树的区别

B树和B+树是一种常见的数据结构,用于实现数据库中的索引。它们在构造方式和使用方法上有所不同。

  1. 构造方式

B树是一种平衡树,每个节点可以包含多个关键字和指向其它子树的指针,通常会在节点上存储数据。B树中的节点分为根节点、内部节点和叶子节点三类,叶子节点包含了实际的数据项。

B+树也是一种平衡树,但是所有的数据项都存储在叶子节点中,内部节点只存储索引信息,没有存储实际数据。B+树中的节点也分为根节点、内部节点和叶子节点三类,叶子节点之间用指针相连,形成一个有序的链表。

  1. 查询方式

B树和B+树的查询方式不同。B树中的每个节点都包含数据项,当查询一个关键字时,需要遍历树上的节点,直到找到包含该关键字的节点为止。在B树中,由于每个节点都包含数据项,因此查询操作可以在任何节点上结束。

B+树中的数据项只存储在叶子节点中,因此在查询时只需要遍历从根节点到叶子节点的路径,并在叶子节点中查找数据项。由于叶子节点之间是通过指针相连的,因此可以快速定位到需要的数据。

  1. 存储方式

B树中的每个节点都包含数据项,因此B树的存储空间利用率相对较低。而B+树中的内部节点只存储索引信息,不存储实际数据,因此可以存储更多的索引信息,提高了存储空间的利用率。

  1. 应用场景

B树适用于需要随机访问数据的场景,例如文件系统和数据库中的索引。而B+树更适用于范围查询和顺序访问数据的场景,例如数据库中的范围查询和排序操作。

综上所述,B树和B+树的区别主要在于构造方式、查询方式、存储方式和应用场景等方面。B树适用于随机访问数据的场景,而B+树更适用于范围查询和顺序访问数据的场景。

什么是元组, 码, 候选码, 主码, 外码, 主属性, 非主属性?

  • 元组 : 元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行。
  • 码 :码就是能唯一标识实体的属性,对应表中的列。
  • 候选码 : 若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为候选码。例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“班级”的属性组合足以区分学生实体,那么{学号}和{姓名,班级}都是候选码。
  • 主码 : 主码也叫主键。主码是从候选码中选出来的。 一个实体集中只能有一个主码,但可以有多个候选码。
  • 外码 : 外码也叫外键。如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码。
  • 主属性 : 候选码中出现过的属性称为主属性。比如关系 工人(工号,身份证号,姓名,性别,部门). 显然工号和身份证号都能够唯一标示这个关系,所以都是候选码。工号、身份证号这两个属性就是主属性。如果主码是一个属性组,那么属性组中的属性都是主属性。
  • 非主属性: 不包含在任何一个候选码中的属性称为非主属性。比如在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性。

数据库的三级模式和二级映像是数据库系统中的两个重要概念。

  1. 三级模式

数据库的三级模式是指外模式、概念模式和内模式。它们分别对应了用户视图、数据库模型和物理存储层次,描述了数据库的不同层次。

外模式指的是用户视图,即用户能够看到和操作的数据集合。每个用户可以拥有不同的外模式,它们可以根据用户需求进行定制和设计。

概念模式指的是数据库模型,即数据库的逻辑结构。它定义了数据库中的实体、关系、属性以及它们之间的约束关系。

内模式指的是数据库的物理存储结构,包括磁盘块、索引方式、数据存储方式等。它描述了数据库中的数据如何在物理存储介质上进行组织和管理。

  1. 二级映像

数据库的二级映像是指概念模式和内模式之间的映像关系。它将概念模式中的实体、属性和关系映射为内模式中的数据结构和存储方式。

在数据库系统中,通过使用二级映像可以将概念模式中的数据映射到内存中进行处理。这样可以提高数据库系统的性能和效率,同时也方便了数据库的管理和维护。

综上所述,数据库的三级模式和二级映像是数据库系统中的两个核心概念,它们分别描述了数据库的不同层次和不同视图,并且通过映像关系将不同层次的数据结构和存储方式联系起来。

用户能够直接使用的是数据库的什么模式

用户能够直接使用的是数据库的外部模式(也称为用户模式或子模式)。

外部模式是数据库中的一个概念,它定义了用户可以直接访问和操作的部分数据。每个外部模式都是针对具体用户或应用程序设计的,它们通常只包含用户需要的部分数据和相应的数据结构。外部模式定义了用户如何看待和操作数据,是用户和数据库之间的接口。

与外部模式相对的是内部模式(也称为存储模式),它定义了数据库中数据的存储方式和物理结构,通常只有数据库管理员才会直接操作内部模式。

除了外部模式和内部模式,还有一个概念是概念模式,它定义了数据库中数据的总体逻辑结构和关系模式。概念模式是数据库设计的核心,它描述了实体、属性、关系等概念,并将其转换为数据库中的表、列、键等结构。概念模式与外部模式和内部模式之间存在映射关系,通过这种映射关系,用户可以使用外部模式操作概念模式中定义的数据。

B+树索引和哈希索引的主要区别如下:

  • 结构不同:B+树索引是一种多路搜索树,每个节点包含多个键值和指针。哈希索引是基于哈希表的,通过哈希函数将键值映射到哈希表的位置。
  • 查询效率不同:B+树索引对于范围查询和排序更高效,因为它是有序的。哈希索引对于精确查询更高效,因为哈希函数可以快速定位到具体位置。
  • 空间利用不同:哈希索引通常需要更多的空间来存储哈希表和解决哈希冲突。B+树索引可以更有效地利用空间,因为它可以自适应地调整节点的大小。
  • 可维护性不同:哈希索引在数据发生变化时需要重新计算哈希值并更新哈希表,维护起来更复杂。B+树索引可以通过插入和删除节点来维护结构,相对更容易维护。

总之,B+树索引和哈希索引各有优势,选择哪种索引取决于具体的应用场景和数据特点。

讲一下数据库中的封锁机制以及分类?

(1)数据库中的封锁是指事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。

(2)封锁机制中锁有两种:

  • 排他锁
  • 共享锁

(3)排他锁:

如果事务T对某个对象加了排他锁,则系统只允许事务T对这个数据对象进行读取和更新,其他事务·都不能对这个数据对象加任何锁,直到事务T释放这个数据对象上的排他锁。

(4)共享锁:

若事务T对某个对象加了共享锁,则系统只允许事务T对这个数据进行读取但不能更新,其他事务也能对这个数据对象加共享锁,而不能加排他锁,直到事务T释放共享锁。

封锁机制的作用:

解决丢失修改、不可重复读和读脏数据等不一致性的问题。

什么是元组, 码, 候选码, 主码, 外码, 主属性, 非主属性?

简要介绍一下事务?

  1. 数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。
  2. 事务具有 4 个特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),这 4 个特性通常简称为 ACID。

1. 原子性

事务是一个完整的操作。事务的各元素是不可分的(原子的)。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。

2. 一致性

当事务完成时,数据必须处于一致状态。也就是说,在事务开始之前,数据库中存储的数据处于一致状态。在正在进行的事务中. 数据可能处于不一致的状态,如数据可能有部分被修改。然而,当事务成功完成时,数据必须再次回到已知的一致状态。通过事务对数据所做的修改不能损坏数据,或者说事务不能使数据存储处于不稳定的状态。

3. 隔离性

对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。修改数据的事务可以在另一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问这些数据。

4. 持久性

事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的。

一个事务成功完成之后,它对数据库所作的改变是永久性的,即使系统出现故障也是如此。也就是说,一旦事务被提交,事务对数据所做的任何变动都会被永久地保留在数据库中。

数据库范式了解吗?

1NF(第一范式)

属性(对应于表中的字段)不能再被分割,也就是这个字段只能是一个值,不能再分为多个其他的字段了。1NF是所有关系型数据库的最基本要求 ,也就是说关系型数据库中创建的表一定满足第一范式。

2NF(第二范式)

2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖。如下图所示,展示了第一范式到第二范式的过渡。第二范式在第一范式的基础上增加了一个列,这个列称为主键,非主属性都依赖于主键。

3NF(第三范式)

3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖 。符合3NF要求的数据库设计,基本上解决了数据冗余过大,插入异常,修改异常,删除异常的问题。比如在关系R(学号 ,姓名, 系名,系主任)中,学号 → 系名,系名 → 系主任,所以存在非主属性系主任对于学号的传递函数依赖,所以该表的设计,不符合3NF的要求。

总结

1NF:属性不可再分。

2NF:1NF的基础之上,消除了非主属性对于码的部分函数依赖。

3NF:3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖 。

数据库设计通常分为哪几步?

  1. 需求分析 : 分析用户的需求,包括数据、功能和性能需求。
  2. 概念结构设计 : 主要采用 E-R 模型进行设计,包括画 E-R 图。
  3. 逻辑结构设计 : 通过将 E-R 图转换成表,实现从 E-R 模型到关系模型的转换。
  4. 物理结构设计 : 主要是为所设计的数据库选择合适的存储结构和存取路径。
  5. 数据库实施 : 包括编程、测试和试运行
  6. 数据库的运行和维护 : 系统的运行与数据库的日常维护。

1.结合数据库系统体系结构说明数据库系统的特点。

  • 数据库结构从逻辑上可以划分为3个层次:外部模式、概念模式和内部模式,称为数据库系统的三级模式结构。
  • 为了实现这三个抽象级别的联系和转换,提高数据库系统中的数据独立性,DBMS在这三级模式间提供了两层映像:外模式/模式映像和模式/内模式映像。

数据库系统的特点:

(1)数据结构化

(2)数据共享性高、冗余度低、易扩充

(3)数据独立性高

(4)数据由DBMS统一管理和控制

数据库中数据模型的三要素:

数据模型的定义:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式架构。

数据模型通常由数据结构,数据操作和完整性约束三部分组成

(1)数据结构

数据结构是所研究的对象类型的集合。它从语法角度表述了客观世界中数据对象本身的结构和数据对象之间的关联关系,是对系统静态特征的描述。

(2)数据操作

数据操作时对数据库中对象的实例允许执行的操作的集合,主要是指检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作时对系统动态特性的描述。

(3)数据完整性约束

数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以及保证数据的正确性、有效性和相容性。

紧接着提问:

数据库关系模型有哪三类完整性约束?

一、实体完整性

二、参照完整性

参照完整性要求关系中不允许引用不存在的实体。设定相应的更新删除插入规则来更新参考表。

三、用户自定义完整性

用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

数据库的参照完整性是指什么

数据库的参照完整性是指在数据库中存在的两个关系(表)之间的数据一致性保证。具体来说,参照完整性要求在一个表中的某个数据(通常是一个字段)作为另一个表中的外键时,该数据必须存在于另一个表的主键中,以确保数据的正确性和一致性。

例如,如果一个表中有一个“订单”字段,它引用了另一个表中的“客户”字段作为外键,那么在插入新的订单数据时,数据库必须确保这个“客户”字段对应的数据在另一个表中存在,否则这个订单数据将会被拒绝。这样可以避免无效的引用和数据不一致的问题,保证了数据的完整性。

参照完整性是数据库设计中非常重要的一个概念,它可以有效地保证数据库中数据的正确性和一致性,同时也是数据库操作的基础之一。

2.为什么要进行并发控制,并发控制采取的主要措施是什么?

为了解决并发操作引起的问题:丢失修改,不可重复读,读脏数据。

主要措施:三级封锁协议。

(1) 一级封锁协议是:事务 T 在修改数据R之前必须先对其加 X 锁,直到事务结束才释放。一级封锁协议能够解决“丢失修改”问题。

(2) 二级封锁协议是:一级封锁协议加上事务在读取数据 R 之前必须先对其加S锁 ,读完后即可释放S锁。二级封锁不仅可以解决“丢失修改”问题,而且可以解决读“脏“数据问题。

(3) 三级封锁协议是:一级封锁协议加上事务在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议不仅解决了“丢失修改”、读“脏”数据问题,而且进一步解决了“不可重复读”问题。

3.关系数据模型的三要素是什么?结合三要素说明关系系统的分类。

三要素:关系数据结构、关系操作、关系完整性约束。

关系系统的分类:

  • 表式系统:仅支持关系数据结构(即表),不支持集合级的操作。表式系统不能算关系系统。
  • 最小关系系统:仅支持关系数据结构和3种关系操作。
  • 关系完备的系统:支持关系数据结构和所有的关系代数操作。
  • 全关系系统:支持关系模型的所有特征,特别是数据结构中域的概念、实体完整性和参照完整性。

4.简述DB, DBMS, DBS三者之间的关系。

数据库(DB):是在计算机的存储设备上合理存放、相关联、有结构的数据集合。

数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件。它的主要功能是建立和维护数据库,接受和完成用户访问数据库的各种请求。

数据库系统(DBS):数据库系统是实现有组织地、动态地存储大量相关的结构化数据,方便各类用户使用数据库的计算机软件/硬件资源的集合。

DBS包括DB和DBMS。

6.数据库的完整性概念和数据库的安全性概念有什么区别和联系?

数据库的安全性:防止非法用户使用数据库造成数据泄露、更改或破坏、以达到保护数据库的目的。

数据库的完整性:数据库中数据的正确性和相容性,为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。

安全性防范的对象是非法用户和非法操作,完整性防范的是不符合语义的数据。

7.关系代数的基本运算有哪些?如何用这些基本运算来表示其他的关系运算?

关系代数基本运算有:并、差、笛卡儿积、选择、投影

交:用差实现。R∩S = R – (R – S)

连接:用笛卡儿积和选择实现。连接的两个关系先做笛卡儿积,再对结果按连接条件做选择。

自然连接:用笛卡儿积、选择和投影实现。自然连接的两个关系先做笛卡儿积,用选择运算选出公共属性值相同的元组,用投影运算去除重复属性。

除:用笛卡儿积、投影和差实现。T= 1…m( R )

R÷S=T — 1…m( T × S—R )

8.简述数据库系统中可能发生的故障类型及相应的恢复策略。

事物故障:反向扫描日志文件,将日志中更新前的数据写回到数据库中,直至事务开始标志。

系统故障:撤销故障发生时未完成的任务,重做已完成的任务。

介质故障:利用数据库副本和日志文件副本恢复。

计算机病毒

9.什么是数据逻辑独立性?

模式改变时,外模式和应用程序不变。这种用户数据独立于全局逻辑数据的特性称为数据的逻辑独立性。

10.举例说明主码的概念和关系模型的实体完整性规则。

在一个关系中,能唯一标识元组的属性或最小属性集称为关系的候选码。

若一个关系有多个候选码,则选其中的一个为主码。

实体完整性规则:关系在主码上的所有属性都不能取空值,而不是主码整体不能取空值。

11.并发控制解决的问题及基本封锁类型。

并发控制解决的问题有:丢失修改、不可重复读、读脏数据。

基本封锁类型有:排他锁和共享锁。

12.什么是数据独立性?数据库中的数据独立性是如何实现的?

数据独立性是指数据库中数据与应用程序的无关性。

逻辑独立性是指数据的全局逻辑结构与局部逻辑结构之间的相互独立性。

物理独立性是指数据的存储结构与全局逻辑结构之间的相互独立性。

[书]

/*

数据库在某一层次模式上的改变不会使它的上一层模式也改变的过程。数据独立性包括数据逻辑独立性和数据物理独立性。

逻辑独立性:模式改变,无需改变外模式或应用程序。

物理独立性:内模式发生变化,无需改变模式或外模式。

*/

逻辑独立性通过外模式/模式映像实现

物理独立性通过模式/内模式映像实现

13.什么是数据库的参照完整性,并举例说明。

若属性(或属性组)F是 基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。

14.简述规范化理论的基本思想,以及从1NF到BCNF的规范化过程。

在数据库中,数据冗余会引起各种操作异常,通过把关系模式分解为若干子模式可以消除冗余现象。规范化理论给出了模式分解可能达到的范式标准以及具体的模式分解准则和算法。

规范化的基本思想:

消除不合适的数据依赖,使得各关系模式达到某种程度的“分离”

采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去

所谓规范化实质上是概念的单一化

1NF保证关系模式中每个属性都不可再分。

2NF消除了非主属性对码的部分函数依赖。

3NF消除了非主属性对码的传递函数依赖。

BCNF消除了主属性对码的部分和传递函数依赖

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件工程面试——数据库 的相关文章

  • 【软件测试】学习笔记-高效提交Bug

    本篇文章介绍如何才能写出一份高效的软件缺陷报告 测试工程师需要利用对需求的理解 高效的执行力以及严密的逻辑推理能力 迅速找出软件中的潜在缺陷 并以缺陷报告的形式递交给开发团队 缺陷报告是测试工程师与开发工程师交流沟通的重要桥梁 也是测试工程
  • 【计算机毕业设计】线上招聘问答系统

    计算机网络发展到现在已经好几十年了 在理论上面已经有了很丰富的基础 并且在现实生活中也到处都在使用 可以说 经过几十年的发展 互联网技术已经把地域信息的隔阂给消除了 让整个世界都可以即时通话和联系 极大的方便了人们的生活 所以说 线上招聘问
  • 【计算机毕业设计】Java图书馆智能选座系统

    现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本图书馆智能选座系统就是在这样的大环境下诞生 其可以帮助使用者在短时间内处理完毕庞大的数据信息 使用这种软件工具可以帮助管
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • 图解python | 字符串及操作

    1 Python元组 Python的元组与列表类似 不同之处在于元组的元素不能修改 元组使用小括号 列表使用方括号 元组创建很简单 只需要在括号中添加元素 并使用逗号隔开即可 tup1 ByteDance ShowMeAI 1997 202
  • Python 中多态性的示例和类的继承多态性

    单词 多态 意味着 多种形式 在编程中 它指的是具有相同名称的方法 函数 操作符 可以在许多不同的对象或类上执行 函数多态性 一个示例是 Python 中的 len 函数 它可以用于不同的对象 字符串 对于字符串 len 返回字符的数量 示
  • 【计算机毕业设计】北工国际健身俱乐部

    本系统为会员而设计制作北工国际健身俱乐部 旨在实现北工国际健身俱乐部智能化 现代化管理 本北工国际健身俱乐部管理自动化系统的开发和研制的最终目的是将北工国际健身俱乐部的运作模式从手工记录数据转变为网络信息查询管理 从而为现代管理人员的使用提
  • 【计算机毕业设计】趵突泉景区的智慧导游小程序_5ztvv

    当今社会已经步入了科学技术进步和经济社会快速发展的新时期 国际信息和学术交流也不断加强 计算机技术对经济社会发展和人民生活改善的影响也日益突出 人类的生存和思考方式也产生了变化 传统趵突泉景区的智慧导游采取了人工的管理方法 但这种管理方法存
  • 【计算机毕业设计】宝鸡文理学院学生成绩动态追踪系统

    研究开发宝鸡文理学院学生成绩动态追踪系统的目的是让使用者可以更方便的将人 设备和场景更立体的连接在一起 能让用户以更科幻的方式使用产品 体验高科技时代带给人们的方便 同时也能让用户体会到与以往常规产品不同的体验风格 与安卓 iOS相比较起来
  • 【计算机毕业设计】OA公文发文管理系统_xtv98

    近年来 人们的生活方式以网络为主题不断进化 OA公文发文管理就是其中的一部分 现在 无论是大型的还是小型的网站 都随处可见 不知不觉中已经成为我们生活中不可或缺的存在 随着社会的发展 除了对系统的需求外 我们还要促进经济发展 提高工作效率
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 面试官问,如何在十亿级别用户中检查用户名是否存在?

    面试官问 如何在十亿级别用户中检查用户名是否存在 前言 不知道大家有没有留意过 在使用一些app注册的时候 提示你用户名已经被占用了 需要更换一个 这是如何实现的呢 你可能想这不是很简单吗 去数据库里查一下有没有不就行了吗 那么假如用户数量
  • 数据库 | 面试官:一次到底插入多少条数据合适啊?.....面试连环炮

    数据库 面试官 一次到底插入多少条数据合适啊 面试连环炮 数据库插入操作的基础知识 插入数据是数据库操作中的基础 但是 我们程序员将面临随之而来的问题 如何快速有效地插入数据 并保持数据库 性能 当你向数据库中插入数据时 这些数据直接存储到
  • 最新整理Java面试八股文,大厂必备神器

    在此 我采访了数十名大厂的面试官和上百的的面试者 总结出了这一套Java面试八股文 这套八股文已经帮助了上百人拿到自己心仪的offer 我们先来看看这套八股文 Java基础面试八股文 操作系统中 heap 和 stack 的区别 什么是基于
  • 2024史上最全Java面试八股文(带全部答案)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • 毕业设计:基于python人脸识别系统 LBPH算法 sqlite数据库 (源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机毕业
  • Python - 字典4

    复制字典 您不能简单地通过输入 dict2 dict1 来复制一个字典 因为 dict2 只会成为 dict1 的引用 对 dict1 的更改也会自动应用于 dict2 有多种方法可以复制字典 一种方法是使用内置的 copy 方法 示例 使
  • SAP ERP系统是什么?SAP好用吗?

    A公司是一家传统制造企业 公司曾先后使用过数个管理软件系统 但各部门使用的软件都是单独功能 导致企业日常管理中数据流与信息流相对独立 形成了 信息孤岛 随着公司近年业务规模的快速发展以及客户数量的迅速增加 企业原有的信息系统在销售预测及生产
  • Python 使用 NoSQL 数据库的优选方案

    NoSQL 数据库因其高性能 可扩展性和灵活性而风靡一时 然而 对于 Python 程序员而言 选择合适的 NoSQL 数据库可能会令人困惑 因为有多种选择可供选择 那么 哪种 NoSQL 数据库最适合 Python 呢 2 解决方案 根据

随机推荐

  • 离散数学期末复习

    第一章 命题逻辑 联结词 蕴涵的注意事项 公式的层次 单个命题公式为0公式 等值演算的公式 范式 1 简单合取式 简单析取式 2 极小项 由简单合取式构成 m0 极大项 由简单析取式 构成 M0 奎因 莫可拉斯基方法求最简展开式 1 找极小
  • C语言笔记(二)

    基础 1 进制问题 1 1 二进制 1 2 ASCII 1 3 k进制转换为十进制 1 4 十进制转换为k进制 2 输入输出 3 逻辑运算符 4 运算符优先级 5 switch分支语句 6 字符串查找strchr函数 1 进制问题 1 1
  • 工作和生活中,如何用项目管理思维解决复杂的事情?

    在工作和生活中 许多事情都可以采用项目思维方式来解决 当我们逐渐将工作和生活中的各种事务以项目的方式来处理和推进时 我们可能并没有意识到 实际上我们正在运用项目管理思维 项目管理思维能帮助我们在面对繁杂事务时 理清思路 考虑周全 明确行动
  • 《程序员的自我修养—链接、装载与库》

    程序员的自我修养 链接 装载与库 读书笔记 本文为记录笔记 大部分内容为书中的摘抄 作者微博 MTK 蛙蛙鱼 写作时间 2013年11月18日 更新时间 2014年02月18日 编译和链接 2 1 被隐藏了的过程 预编译 cpp or gc
  • 蓝桥BASIC-18 矩形面积交 思路分析

    问题描述 平面上有两个矩形 它们的边平行于直角坐标系的X轴或Y轴 对于每个矩形 我们给出它的一对相对顶点的坐标 请你编程算出两个矩形的交的面积 输入格式 输入仅包含两行 每行描述一个矩形 在每行中 给出矩形的一对相对顶点的坐标 每个点的坐标
  • Qt开发上位机软件建立经典蓝牙通讯

    Qt开发上位机软件建立经典蓝牙通讯 之前做了一个具有经典蓝牙通讯功能的Windows上位机软件 在网上学习了相关博客以及参考了官方经典蓝牙例程之后 总结出了使用Qt建立经典蓝牙通讯的步骤 附带相关源码 作为分享 开发环境 我使用的Qt版本是
  • ESP32 LVGL开发一 移植与例程

    简介 LVGL 轻量级和通用图形库 是一个免费和开源的图形库 提供UI通信元素的构建接口与较低资源实现的源码 适用于快速开发UI图形交互页面的应用 官方已经适配了ESP32硬件平台 库版本为v7 11 开箱即用 如有异议 欢迎留言指正 特性
  • java进制转换及算法

    本文主要讲各个进制转换的方法 进制转换 前言 一 说明 1 作用 2 本质 3 方法 4 场景 二 实例 1 字符串与16进制的互转 2 16进制字符串与byte数组互转 3 字符串与指定格式的byte数组互转 4 字符串与16进制互转 5
  • PC-Lint c/c++ 代码检查工具

    概述 PC Lint是GIMPEL SOFTWARE公司的一个产品 它是一个历史悠久 功能异常强劲的静态代码检测工具 它的使用历史可以追溯到计算机编程的远古时代 30多年以前 经过这么多年的发展 它不但能够监测出许多语法逻辑上的隐患 而且也
  • Linux - Ubuntu下安装node.js的方法

    1 Putty连接 安装Putty连接到Ubuntu 输入密码验证后进入Putty命令行控制台 1 1 查看Ubuntu版本 sudo uname m 如果显示i686 你安装了32位操作系统 如果显示 x86 64 你安装了64位操作系统
  • Redis的高级特性一览

    更多内容 欢迎关注微信公众号 全菜工程师小辉 公众号回复关键词 领取免费学习资料 应用场景 缓存系统 用于缓解数据库的高并发压力 计数器 使用Redis原子操作 用于社交网络的转发数 评论数 粉丝数 关注数等 排行榜 使用zset数据结构
  • ag-grid表格如何使用?

    1 自定义标题 tableHeaderCustom vue
  • 证件照片如何换背景底色,3个免费制作证件照的方法,简单易学

    在日常生活中 我们经常需要用到证件照 比如 找工作需要简历上附带有证件照 还有办理学生证 身份证也需要提交证件照 不同的平台有时候提交的要求 背景底色 大小等 也不一样 如果你不想每次都重拍 那么可以用一些工具 软件 在原来的照片上修改 也
  • smb协议详解和samba服务的配置

    理论部分 samba 基于smb协议使网络上的计算机能共享文件 samba的核心是smbd和nmbd两个守护进程 smbd 管理samba服务器上的共享目录 nmbd 进行netbios名解析 使客户端能浏览服务器的共享资源 协议端口 sm
  • 堆的用法总结

    堆 heaps 不是容器 而是一种特别的数据组织方式 堆一般用来保存序列容器 堆很重要 很多不同的计算机进程中都使用了它们 为了弄明白堆是什么 首先需要明白树是什么 因此首先说明树这种数据结构是什么 树是分层排列的元素或节点 每个节点有一个
  • Hive架构及基础知识

    1 用户接口 Client CLI hive shell JDBC ODBC java 访问 hive WEBUI 浏览器访问 hive 2 元数据 Metastore 元数据包括 表名 表所属的数据库 默认是 default 表的拥有者
  • C++多态学习(二)完整定义:什么是多态?

    多态分为静多态和动多态 1 静多态 函数重载 是一种多态现象 通过命名倾轧在编译阶段决定 故称为静多态 2 动多态 动多态 不是在编译器阶段决定 而是在运行阶段决定 故称为动多态 动多态形成的条件如下 1 父类中有虚函数 2 子类overr
  • SpringBoot使用@Async实现多线程异步

    SpringBoot使用 Async实现多线程异步 一 什么是异步 说明 在同步操作中 我们执行到添加数据库的时候 我们必须等待这个方法彻底执行完才能执行 修改数据 完成后 发送短信 完成后 发送消息 等操作 如果插入数据库这个动作执行时间
  • 全新防火墙6.0 单条PPPOE(ADSL)上网配置

    一 组网需求 外网接口使用ADSL拨号 内网为192 168 1 0 24网段 实现基本上网功能 二 网络拓扑 三 配置要点 1 配置接口 wan1口 接ADSL的接口 务必勾选 从服务器重新获得网关 这样ADSL拨号成功后设备会自动生成默
  • 软件工程面试——数据库

    数据库实体的关系 数据库中的实体关系指的是不同实体之间的相互依赖和联系 实体关系是数据库设计中非常重要的一个概念 它是用于描述不同实体之间的关系 连接和交互方式的 在数据库中 一个实体通常指的是一个对象或者一个概念 比如一个人 一个订单或者