当前位置: 首页 > news >正文

【面试系列】SQL 高频面试题

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏:

⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.
⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。
⭐️ 全流程数据技术实战指南:全面讲解从数据采集到数据可视化的整个过程,掌握构建现代化数据平台和数据仓库的核心技术和方法。

文章目录

    • SQL 初级面试题及其详细解答
      • 1. 什么是 SQL?简要解释其用途。
      • 2. 如何创建一个新的数据库?
      • 3. 如何创建一个包含三个字段(id、name、age)的表?
      • 4. 如何插入一条记录到上面的表中?
      • 5. 如何查询表中的所有记录?
      • 6. 如何更新表中的某条记录?
      • 7. 如何删除表中的某条记录?
      • 8. 什么是主键?它有什么作用?
      • 9. 如何添加一个名为 `email` 的新列到现有的表中?
      • 10. 如何创建一个包含外键的表?
    • SQL 中级面试题及其详细解答
      • 1. 解释 SQL 连接的类型,并提供示例查询。
      • 2. 什么是索引?如何创建索引?
      • 3. 解释视图的概念,并说明如何创建视图。
      • 4. 如何使用子查询?
      • 5. 如何使用聚合函数(如 COUNT、SUM、AVG、MAX、MIN)?
      • 6. 什么是事务?如何在 MySQL 中使用事务?
      • 7. 如何使用 `GROUP BY` 和 `HAVING` 子句?
      • 8. 如何使用联合(UNION)操作符?
      • 9. 如何在 MySQL 中执行复杂的联表查询?
      • 10. 如何优化 SQL 查询性能?
    • SQL 高级面试题及详细解答
      • 1. 什么是窗口函数(Window Functions)?如何在 SQL 中使用窗口函数?
      • 2. 如何使用递归查询(Recursive Query)?
      • 3. 如何处理日期和时间数据类型的操作?
      • 4. 如何优化复杂查询的性能?
      • 5. 如何处理大数据量的导入和导出?
      • 6. 什么是索引覆盖(Index Coverage)?如何利用索引覆盖优化查询?
      • 7. 如何处理并发和事务一致性?
      • 8. 如何在复杂条件下进行数据过滤和分组?
      • 9. 如何处理空值和重复数据?
      • 10. 如何实现数据库的备份和恢复?
    • 总结
      • 1. 基本 SQL 查询和操作
      • 2. 数据类型和约束
      • 3. 查询优化和性能调优
      • 4. 数据库设计和规范化
      • 5. 高级查询技术
      • 6. 事务管理和并发控制
      • 7. 视图、存储过程和触发器
      • 8. 数据库备份、恢复和安全性
      • 9. SQL 标准和特定数据库系统的差异
      • 10. 错误处理和调试技巧

SQL 初级面试题及其详细解答

1. 什么是 SQL?简要解释其用途。

解答
SQL(结构化查询语言)是一种用于管理和操作关系数据库的标准语言。它用于执行查询、更新、插入、删除和其他数据库操作,帮助用户从数据库中检索所需的数据、定义和修改数据库结构。

2. 如何创建一个新的数据库?

解答
可以使用 CREATE DATABASE 语句来创建一个新的数据库。下面是一个创建名为 mydatabase 的数据库的示例:

CREATE DATABASE mydatabase;

3. 如何创建一个包含三个字段(id、name、age)的表?

解答
可以使用 CREATE TABLE 语句创建一个表。下面是创建名为 persons 的表的示例:

CREATE TABLE persons (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),age INT
);

4. 如何插入一条记录到上面的表中?

解答
使用 INSERT INTO 语句插入记录。下面是插入一条记录的示例:

INSERT INTO persons (name, age) VALUES ('Alice', 30);

5. 如何查询表中的所有记录?

解答
使用 SELECT 语句查询所有记录。下面是查询 persons 表中所有记录的示例:

SELECT * FROM persons;

6. 如何更新表中的某条记录?

解答
使用 UPDATE 语句更新记录。下面是将 persons 表中 id 为 1 的记录的 age 更新为 31 的示例:

UPDATE persons SET age = 31 WHERE id = 1;

7. 如何删除表中的某条记录?

解答
使用 DELETE 语句删除记录。下面是删除 persons 表中 id 为 1 的记录的示例:

DELETE FROM persons WHERE id = 1;

8. 什么是主键?它有什么作用?

解答
主键(Primary Key)是表中一列或多列的组合,其值唯一标识表中的每一行记录。主键不允许 NULL 值,确保每条记录的唯一性和完整性。

9. 如何添加一个名为 email 的新列到现有的表中?

解答
使用 ALTER TABLE 语句添加新列。下面是向 persons 表中添加 email 列的示例:

ALTER TABLE persons ADD email VARCHAR(100);

10. 如何创建一个包含外键的表?

解答
使用 FOREIGN KEY 关键字创建包含外键的表。下面是一个示例,其中 orders 表包含一个引用 personsid 的外键:

CREATE TABLE orders (order_id INT AUTO_INCREMENT PRIMARY KEY,order_date DATE,person_id INT,FOREIGN KEY (person_id) REFERENCES persons(id)
);

SQL 中级面试题及其详细解答

1. 解释 SQL 连接的类型,并提供示例查询。

