赛博错题本

ops/2024/12/26 11:12:04/

机构抽象老师非得让我们整一个错题本,我寻思都学计算机了,还在整高中做题呢一套是什么意思呢,更何况考试也就一周一次,你整个本完完全全没有必要,整个赛博错题本得了。以后错题都会存在这里,基本上一周一更新吧。。大概。

正文:

  • java中用()字指明继承关系,用()关键字指明对接口的实现。(C)B

A implements extends

B extends implements

C extend implement

D implement extend

这题纯没记住,被idea单词提示害了,嗯个tab建的事大费周章(

  • 以下关于 abstract 关键字的说法,正确的是(B)D

A abstract可以与final 并列修饰同一个类。

B abstract类中不可以有private的成员。

C abstract类中必须全部是abstract方法。

D abstract方法必须在abstract类或接口中。

抽象类能有私有成员,abstract 方法必须在抽象类或接口中声明,不能在普通类中。

  • 能用来修饰interface的有(D)B

A private

B public

C protected

D static

这题我审题出错了,我以为是接口类的成员能用来修饰的。

  • 抽象类和接口有什么区别?

接口和抽象类的区别:

(1)抽象类可以有构造方法,接口中不能有构造方法。

(2)抽象类中可以有普通成员变量,接口中没有普通成员变量

(3)抽象类中可以包含静态方法,接口中不能包含静态方法

(4) 一个类可以实现多个接口,但只能继承一个抽象类。

(5)接口可以被多重实现,抽象类只能被单一继承

(6)如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接

  • 在MySQL中,哪个命令用于删除表?(B)C

A. REMOVE TABLE B. DELETE TABLE C. DROP TABLE D. CLEAR TABLE

  • 在MySQL中,哪个命令用于备份数据库?(A)B

A. BACKUP B. DUMP C. EXPORT D. COPY

  • 什么是数据库三范式?

第一范式(1NF):确保每个表中的每个字段都是原子的,不可再分。即每个字段不能包含多个值或重复的值。这是数据库设计的基本要求,确保每个域都是原子数据项,不能是集合、数组或记录等非原子数据项。

第二范式(2NF):在1NF的基础上,非主键字段必须完全依赖于主键,不能仅依赖于主键的一部分。即消除部分依赖。这意味着每个非主键字段必须与主键有完全的依赖关系,不能存在仅依赖于主键一部分的情况。

第三范式(3NF):在2NF的基础上,非主键字段只能依赖于主键,而不能依赖于其他非主键字段。即消除传递依赖。这意味着每个非主键字段必须直接依赖于主键,不能存在非主键字段A依赖于非主键字段B,而B又依赖于主键的情况。

  • 设计表时,有哪些数据完整些约束?
  • 主键约束 (PRIMARY KEY)

    • 主键用于唯一标识每一行记录,确保表中的每条记录都是唯一的。
    • 主键字段不能为 NULL,且每个表只能有一个主键。
    • 主键通常由一个或多个字段组成(复合主键)。
  • 外键约束 (FOREIGN KEY)

    • 外键约束确保表之间的引用完整性,即一个表的外键列只能包含另一个表的有效主键值。
    • 外键约束可以用来维护数据的一致性,比如防止删除一个被其他表引用的记录。
  • 唯一约束 (UNIQUE)

    • 唯一约束用于确保一个列或一组列中的所有值都是唯一的。
    • 与主键类似,唯一约束可以防止重复数据,但与主键不同,唯一约束允许列值为 NULL(具体取决于数据库的实现)。
  • 非空约束 (NOT NULL)

    • 非空约束确保列中的数据不能为 NULL。这个约束通常用于确保在数据插入或更新时该列必须有值。
  • 检查约束 (CHECK)

    • 检查约束用于限制列中的数据范围或数据模式。例如,可以定义一个检查约束,确保某列的值在一个特定的范围内(如年龄大于 0,价格大于 0 等)。
    • 检查约束允许定义更复杂的规则,如字符串长度限制、正则表达式匹配等。
  • 默认值约束 (DEFAULT)

    • 默认值约束用于为列提供一个默认值,若插入数据时该列未提供值,则会使用默认值。
  • 唯一索引 (UNIQUE INDEX)

    • 虽然与唯一约束类似,但唯一索引允许对多个列组合进行唯一性验证,并且能够提高查询性能。
  • 自增约束 (AUTO_INCREMENT / SERIAL)

    • 自增约束通常用于主键列,自动为每一行生成唯一的标识符。自增字段会随着每次插入数据自动增长,避免了手动为主键赋值。
  • 复合约束 (Composite Constraints)

    • 复合约束是针对多个列的组合约束。比如,复合主键是由多个列组成的主键,复合唯一约束则是多个列的联合唯一性验证。
  • MySQL都有哪些常用的数据类型?

常用的数据类型有:

整型(xxxint)
位类型(bit)
浮点型(float和double、real)
定点数(decimal,numeric)
日期时间类型(date,time,datetime,year)
字符串(char,varchar,xxxtext)
二进制数据(xxxBlob、xxbinary)
枚举(enum)
 集合(set)

  • 表连接可分为哪些?各自有什么特点?

内连接 (INNER JOIN)

  • 特点:只返回两个表中符合连接条件的记录,即只有在连接字段匹配时才会返回结果。
  • 用途:用于查询两个或多个表中都存在的数据。
  • 返回结果:仅包含在两个表中都有匹配记录的行。

2. 左连接 (LEFT JOIN) 或 左外连接 (LEFT OUTER JOIN)

  • 特点:返回左边表(table1)的所有记录,即使右边表(table2)没有匹配记录。如果右边表没有匹配记录,结果中相应的右表列会返回 NULL
  • 用途:常用于查询某个表的所有记录以及其他表中匹配的记录,即使另一表没有对应的数据。
  • 返回结果:包含左表所有记录和匹配的右表记录。如果右表没有匹配的记录,则右表部分为 NULL

3. 右连接 (RIGHT JOIN) 或 右外连接 (RIGHT OUTER JOIN)

  • 特点:与左连接相反,返回右边表(table2)的所有记录,即使左边表(table1)没有匹配记录。如果左边表没有匹配记录,结果中相应的左表列会返回 NULL
  • 用途:查询右表的所有记录以及左表中匹配的记录。
  • 返回结果:包含右表所有记录和匹配的左表记录。如果左表没有匹配的记录,则左表部分为 NULL

4. 全连接 (FULL JOIN) 或 全外连接 (FULL OUTER JOIN)

  • 特点:返回两个表中所有的记录。无论左表或右表是否有匹配记录,如果某一表没有匹配项,则该表的列会返回 NULL
  • 用途:用于查询两个表中的所有数据,包括匹配的和不匹配的记录。
  • 返回结果:返回两个表的所有记录,对于没有匹配的记录,另一表部分为 NULL

5. 交叉连接 (CROSS JOIN)

  • 特点:返回左表和右表的笛卡尔积,即每个左表的记录都会与右表的每个记录组合,结果集的行数是左表行数乘以右表行数。
  • 用途:适用于需要生成所有可能的组合的场景。
  • 返回结果:返回左表的每一行与右表的每一行的所有组合。

6. 自连接 (SELF JOIN)

  • 特点:表与自身进行连接,通常使用表的别名来表示同一张表的不同“角色”。
  • 用途:常用于需要查找表中记录之间关系的场景,如查找员工与经理之间的关系。
  • 返回结果:通过别名将表自身的记录进行关联,通常用于关联表中具有自引用关系的数据。

各连接方式的比较:

连接类型结果集包含的记录连接条件是否匹配适用场景
内连接 (INNER JOIN)仅包含两个表中匹配的记录必须匹配查询两个表中都有的数据。
左连接 (LEFT JOIN)包含左表所有记录和右表匹配记录;左表记录没有匹配时,右表部分为 NULL左表记录必须返回查询左表的所有数据,右表有匹配则返回数据,否则返回 NULL
右连接 (RIGHT JOIN)包含右表所有记录和左表匹配记录;右表记录没有匹配时,左表部分为 NULL右表记录必须返回查询右表的所有数据,左表有匹配则返回数据,否则返回 NULL
全连接 (FULL JOIN)包含两个表所有记录,匹配记录显示在一起,非匹配记录返回 NULL不需要匹配查询两个表中的所有数据。
交叉连接 (CROSS JOIN)返回两个表的笛卡尔积,即左表行数 × 右表行数无条件匹配生成所有可能的组合,如生成排列组合表。
自连接 (SELF JOIN)表与表自身的连接,通常用于查找记录之间的关系需要别名查询表中记录之间的自引用关系,如查询员工和经理的关系。

http://www.ppmy.cn/ops/145111.html

相关文章

C#中的属性索引器(Indexer)

属性索引器(Indexer)是C#中一个非常有用的特性,它允许类的实例像数组一样通过索引进行访问。索引器不仅限于整数索引,还可以使用其他类型,如字符串,作为索引键。这使得索引器在访问集合类型或需要通过键来访…

[源码解析] 模型并行分布式训练Megatron (2) --- 整体架构

link [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 目录 [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 0x00 摘要0x01 启动 1.1 分布式启动1.2 构造基础 1.2.1 获取模型1.2.2 获取数据集1.2.3 步进函数 1.2.3.1 广播数据0x02 Pretrain0x03 初始化 3.1 …

Go语言中context 结构原理, 使用场景和用途

Go语言中context结构原理 在Go语言中,context是一个用于在API边界之间传递请求范围的值、取消信号、截止时间等信息的机制。它主要用于处理跨API边界的请求取消、超时控制以及传递请求范围内的共享数据。context的设计目标是为了解决在并发编程中,特别是…

SAM大模型实践(六)

今天试了一下geo-SAM快速版本fast-sam,项目参考地址如下: https://samgeo.gishub.org/examples/fast_sam/https://samgeo.gishub.org/examples/fast_sam/具体代码如下: # %pip install segment-geospatial segment-anything-fast # 在conda…

【Java基础面试题025】什么是Java的Integer缓存池?

回答重点 Java的Integer缓存池(Integer Cache)是为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围,因此缓存这些对象可以减少内存分配和垃圾回收的负担,提升性能 在 -128到127范围内的Integer对象会…

常见网络攻击场景常被用于测试系统安全性

常见网络攻击场景常被用于测试系统安全性 在区块链系统中,以下网络攻击场景常被用于测试系统安全性: 51% 攻击 攻击原理:当一个或一组攻击者控制了超过全网 50%的算力时,就有可能操纵区块链的账本记录。在工作量证明(PoW)机制下,攻击者可以通过算力优势,实现对新区块的…

聊一聊 C#线程池 的线程动态注入

一:背景 1. 讲故事 上一篇我们用 Thread.Sleep 的方式演示了线程池饥饿场景下的动态线程注入,可以观察到大概 1s 产生 1~2 个新线程,很显然这样的增长速度扛不住上游请求对线程池的DDOS攻击,导致线程池队列越来越大,但…

[OpenGL]使用TransformFeedback实现粒子效果

一、简介 本文介绍了如何使用 OpenGL 中的 Transform Feedback 实现粒子效果,最终可以实现下图的效果: 本文的粒子系统实现参考了modern-opengl-tutorial, ogldev-tutorial28 和 粒子系统–喷泉 [OpenGL-Transformfeedback]。 二、使用 TransformFeed…