运维面试sql篇

1. linux常用命令指令

  • linux了解吗?

在学校参加项目的时候,有一个web网站,需要部署到服务器上,一般服务器都是linux系统。当时是完全没有经验,全靠自己查资料解决的问题,最后也是把网站部署到服务器上了。所以了解一些linux指令。

  • linux基础包括哪些技能?
  • Linux命令大全http://www.linuxprobe.com/
  • Linux文件系统标准(Filesystem Hierarchy Standard)。
  • 至少熟悉一个内置编辑器:vi、nano、vim。
  • 至少熟悉一个linux发行版:Redhat、Ubuntu、Suse等。
  • 至少熟悉一个远程登录linux工具:putty、xshell等
  • Linux服务,服务器配置安装:ftp、http、nfs、dns、samba、DHCP、mail等
  • 至少熟悉一种脚本语言:shell script、perl、python等
  • 防火墙:iptables、ipset、firewalld等
  • linux命令?

image-20240814093733528

2.redis,MQ,Jboss,tomcat,nginx等常用应用程序

  • 你了解哪些应用程序?

我在学习后端开发的时候,使用到了tomcat,用它来启动项目。

简介?

Redis

  • 概述: Redis 是一个开源的高性能键值对(key-value)数据库,广泛用作缓存和消息代理。它支持多种数据结构,如字符串、哈希、列表、集合和有序集合。

  • 特点

    :

    • 内存存储,快速访问
    • 持久化选项(RDB 和 AOF)
    • 支持事务、发布/订阅和 LUA 脚本
    • 高可用性和分布式功能(如 Redis Sentinel 和 Redis Cluster)

2. MQ (Message Queue)

  • 概述: 消息队列是一种用于在系统之间传递消息的通信机制,通常用于解耦和异步处理。常见的消息队列系统有 Apache Kafka、RabbitMQ、ActiveMQ 等。

  • 特点

    :

    • 异步处理任务
    • 提高系统的可伸缩性和容错能力
    • 支持消息的持久化和确认机制
    • 支持分布式和高可用配置

3. JBoss

  • 概述: JBoss(现称为 WildFly)是一个开源的 Java EE 应用服务器,由 Red Hat 维护。它用于部署和管理 Java 企业级应用程序。

  • 特点

    :

    • 支持 Java EE 标准(包括 EJB、JPA、JMS 等)
    • 高度可扩展和配置化
    • 提供管理控制台和命令行工具
    • 支持集群和负载均衡

4. Tomcat

  • 概述: Apache Tomcat 是一个开源的 Servlet 容器和 Web 服务器,实现了 Java Servlet 和 JavaServer Pages (JSP) 规范。

  • 特点

    :

    • 用于部署和运行 Java Web 应用
    • 支持 Servlet 和 JSP 技术
    • 轻量级,适合中小型应用
    • 高度可配置,支持各种连接器和安全功能

5. Nginx

  • 概述: Nginx 是一个开源的高性能 Web 服务器和反向代理服务器。它也可以用作负载均衡器和 HTTP 缓存。
  • 特点
    • 高并发处理能力
    • 支持静态文件服务、反向代理和负载均衡
    • 低资源消耗和高性能
    • 提供灵活的配置选项和模块化架构

这些应用程序在现代软件架构中扮演着重要的角色,各自在其领域中提供了稳定、高效的解决方案。

3.熟悉使用sql语言

  • 如何创建数据库?

create database

  • sql中的约束条件有哪些?

在 SQL 中,我们有如下约束:

NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK - 保证列中的值符合指定的条件。
DEFAULT - 规定没有给列赋值时的默认值。

  • mysql中常用的聚合函数?

在 MySQL 中,常见的聚合函数包括:

  • COUNT(): 计算行数或特定列的非 NULL 值数量。
  • SUM(): 计算数值列的总和。
  • AVG(): 计算数值列的平均值。
  • MIN(): 查找列中的最小值。
  • MAX(): 查找列中的最大值.
  • GROUP_CONCAT(): 将组中的多个值连接为一个字符串。
  • STD(): 计算标准差(样本)。
  • VAR(): 计算方差(样本)。
  • COUNT(DISTINCT column_name): 计算列中唯一非 NULL 值的数量。
  • order by 排序
  • limit 分页查询

这些函数帮助你在查询数据时进行统计和汇总。

  • sql语句左外连接 右外连接 内连接 全连接?

内连接、左外连接、右外连接和全连接之间的主要区别在于如何处理表之间的匹配和不匹配记录。以下是它们之间的详细区别:

1. 内连接(INNER JOIN)

行为:

  • 只返回两个表中匹配的记录。
  • 如果某个表中的记录在另一个表中没有匹配项,那么这些记录将不会出现在结果集中。

用途:

  • 用于只需要获取两个表中都有的匹配数据的情况。

示例:

SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.department_id;

结果: 只显示那些在 employees 表和 departments 表中都有对应记录的员工和部门。

2. 左外连接(LEFT OUTER JOIN)

行为:

  • 返回左表(table1)中的所有记录,以及右表(table2)中匹配的记录。
  • 如果右表中没有匹配的记录,则结果中的右表列将显示 NULL

用途:

  • 用于需要获取左表中所有记录,并且包括右表中与之匹配的记录的情况,即使右表中没有匹配记录。

示例:

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;

结果: 显示所有员工的姓名及其对应的部门。如果某个员工没有部门,则部门名称为 NULL

3. 右外连接(RIGHT OUTER JOIN)

行为:

  • 返回右表(table2)中的所有记录,以及左表(table1)中匹配的记录。
  • 如果左表中没有匹配的记录,则结果中的左表列将显示 NULL

用途:

  • 用于需要获取右表中所有记录,并且包括左表中与之匹配的记录的情况,即使左表中没有匹配记录。

示例:

SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments
ON employees.department_id = departments.department_id;

结果: 显示所有部门及其对应的员工。如果某个部门没有员工,则员工姓名为 NULL

4. 全连接(FULL OUTER JOIN)

行为:

  • 返回两个表中所有记录,包括匹配和不匹配的记录。
  • 对于没有匹配的记录,结果中的对应列将显示 NULL

用途:

  • 用于需要获取两个表中所有记录的情况,包括那些在一个表中有而在另一个表中没有的记录。

示例:

SELECT employees.name, departments.department_name
FROM employees
FULL OUTER JOIN departments
ON employees.department_id = departments.department_id;

结果: 显示所有员工和部门的组合,无论它们是否有匹配的记录。MySQL 并不直接支持 FULL OUTER JOIN,可以通过 UNION 组合左外连接和右外连接来模拟。

总结:

  • 内连接 只返回匹配的记录。
  • 左外连接 返回左表所有记录及右表中匹配的记录(不匹配则为 NULL)。
  • 右外连接 返回右表所有记录及左表中匹配的记录(不匹配则为 NULL)。
  • 全连接 返回两个表的所有记录,包括匹配和不匹配的记录(对于不匹配的记录,对应列显示 NULL)。
  • sql常见关键字?
  • SELECT: 查询数据。
  • FROM: 指定查询的数据表。
  • WHERE: 过滤记录。
  • JOIN: 连接多个表。
  • GROUP BY: 按列分组聚合结果。
  • HAVING: 过滤分组数据。
  • ORDER BY: 排序结果。
  • INSERT INTO: 插入新记录。
  • UPDATE: 修改现有记录。
  • DELETE: 删除记录。
  • CREATE TABLE: 创建新表。
  • ALTER TABLE: 修改表结构。
  • DROP TABLE: 删除表。
  • TRUNCATE TABLE: 清空表数据。
  • DISTINCT: 选择唯一值。
  • UNION: 合并多个查询结果。
  • sql的增删改查?

在 SQL 中,增、删、改、查(CRUD)操作是基本的数据库操作。以下是这些操作的语法和示例:

1. 增(INSERT)

语法:

insert INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

示例:

insert INTO employees (name, department_id, hire_date)
VALUES ('Alice', 3, '2024-08-14');

2. 删(DELETE)

语法:

DELETE FROM table_name
WHERE condition;

示例:

DELETE FROM employees
WHERE name = 'Alice';

3. 改(UPDATE)

语法:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

示例:

UPDATE employees
SET department_id = 4
WHERE name = 'Alice';

4. 查(SELECT)

语法:

SELECT column1, column2, column3, ...
FROM table_name
WHERE condition;

示例:

SELECT name, department_id
FROM employees
WHERE hire_date = '2024-08-14';

这些基本操作允许你管理数据库中的数据,从插入新的记录到更新或删除现有记录,以及查询数据。

';


### 4. **查(SELECT)**

**语法:**

```sql
SELECT column1, column2, column3, ...
FROM table_name
WHERE condition;

示例:

SELECT name, department_id
FROM employees
WHERE hire_date = '2024-08-14';

这些基本操作允许你管理数据库中的数据,从插入新的记录到更新或删除现有记录,以及查询数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶落q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值