解答
SQL 支持多种连接类型,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN。每种连接类型用于不同的目的:

  • INNER JOIN:仅返回两个表中匹配的记录。
  • LEFT JOIN:返回左表中的所有记录,以及右表中匹配的记录。
  • RIGHT JOIN:返回右表中的所有记录,以及左表中匹配的记录。
  • FULL JOIN:返回两个表中所有匹配和不匹配的记录。

示例查询:

-- INNER JOIN 示例
SELECT a.id, a.name, b.order_id
FROM persons a
INNER JOIN orders b ON a.id = b.person_id;-- LEFT JOIN 示例
SELECT a.id, a.name, b.order_id
FROM persons a
LEFT JOIN orders b ON a.id = b.person_id;-- RIGHT JOIN 示例
SELECT a.id, a.name, b.order_id
FROM persons a
RIGHT JOIN orders b ON a.id = b.person_id;-- FULL JOIN 示例(MySQL 不直接支持 FULL JOIN,可以通过 UNION 实现)
SELECT a.id, a.name, b.order_id
FROM persons a
LEFT JOIN orders b ON a.id = b.person_id
UNION
SELECT a.id, a.name, b.order_id
FROM persons a
RIGHT JOIN orders b ON a.id = b.person_id;

2. 什么是索引?如何创建索引?

解答
索引是数据库对象,用于加速数据的检索。索引用于快速查找表中的记录,类似于书的索引,可以显著提高查询性能。

创建索引的示例:

-- 创建单列索引
CREATE INDEX idx_name ON persons(name);-- 创建复合索引
CREATE INDEX idx_name_age ON persons(name, age);

3. 解释视图的概念,并说明如何创建视图。

解答
视图是基于 SQL 查询结果的虚拟表。视图提供了一种抽象数据库结构的方法,可以简化复杂查询、提高安全性和提高可读性。

创建视图的示例:

CREATE VIEW person_orders AS
SELECT a.id, a.name, b.order_id, b.order_date
FROM persons a
INNER JOIN orders b ON a.id = b.person_id;

4. 如何使用子查询?

解答
子查询是在另一个 SQL 查询中嵌套的查询,可以用于多种目的,如在 SELECTFROMWHERE 子句中使用。

示例:

-- 查询平均年龄大于所有人的年龄的记录
SELECT name, age
FROM persons
WHERE age > (SELECT AVG(age) FROM persons);

5. 如何使用聚合函数(如 COUNT、SUM、AVG、MAX、MIN)?

解答
聚合函数用于执行计算,如计数、求和、平均、最大和最小值。它们通常与 GROUP BY 子句结合使用。

示例:

SELECT COUNT(*), SUM(age), AVG(age), MAX(age), MIN(age)
FROM persons;

6. 什么是事务?如何在 MySQL 中使用事务?

解答
事务是一个或多个 SQL 语句的集合,这些语句作为一个单元执行。事务具有四个特性(ACID):原子性、一致性、隔离性和持久性。

在 MySQL 中使用事务的示例:

START TRANSACTION;-- 操作1
UPDATE accounts SET balance = balance - 100 WHERE id = 1;-- 操作2
UPDATE accounts SET balance = balance + 100 WHERE id = 2;-- 提交事务
COMMIT;-- 如果出现错误,可以回滚事务
-- ROLLBACK;

7. 如何使用 GROUP BYHAVING 子句?

解答
GROUP BY 子句用于将结果集按一个或多个列进行分组。HAVING 子句用于过滤分组后的结果集。

示例:

-- 按年龄分组并计算每个年龄的数量,过滤数量大于1的组
SELECT age, COUNT(*)
FROM persons
GROUP BY age
HAVING COUNT(*) > 1;

8. 如何使用联合(UNION)操作符?

解答
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。要求每个 SELECT 语句的列数和数据类型相同。

示例:

SELECT name, age FROM persons WHERE age < 30
UNION
SELECT name, age FROM employees WHERE age < 30;

9. 如何在 MySQL 中执行复杂的联表查询?

解答
复杂的联表查询可以通过多次连接和子查询实现。下面是一个示例,展示如何查询包含订单总金额的每个人的信息:

SELECT a.id, a.name, SUM(b.amount) as total_amount
FROM persons a
INNER JOIN orders b ON a.id = b.person_id
GROUP BY a.id, a.name;

10. 如何优化 SQL 查询性能?

解答
优化 SQL 查询性能的方法包括:

  • 使用索引加速数据检索。
  • 避免在索引列上使用函数。
  • 使用适当的连接类型。
  • 减少子查询,使用连接代替。
  • 定期维护和更新统计信息。

示例:

-- 确保查询使用索引
SELECT name FROM persons WHERE age > 30;-- 使用连接代替子查询
SELECT a.name
FROM persons a
INNER JOIN orders b ON a.id = b.person_id
WHERE b.amount > 100;

SQL 高级面试题及详细解答

1. 什么是窗口函数(Window Functions)?如何在 SQL 中使用窗口函数?

解答
窗口函数是一种高级 SQL 技术,用于在查询结果集内执行聚合、排序和分析操作,而不会影响查询结果集的行数。它们通常与 OVER 子句结合使用,支持排名、分区计算等复杂分析。

示例:

SELECT name,age,SUM(age) OVER (PARTITION BY department_id ORDER BY age) AS age_sum_per_department
FROM employees;

2. 如何使用递归查询(Recursive Query)?

