第1题-选择题

小红书9月17日机考题目与解析

1、IO 多路复用

园区门禁闸机要把多路套接字日志收进同一采集线程。IO 多路复用允许在单个线程中同时监视和处理多个 I/O 操作,以下不属于 IO 多路复用的技术是()

  • A. poll 用描述符数组等待多个套接字就绪
  • B. eselect IO多路复用
  • C. epoll 用内核事件表减少每次等待的用户态拷贝
  • D. select 在用户态传入描述符集合并阻塞等待就绪

2、二叉排序树

仓储货位号按插入顺序建立二叉排序树,插入序列为 (11, 13, 16, 18, 20, 22, 25)。建立好的二叉排序树是一棵()

  • A. 所有内部结点都有两个孩子的完美树
  • B. 按层从左到右填满的堆序树
  • C. 右向单支树
  • D. 每个结点只保留左孩子的递减链

3、流水线调度

单核质检台配有读码枪和喷码机各 1 台。现有 4 份并发工单,每份的采集、核算和喷码时间分别为 2ms、3ms 和 4ms,且都按采集、核算、喷码的顺序执行。执行完这 4 份工单需要的时间最少是()

  • A. 13ms
  • B. 9ms
  • C. 17ms
  • D. 21ms

4、mysqldump 备份

实验台账库要做夜间备份,运维选用 mysqldump。下列关于 mysqldump 的说法,正确的是()

  • A. 通过生成 SQL 语句实现数据库的逻辑备份
  • B. 通过停库后打包数据文件实现冷物理备份
  • C. 通过二进制日志实时回放实现热同步
  • D. 通过存储引擎页拷贝做增量物理备份

5、SQL 模糊查询

变电站检修班组人事库中,表结构如下:①检修员表(工号, 姓名, 性别, 出生日期, 入职日期, 班组编号);②出勤表(工号, 年份, 月份, 出勤量)。若完成操作:显示所有姓「王」和「赵」的检修员信息。以下操作可行的是()

  • A. select * from 检修员表 where 姓名='王%' or 姓名='赵%'
  • B. select * from 检修员表 group by 工号 having 姓名 like '王' or 姓名 like '赵'
  • C. select * from 检修员表 where 姓名 like '[王,赵]%'
  • D. select * from 检修员表 where substring(姓名, 2, 1) in ('王', '赵')

参考答案与解析

1、IO 多路复用(答案 B)

常见的 I/O 多路复用技术有:

  • select:在用户态传入描述符集合,阻塞等待多个套接字就绪。
  • poll:用描述符数组等待多个套接字就绪。
  • epoll:用内核事件表管理描述符,减少每次等待时的用户态/内核态拷贝开销。

eselect 并不是标准的 I/O 多路复用技术,属于干扰项。

2、二叉排序树(答案 C)

插入序列为 (11, 13, 16, 18, 20, 22, 25),是严格递增的。按二叉排序树规则:比当前结点小 → 插入左子树;比当前结点大 → 插入右子树。由于每个新插入的元素都比之前所有元素大,所以每次都插入到当前最右结点的右孩子位置,最终形成:

11
  \
   13
     \
      16
        \
         18
           \
            20
              \
               22
                 \
                  25

这是一棵只有右孩子的单支树,即 右向单支树

3、流水线调度(答案 D)

每份工单必须依次经过:

  1. 采集:2ms(读码枪,1 台)
  2. 核算:3ms(单核,1 台)
  3. 喷码:4ms(喷码机,1 台)

4 份工单可以流水线式执行,但每种设备同一时间只能处理 1 份工单。按最优流水线顺序执行:

  • 采集阶段:4 份共需 4×2=8 ms
  • 核算阶段:第 1 份在 2ms 后开始,之后连续核算,最后一份核算完成于 2+4×3=14 ms
  • 喷码阶段:第 1 份在 5ms 后开始,之后连续喷码,最后一份喷码完成于 5+4×4=21 ms

因此,执行完 4 份工单最少需要 21ms,选 D

4、mysqldump 备份(答案 A)

mysqldump 是 MySQL 提供的逻辑备份工具,它把数据库中的表结构、数据等内容导出为一系列 SQL 语句,例如 CREATE TABLEINSERT INTO 等。恢复时执行这些 SQL 语句即可重建数据库。

其他选项:

  • B:停库后打包数据文件属于冷物理备份,不是 mysqldump
  • C:二进制日志实时回放属于主从复制或基于 binlog 的恢复,不是 mysqldump
  • D:存储引擎页拷贝做增量物理备份,通常是 xtrabackup 等物理备份工具。

5、SQL 模糊查询(答案 C)

题目要求显示所有姓「王」和「赵」的检修员信息,即姓名以「王」或「赵」开头。逐项分析:

  • A姓名='王%' or 姓名='赵%' 使用 = 与带 % 的字符串比较,% 不会作为通配符,只会按普通字符匹配,因此无法匹配「王某某」或「赵某某」。错误。
  • Bgroup by 工号 having 姓名 like '王' or 姓名 like '赵' 先按工号分组,且 like '王' 只匹配姓名恰好为「王」,不是以「王」开头;同时 having 中直接引用非聚合列也不规范。错误。
  • C姓名 like '[王,赵]%' 在支持字符类通配符的数据库(如 SQL Server)中,[王,赵] 表示第一个字符可以是「王」「赵」或逗号,后跟任意字符。由于姓名一般不会以逗号开头,因此可实现对以「王」或「赵」开头的匹配。可行。
  • Dsubstring(姓名, 2, 1) in ('王', '赵') 取的是姓名的第 2 个字符,而不是第 1 个字符,匹配的是第二个字为「王」或「赵」,不符合「姓王/赵」的要求。错误。

因此,可行的是 C


第1题-选择题
https://mingsm17518.github.io/2026/09/19/刷题笔记/小红书/2026年9月17日/第1题-选择题/
作者
Ming
发布于
2026年9月19日
更新于
2026年9月20日
许可协议