解答
递归查询允许在单个查询中迭代查询自身,通常用于处理层次数据结构(如组织结构或评论回复)。在 MySQL 中,使用 WITH RECURSIVE 关键字实现递归查询。

示例:

WITH RECURSIVE cte AS (SELECT id, name, manager_idFROM employeesWHERE id = 1UNION ALLSELECT e.id, e.name, e.manager_idFROM employees eJOIN cte ON e.manager_id = cte.id
)
SELECT * FROM cte;

3. 如何处理日期和时间数据类型的操作?

解答
SQL 提供了许多函数和操作符来处理日期和时间数据类型,如 DATE, TIME, DATETIME, TIMESTAMP。常见操作包括日期计算、格式化、时区转换等。

示例:

-- 计算两个日期之间的天数差
SELECT DATEDIFF('2024-06-30', '2024-01-01');-- 提取日期部分
SELECT DATE_FORMAT('2024-06-30', '%Y-%m-%d');-- 转换时区
SELECT CONVERT_TZ('2024-06-30 12:00:00', '+00:00', '+08:00');

4. 如何优化复杂查询的性能?

解答
优化复杂查询的性能可以通过以下几种方式:

  • 使用索引来加速查询。
  • 避免在 WHERE 子句中使用函数,以允许索引的使用。
  • 分析和优化查询计划,确保最佳执行路径。
  • 使用合适的连接类型(如 INNER JOINLEFT JOIN)以减少不必要的计算。
  • 定期更新统计信息以帮助优化器做出更好的执行计划决策。

5. 如何处理大数据量的导入和导出?

解答
处理大数据量的导入和导出可以使用 SQL 中的 LOAD DATA INFILESELECT INTO OUTFILE 命令。这些命令允许快速、批量地将数据加载到数据库中或从数据库导出。

示例:

-- 从文件导入数据到表
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE mytable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';-- 将查询结果导出到文件
SELECT * INTO OUTFILE '/path/to/result.txt' FROM mytable;

6. 什么是索引覆盖(Index Coverage)?如何利用索引覆盖优化查询?

解答
索引覆盖是指查询可以完全通过索引返回所需的数据,而无需访问表中的实际行。这可以显著提高查询性能,因为它减少了从磁盘读取数据的需要。

示例:

-- 创建包含多列的复合索引
CREATE INDEX idx_name_age ON persons(name, age);-- 查询利用索引覆盖
SELECT name, age FROM persons WHERE name = 'Alice' AND age > 30;

7. 如何处理并发和事务一致性?

解答
并发控制和事务一致性是关系数据库管理系统(RDBMS)中非常重要的主题。可以使用事务和锁来确保数据的一致性和可靠性,以避免并发访问时的问题。

示例:

START TRANSACTION;-- 执行多个操作COMMIT; -- 提交事务-- 或者
ROLLBACK; -- 回滚事务

8. 如何在复杂条件下进行数据过滤和分组?

解答
复杂条件下的数据过滤和分组可以通过 CASE 表达式和子查询等方式实现。CASE 表达式可以根据条件返回不同的值,而子查询则可以将结果作为临时表进行进一步处理。

示例:

-- 使用 CASE 表达式进行条件过滤
SELECT id, name,CASEWHEN age < 30 THEN 'Young'WHEN age >= 30 AND age < 50 THEN 'Middle-aged'ELSE 'Senior'END AS age_group
FROM persons;-- 使用子查询进行进一步处理
SELECT age_group, COUNT(*)
FROM (SELECT id, name,CASEWHEN age < 30 THEN 'Young'WHEN age >= 30 AND age < 50 THEN 'Middle-aged'ELSE 'Senior'END AS age_groupFROM persons
) AS age_groups
GROUP BY age_group;

9. 如何处理空值和重复数据?

解答
处理空值可以使用 NULL 值处理函数(如 IFNULL()COALESCE())来替换空值,或者使用 IS NULLIS NOT NULL 运算符进行条件判断。处理重复数据可以使用 DISTINCT 关键字删除重复行。

示例:

-- 替换空值
SELECT id, name, IFNULL(email, 'N/A') AS email
FROM persons;-- 删除重复行
SELECT DISTINCT name, age
FROM persons;

10. 如何实现数据库的备份和恢复?

解答
数据库的备份和恢复可以使用 SQL 中的 mysqldump 工具进行导出和导入。此外,可以定期执行数据库的全量备份和增量备份,以确保数据的安全性和可靠性。

示例:

# 备份数据库
mysqldump -u username -p dbname > backup.sql# 恢复数据库
mysql -u username -p dbname < backup.sql

总结

在 SQL 面试中,候选人需要掌握多个关键知识点和技能,这些知识点涵盖了从基础到高级的各个方面。以下是面试中需要掌握的主要知识点:

1. 基本 SQL 查询和操作

  • SELECT 语句:理解如何使用 SELECT 查询表中的数据,并掌握 DISTINCTWHEREORDER BY 等子句的使用。
  • INSERT、UPDATE、DELETE 语句:了解如何插入、更新和删除表中的数据,掌握如何编写安全有效的数据操作语句。
  • 创建表:使用 CREATE TABLE 语句创建新表,定义表的结构、字段和约束。
  • ALTER 和 DROP TABLE:掌握如何修改和删除表的结构。

2. 数据类型和约束

  • 常见数据类型:如整数、浮点数、字符型、日期时间型等,了解每种数据类型的存储需求和适用场景。
  • 约束:掌握主键、外键、唯一约束、默认值约束、非空约束等的定义和使用,确保数据完整性和一致性。

3. 查询优化和性能调优

  • 索引:理解什么是索引及其工作原理,掌握如何创建、管理和使用索引以提高查询性能。
  • 查询计划分析:了解数据库系统如何执行查询,如何分析查询计划以优化查询效率。
  • 使用 EXPLAIN:掌握如何使用 EXPLAIN 分析查询执行计划,识别潜在的性能瓶颈和优化机会。

4. 数据库设计和规范化

  • 范式和反范式:理解数据库规范化的概念,掌握各个范式的要求和适用场景。
  • 关系图设计:能够设计关系图模型,包括实体、属性、关系和基本规范化步骤。

5. 高级查询技术

  • 子查询:了解如何使用子查询解决复杂查询需求,如在 SELECTFROMWHERE 子句中嵌套使用子查询。
  • 窗口函数:掌握窗口函数的概念和语法,如 OVER 子句的使用,用于执行排名、分析和聚合。
  • 递归查询:了解如何使用递归查询处理层次结构数据,掌握 WITH RECURSIVE 的语法和应用场景。

6. 事务管理和并发控制

  • 事务的 ACID 特性:理解事务的原子性、一致性、隔离性和持久性,如何确保数据的完整性和并发性。
  • 并发控制:了解如何处理并发访问的数据一致性问题,如使用锁、事务隔离级别和乐观锁等技术。

7. 视图、存储过程和触发器

  • 视图:理解视图的概念和作用,如何创建、更新和使用视图简化复杂查询。
  • 存储过程:掌握如何编写和调用存储过程,处理复杂业务逻辑和数据操作。
  • 触发器:了解触发器的作用和使用场景,如何定义触发器以响应表上的数据变更事件。

8. 数据库备份、恢复和安全性

  • 数据备份和恢复:了解如何执行数据库的完全备份和增量备份,确保数据的安全性和可靠性。
  • 数据库安全性:掌握如何管理数据库用户权限、角色和访问控制,确保数据库的安全性和隐私保护。

9. SQL 标准和特定数据库系统的差异

  • SQL 标准:了解 SQL 的标准语法和功能,以及不同数据库系统对标准的扩展和支持。
  • 特定数据库系统:熟悉至少一种主流数据库系统(如 MySQL、PostgreSQL、Oracle、SQL Server)的特性和优化技巧。

10. 错误处理和调试技巧

  • SQL 错误处理:理解如何捕获和处理 SQL 执行过程中的错误和异常情况。
  • 调试技巧:掌握如何使用日志和调试工具分析和解决 SQL 查询和性能问题。

综上所述,SQL 面试涵盖了从基础到高级的广泛知识领域,候选人需要具备良好的理论基础和实际操作经验,以及解决复杂问题的能力。熟练掌握以上知识点可以有效提升在 SQL 面试中的竞争力和表现。


💗💗💗 如果觉得这篇文对您有帮助,请给个点赞、关注、收藏吧,谢谢!💗💗💗

相关文章:

【面试系列】SQL 高频面试题

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&#xff1a;详细讲解AIGC的概念、核心技术、…...

【代码随想录训练营】【Day 66】【图论-3】| 卡码 101-104

【代码随想录训练营】【Day 66】【图论-3】| 卡码 101-104 需强化知识点 103&#xff0c;104 优化思路 题目 101. 孤岛的总面积 此处 area 多余 def dfs(grid, x, y, area):dirs [[0, 1], [0, -1], [1, 0], [-1, 0]]m, n len(grid), len(grid[0])area[0] 1grid[x][y] …...

【面试系列】C#高频面试题

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&#xff1a;详细讲解AIGC的概念、核心技术、…...

AI助力校园安全:EasyCVR视频智能技术在校园欺凌中的应用

一、背景分析 近年来&#xff0c;各地深入开展中小学生欺凌行为治理工作&#xff0c;但有的地方学生欺凌事件仍时有发生&#xff0c;严重损害学生身心健康&#xff0c;引发社会广泛关注。为此&#xff0c;教育部制定了《防范中小学生欺凌专项治理行动工作方案》进一步防范和遏…...

Yolov8可视化界面使用说明,含代码

⭐⭐ YOLOv8改进专栏|包含主干、模块、注意力机制、检测头等前沿创新 ​ ⭐⭐ YOLOv8可视化界面如下 使用需要安装opencv-python、torch、numpy及PySide6(python版本>3.9) pip install PySide6 pip install numpy pip install opencv-python 使用说明 运行下方代码&#xf…...

怎么使用MarkDown画矩阵

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 今天写文章需要用到矩阵&#xff0c;记录一下 画矩阵需要用到特殊的语法 &#xff08;1&#xff09;画普通矩阵&#xff0c;不带括号的 $$be…...

Kafka入门-基础概念及参数

一、Kafka术语 1. Broker Kafka属于分布式的消息引擎系统&#xff0c;它的主要功能是提供一套完备的消息发布与订阅解决方案。可以为每个业务、每个应用甚至是每类数据都创建专属的主题。 Kafka的服务器端由被称为Broker的服务进程构成&#xff0c;即一个Kafka集群由多个Broke…...

Clickhouse 常见操作

数据查询 从json array string中解析字段 json array string 为json.dumps(array(dict)) select JSONExtractString(row,"Date") as Date from( select arrayJoin(JSONExtractArrayRaw(Remarks)) as row from table x )JSONExtractArrayRaw&#xff1a; 将JsonS…...

Docker使用daocloud镜像加速

之前给大家分享的阿里云的镜像加速&#xff0c;今天再给大家分享一个还可以使用的镜像加速地址daocloud。 经过测试速度还是比较快的。 [rootbogon ~]# cat /etc/docker/daemon.json {"registry-mirrors": ["https://docker.m.daocloud.io"] }[rootbogon…...

flink的窗口

目录 窗口分类 1.按照驱动类型分类 1. 时间窗口&#xff08;Time window&#xff09; 2.计数窗口&#xff08;Count window&#xff09; 2.按照窗口分配数据的规则分类 窗口API分类 API调用 窗口分配器器&#xff1a; 窗口函数 增量聚合函数&#xff1a; 全窗口函数…...

lodash.js 工具库

lodash 是什么? Lodash是一个流行的JavaScript实用工具库,提供了许多高效、高兼容性的工具函数,能够方便地处理集合、字符串、数值、函数等多种数据类型,大大提高工作效率。 lodash官网 文档参见:Lodash Documentation lodash 在Vue中怎么使用? 1、首先安装 lodash np…...

使用ElementUI组件库

引入ElementUI组件库 1.安装插件 npm i element-ui -S 2.引入组件库 import ElementUI from element-ui; 3.引入全部样式 import element-ui/lib/theme-chalk/index.css; 4.使用 Vue.use(ElementUI); 5.在官网寻找所需样式 饿了么组件官网 我这里以button为例 6.在组件中使用…...

【SkiaSharp绘图14】SKCanvas方法详解(三)URL注释、按顶点绘制、 是否裁切区域之外、旋转、缩放、倾斜、平移、保存/恢复画布

文章目录 SKCanvas方法DrawUrlAnnotation 绘制URL注释DrawVertices 按顶点绘制Flush 立即绘制QuickReject 判断区域是否在裁切区域之外ResetMatrix重置矩阵Restore、RestoreToCountRotateDegrees按角度旋转画布RotateRadians按弧度旋转画布SaveLayer保存并新建图层Scale 缩放画…...

WebDriver API (2)

本文将继续上文对WebDriver API的功能使用进行介绍。 一、浏览器操作 1. 浏览器前进forward与后退back 浏览器前进操作是指导航到前一个页面&#xff0c;在浏览器的历史记录中向前移动一页。 浏览器后退操作是指导航到前一个页面&#xff0c;在浏览器的历史记录中向后移动一…...

GCP FrontendConfig 详解:优化您的云负载均衡

目录 1. 什么是GCP FrontendConfig? 2. FrontendConfig的主要功能 2.1 协议选择 2.2 SSL/TLS配置 2.3 重定向配置 2.4 自定义响应头 3. 配置FrontendConfig 4. FrontendConfig的高级特性 4.1 智能路由 4.2 流量控制 4.3 日志和监控 5. FrontendConfig最佳实践 5.…...

TensorFlow代码逻辑 vs PyTorch代码逻辑

文章目录 一、TensorFlow&#xff08;一&#xff09;导入必要的库&#xff08;二&#xff09;加载MNIST数据集&#xff08;三&#xff09;数据预处理&#xff08;四&#xff09;构建神经网络模型&#xff08;五&#xff09;编译模型&#xff08;六&#xff09;训练模型&#xf…...

boost asio异步服务器(4)处理粘包

粘包的产生 当客户端发送多个数据包给服务器时&#xff0c;服务器底层的tcp接收缓冲区收到的数据为粘连在一起的。这种情况的产生通常是服务器端处理数据的速率不如客户端的发送速率的情况。比如&#xff1a;客户端1s内连续发送了两个hello world&#xff01;,服务器过了2s才接…...

【QT】常用控件|widget|QPushButton|RadioButton|核心属性

目录 ​编辑 概念 信号与槽机制 控件的多样性和定制性 核心属性 enabled geometry ​编辑 windowTiltle windowIcon toolTip styleSheet PushButton RadioButton 概念 QT 控件是构成图形用户界面&#xff08;GUI&#xff09;的基础组件&#xff0c;它们是实现与…...

【C++ Primer Plus学习记录】函数参数和按值传递

函数可以有多个参数。在调用函数时&#xff0c;只需使用都逗号将这些参数分开即可&#xff1a; n_chars(R,25); 上述函数调用将两个参数传递给函数n_chars()&#xff0c;我们将稍后定义该函数。 同样&#xff0c;在定义函数时&#xff0c;也在函数头中使用由逗号分隔的参数声…...

MySQL:设计数据库与操作

设计数据库 1. 数据建模1.1 概念模型1.2 逻辑模型1.3 实体模型主键外键外键约束 2. 标准化2.1 第一范式2.2 链接表2.3 第二范式2.4 第三范式 3. 数据库模型修改3.1 模型的正向工程3.2 同步数据库模型3.3 模型的逆向工程3.4 实际应用建议 4. 数据库实体模型4.1 创建和删除数据库…...

OBS 免费的录屏软件

一、下载 obs 【OBS】OBS Studio 的安装、参数设置和录屏、摄像头使用教程-CSDN博客 二、使用 obs & 输出无黑屏 【OBS任意指定区域录屏的方法-哔哩哔哩】 https://b23.tv/aM0hj8A OBS任意指定区域录屏的方法_哔哩哔哩_bilibili 步骤&#xff1a; 1&#xff09;获取区域…...

uniapp微信小程序使用xr加载模型

1.在根目录与pages同级创建如下目录结构和文件&#xff1a; // index.js Component({properties: {modelPath: { // vue页面传过来的模型type: String,value: }},data: {},methods: {} }) { // index.json"component": true,"renderer": "xr-frame&q…...

机器人运动范围检测 c++

地上有一个m行n列的方格&#xff0c;一个机器人从坐标&#xff08;0&#xff0c;0&#xff09;的格子开始移动&#xff0c;它每次可以向上下左右移动一个格子&#xff0c;但不能进入行坐标和列坐标的位数之和大于k的格子&#xff0c;请问机器人能够到达多少个格子 #include &l…...

kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验

场景&#xff1a;kettle调用https接口&#xff0c;跳过校验SSL。&#xff08;有些公司内部系统之间的https的接口是没有SSL校验这一说&#xff0c;无需使用用证书的&#xff09; 解决方案&#xff1a;自定义插件或者自定义jar包通过javascript调用https接口。 1、http post 步…...

C++轻量级 线程间异步消息架构(向曾经工作的ROSA-RB以及共事的DOPRA的老兄弟们致敬)

1 啰嗦一番背景 这么多年&#xff0c;换着槽位做牛做马&#xff0c;没有什么钱途 手艺仍然很潮&#xff0c;唯有对于第一线的码农工作&#xff0c;孜孜不倦&#xff0c;其实没有啥进步&#xff0c;就是在不断地重复&#xff0c;刷熟练度&#xff0c;和同期的老兄弟们&#xf…...

Kotlin中的类

类初始化顺序 constructor 里的参数列表是首先被执行的&#xff0c;紧接着是 init 块和属性初始化器&#xff0c;最后是次构造函数的函数体。 主构造函数参数列表firstProperty 初始化第一个 init 块secondProperty 初始化第二个 init 块次构造函数函数体 class Example const…...

VSCode中常用的快捷键

通用操作快捷键 显示命令面板&#xff1a;Ctrl Shift P or F1&#xff0c;用于快速访问VSCode的各种命令。 快速打开&#xff1a;Ctrl P&#xff0c;可以快速打开文件、跳转到某个行号或搜索项目内容。 新建窗口/实例&#xff1a;Ctrl Shift N&#xff0c;用于打开一个新的…...

代码随想录-Day45

198. 打家劫舍 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个…...

Rust Eq 和 PartialEq

Eq 和 PartialEq 在 Rust 中&#xff0c;想要重载操作符&#xff0c;你就需要实现对应的特征。 例如 <、<、> 和 > 需要实现 PartialOrd 特征: use std::fmt::Display;struct Pair<T> {x: T,y: T, }impl<T> Pair<T> {fn new(x: T, y: T) ->…...

思考如何学习一门编程语言?

一、什么是编程语言 编程语言是一种用于编写计算机程序的人工语言。通过编程语言&#xff0c;程序员可以向计算机发出指令&#xff0c;控制计算机执行各种任务和操作。编程语言由一组语法规则和语义规则组成&#xff0c;这些规则定义了如何编写代码以及代码的含义。 编程语言…...

顺序串算法库构建

学习贺利坚老师顺序串算法库 数据结构之自建算法库——顺序串_创建顺序串s1,创建顺序串s2-CSDN博客 本人详细解析博客 串的概念及操作_串的基本操作-CSDN博客 版本更新日志 V1.0: 在贺利坚老师算法库指导下, 结合本人详细解析博客思路基础上,进行测试, 加入异常弹出信息 v1.0补…...

[论文阅读笔记33] Matching Anything by Segmenting Anything (CVPR2024 highlight)

这篇文章借助SAM模型强大的泛化性&#xff0c;在任意域上进行任意的多目标跟踪&#xff0c;而无需任何额外的标注。 其核心思想就是在训练的过程中&#xff0c;利用strong augmentation对一张图片进行变换&#xff0c;然后用SAM分割出其中的对象&#xff0c;因此可以找到一组图…...

阿里Nacos下载、安装(保姆篇)

文章目录 Nacos下载版本选择Nacos安装Windows常见问题解决 更多相关内容可查看 Nacos下载 Nacos官方下载地址&#xff1a;https://github.com/alibaba/nacos/releases 码云拉取&#xff08;如果国外较慢或者拉取超时可以试一下国内地址&#xff09; //国外 git clone https:…...

四、golang基础之defer

文章目录 一、定义二、作用三、结果四、recover错误拦截 一、定义 defer语句被用于预定对一个函数的调用。可以把这类被defer语句调用的函数称为延迟函数。 二、作用 释放占用的资源捕捉处理异常输出日志 三、结果 如果一个函数中有多个defer语句&#xff0c;它们会以LIFO…...

机器人----四元素

四元素 四元素的大小 [-1,1] 欧拉角转四元素...

IBM Spectrum LSF Application Center 提供单一界面来管理应用程序、用户、资源和数据

IBM Spectrum LSF Application Center 提供单一界面来管理应用程序、用户、资源和数据 亮点 ● 简化应用程序管理 ● 提高您的工作效率 ● 降低资源管理的复杂性 ● 深入了解流程 IBM Spectrum LSF Application Center 为集群用户和管理员提供了一个灵活的、以应用为中心的界…...

如何选择品牌推广公司?哪家好?收费标准及评价!

不管是什么品牌&#xff0c;推广对公司的成败起了很关键的作用。然而&#xff0c;面对市面上琳琅满目的品牌推广公司&#xff0c;如何选择一家既熟悉又靠谱的公司&#xff0c;成为许多企业主面临的难题。 作为一家手工酸奶品牌的创始人&#xff0c;目前全国也复制了100多家门店…...

JDeveloper 12C 官网下载教程

首先、我们要登录Oracle官网 Oracle 甲骨文中国 | 云应用和云平台 登录进去如果不是中文可以点击右上角带有国旗的图标就行更改&#xff0c;选择一个你能看懂的文字。 然后&#xff0c;点击“资源”—点击“开发人员下载” 然后&#xff0c;点击“开发工具” 这里有很多工具可…...

中英双语介绍美国的州:印第安纳州(Indiana)

中文版 印第安纳州简介 印第安纳州位于美国中西部地区&#xff0c;是一个以其农业、制造业和体育文化而著称的州。以下是对印第安纳州的详细介绍&#xff0c;包括其地理位置、人口、经济、教育、文化和主要城市。 地理位置 印第安纳州东临俄亥俄州&#xff0c;北接密歇根州…...

Flink实现准确和高效流处理的关键问题

时间相关: Watermark 水位线 水位线是插入到数据流中的一个标记,可以认为是一个特殊的数据。水位线主要的内容是一个时间戳,用来表示当前事件时间的进展。水位线是基于数据的时间戳生成的。水位线的时间戳必须单调递增,以确保任务的事件时间时钟一直向前推进,进展。水位线…...

isidentifier()方法——判断字符串是否为合法的Python标识符或变量名

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 isidentifier()方法用于判断字符串是否是有效的Python标识符&#xff0c;还可以用来判断变量名是否合法。isidentifier()方法的语法格式如…...

天猫商品列表数据接口(Tmall.item_search)

天猫平台商品列表数据接口&#xff08;taobao.item_search&#xff09;是天猫开放平台提供的一个API接口&#xff0c;用于获取天猫平台上的商品列表数据。通过该接口&#xff0c;用户可以获取到商品的名称、价格、销量、评价等信息。下面将具体介绍这个接口的各个方面&#xff…...

React+TS前台项目实战(二十一)-- Search业务组件封装实现全局搜索

文章目录 前言一、Search组件封装1. 效果展示2. 功能分析3. 代码详细注释4. 使用方式 二、搜索结果展示组件封装1. 功能分析2. 代码详细注释 三、引用到文件&#xff0c;自行取用总结 前言 今天&#xff0c;我们来封装一个业务灵巧的组件&#xff0c;它集成了全局搜索和展示搜…...

SEO与AI的结合:如何用ChatGPT生成符合搜索引擎优化的内容

在当今数字时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为每个网站和内容创作者都必须掌握的一项技能。SEO的主要目标是通过优化内容&#xff0c;使其在搜索引擎结果页面&#xff08;SERP&#xff09;中排名更高&#xff0c;从而吸引更多的流量。然而&#xf…...

【信息系统项目管理师知识点速记】组织通用管理:知识管理

23.3 知识管理 23.3.1 知识管理基础 知识管理是通过利用各种知识和技术手段,帮助组织和个人生产、分享、应用和创新知识,以形成知识优势并在个人、组织、业务目标、经济绩效和社会效益方面产生价值的过程。它能为组织带来知识增值,创造新的价值,提升决策效能和水平,是提…...

CM-UNet: Hybrid CNN-Mamba UNet for Remote Sensing Image Semantic Segmentation

论文&#xff1a;CM-UNet: Hybrid &#xff1a;CNN-Mamba UNet for Remote Sensing Image Semantic Segmentation 代码&#xff1a;https://github.com/XiaoBuL/CM-UNet Abstrcat: 由于大规模图像尺寸和对象变化&#xff0c;当前基于 CNN 和 Transformer 的遥感图像语义分割方…...

DP:子序列问题

文章目录 什么是子序列子序列的特点举例说明常见问题 关于子序列问题的几个例题1.最长递增子序列2.摆动序列3.最长递增子序列的个数4.最长数对链5.最长定差子序列 总结 什么是子序列 在计算机科学和数学中&#xff0c;子序列&#xff08;Subsequence&#xff09;是指从一个序列…...

Spring Data与多数据源配置

Spring Data与多数据源配置 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨如何在Spring Data中配置和使用多个数据源。 在现代应用程序中&…...

【前端vue3】TypeScrip-类型推论和类型别名

类型推论 TypeScript里&#xff0c;在有些没有明确指出类型的地方&#xff0c;类型推论会帮助提供类型。 例如&#xff1a; 变量xiaoc被推断类型为string 如重新给xiaoc赋值数字会报错 let xiaoc "xiaoc"xiaoc 1111111111111如没有给变量指定类型和赋值&#xf…...

javaEE——Servlet

1.web开发概述 所谓web开发,指的是从网页中向后端程序发送请求,与后端程序进行交互 2.java后端开发环境搭建 web后端(javaEE)程序需要运行在服务器中的&#xff0c;这样前端才可以访问得到 3.服务器是什么&#xff1f; ①服务器就是一款软件&#xff0c;可以向其发送请求&#…...

VBA提取word表格内容到excel

这是一段提取word表格中部分内容的vb代码。 Sub 提取word表格() mypath ThisWorkbook.Path & "\"myname Dir(mypath & "*.doc*")n 4 index of rowsRange("A1:F1") Array("课程代码", "课程名称", "专业&…...

深度学习与浅层学习:技术变革下的竞争态势

深度学习与浅层学习&#xff1a;技术变革下的竞争态势 在过去十年中&#xff0c;深度学习的崛起对整个人工智能领域产生了巨大影响&#xff0c;几乎在各种任务中显示出超越传统浅层学习方法的性能。这种变化不仅推动了技术的进步&#xff0c;还对硬件市场&#xff0c;尤其是显…...

Vue 路由传参 query方法 bug 记录

问题描述 vue 路由传参 踩坑 this.$router.push({path: "xxxxxxx",query: {opportunity_id:row.opportunity_id,constructor:row.constructor,},});解决方案&#xff1a; 上述方法传入新页面时&#xff0c;访问的 this.$route.query 会有bug 每一次刷新都会在最后一…...

ionic7 使用Capacitor打包 apk 之后,设置网络权限

报错处理 在打包的时候遇到过几个问题&#xff0c;这里记录下来两个 Visual Studio Code运行ionic build出错显示ionic : 无法加载文件 ionic 项目通过 android studio 打开报错 capacitor.settings.gradle 文件不存在 ionic7 项目初始化以及打包 apk 这篇文章讲到了如果安装…...

excel批量修改一列单价的金额并保留1位小数

1.打开表格&#xff0c;要把单价金额变成现在的两倍&#xff0c;数据如下&#xff1a; 2.把单价这一列粘贴到一个新的sheet页面&#xff0c;在B2单元格输入公式&#xff1a;A2*2 然后按enter回车键,这时候吧鼠标放到B2单元格右下角&#xff0c;会出现一个黑色的小加号&#xf…...

Rocky Linux 9.4基于官方源码制作openssh 9.8p1二进制rpm包 —— 筑梦之路

2024年7月1日&#xff0c;openssh 9.8版本发布&#xff0c;主要修复了CVE-2024-6387安全漏洞。 由于centos 7的生命周期在6月30日终止&#xff0c;因此需要逐步替换到Rocky Linux&#xff0c;后续会有更多分享关于Rocky Linux的文章。 环境说明 1. 操作系统版本 cat /etc/o…...

惊爆价!荣威D7EV限时优惠至12.98万起,B级纯电轿车新选择!

在新能源汽车市如火如荼的竞争中,上汽荣威凭借其一系列策略性的优惠活动,再次引发了市场的热烈讨论。4月2日,一场涵盖多个车型、针对不同需求的优惠派对拉开帷幕,呈现在消费者眼前的是诸如轿车荣威D7 EV、全新荣威i5,SUV车型eRX5以及MPV车型iMAX8等价位更亲民、品质不减的…...

LazyVim笔记

回到上次编辑的位置 gi非常的方便。 neo-tree KeyDescriptionMode<leader>beBuffer Explorern<leader>eExplorer NeoTree (Root Dir)n<leader>EExplorer NeoTree (cwd)n<leader>feExplorer NeoTree (Root Dir)n<leader>fEExplorer NeoTree (c…...

HNU-计算机体系结构-实验3-缓存一致性

计算机体系结构 实验3 计科210X 甘晴void 202108010XXX 文章目录 计算机体系结构 实验31 实验目的2 实验过程2.0 预备知识2.0.1 多cache一致性算法——监听法2.0.1.1 MSI协议2.0.1.2 MESI协议2.0.1.3 本题讲解 2.0.2 多cache一致性算法——目录法2.0.2.1 有中心的目录法2.0.2…...

Windows hook介绍与代码演示

Windows Hook 是一种机制&#xff0c;允许应用程序监视系统或处理特定事件。它可以拦截和更改消息&#xff0c;甚至可以插入到其他应用程序的消息处理机制中。Windows 提供了多种挂钩类型&#xff0c;例如键盘挂钩、鼠标挂钩、消息挂钩等。 hook代码实现 下面是一个使用 Wind…...

在轨一个月!神十八乘组都在忙些什么?

本文转自【新闻联播】;从4月26日进入中国空间站至今,神舟十八号乘组已经在轨工作生活满一个月了。三位航天员一边适应太空微重力环境,一边迅速投入在轨各项工作中,开展多项空间科学实验。“太空养鱼”进展如何?当前,中国空间站内各项空间科学实(试)验正在稳步推进。利用…...

力扣hot 100:49. 字母异位词分组(python C++)

目录 题目描述&#xff1a;题解&#xff08;python&#xff09;&#xff1a;&#xff08;方法一&#xff1a;排序&#xff09;代码解析代码运行解析 题解&#xff08;C&#xff09;&#xff1a;&#xff08;方法一&#xff1a;排序&#xff09;代码解析&运行解析 原题目链接…...