作业帮面试题 · 技术原理 · SQL
作业帮相关面试题,按最终去重题目聚合。
共 1635 道真题 · 当前筛选命中 21 道 · 更新 2026-08-05
筛选题目已选:技术原理 · SQL
考察点
技术栈
第 1 题什么是覆盖索引?它为什么能加快查询?使用覆盖索引有哪些注意点? 考察对覆盖索引原理、收益和局限的理解第 2 题对于条件为a=?且b=?且c=?的查询,它是否会走(a, c, b)索引?如何判断查询是否实际使用了索引? 考察索引列顺序对查询的影响,以及使用EXPLAIN分析执行计划的能力第 3 题给定一张学生表,包含字段 name、score、grade,如何用 SQL 查询出每个年级分数最高的学生姓名? 考察 SQL 分组聚合与排名查询的编写能力第 4 题深分页(如LIMIT 100000, 20)为何慢?请说明常用优化方案。 考察对深分页性能瓶颈的理解及优化方案设计第 5 题请写一条 SQL,从成绩表中找出每门学科成绩最高的学生。 考察 SQL 窗口函数、分组与去重的运用能力第 6 题请说明慢SQL出现的原因,以及解决慢SQL的一般排查思路和优化手段。 考察对慢SQL成因的识别和系统性排查优化能力第 7 题请编写一条 SQL 查询,返回某个指定用户在某个指定社区中最新发布的 20 条帖子,按创建时间倒序排列。 考察 SQL 基础查询能力,包括多条件过滤、排序和结果数量限制第 8 题请描述一条SQL语句在数据库中的完整执行流程。 考察对数据库查询处理各阶段的理解第 9 题请用 SQL 去掉一个最高分和一个最低分后,计算每个用户的平均分。 考察 SQL 聚合、窗口函数及修剪数据的实现能力第 10 题有3条SQL查询:条件分别为a=?、a=?且c=?、a=?且b=?且c=?,请设计合理的索引来满足这些查询。 考察联合索引的列顺序设计原则,以及如何覆盖常见查询模式第 11 题有一张 student 表,包含 ID、Name、ClassID(班级 ID)、Score(成绩)字段,要求查询出每个班级中成绩最高的学生信息,输出字段为 ID、Name、ClassID、Score,怎么实现? 考察 SQL 分组取极值查询的写法与对同分情况的处理第 12 题请解释 SQL 中 EXPLAIN 的作用与主要用法。 考察对 SQL 执行计划的理解与查询优化能力第 13 题请说明SQL查询语句的执行顺序,并解释其重要性。 考察对SQL查询逻辑执行流程的理解及实际应用价值第 14 题请编写 SQL 实现两张表的 INNER JOIN 查询,并说明其与 LEFT JOIN 的区别。 考察 SQL 内连接语法、语义及常见关联差异第 15 题请用 SQL 查询姓名和分数表中排名前 100 的记录。 考察 SQL 排序与限制返回数量的基本语法及输出列选择第 16 题银行转账场景中,三个账户(a、b、c)初始余额各200元,a向b转100元,b向c转100元,若两笔转账同时发生,如何保证账户数据安全与结果的正确性?请结合事务与锁机制说明。 考察并发转账场景下的事务隔离、行锁应用及死锁防范第 17 题请解释隐式类型转换是如何导致索引失效的,并举例说明。 考察对隐式类型转换导致索引失效的机制理解第 18 题请写出SQL语句:查询表中所有重复出现的内容(即出现次数大于1的记录)。 考察SQL分组聚合与HAVING过滤、以及对“重复内容”定义的理解第 19 题请分析 SQL 语句 select * from table where condition order by id limit 100000, 10 的执行过程及可能存在的问题。 考察对 LIMIT 深分页原理与性能风险的理解第 20 题请根据实习项目中的需求,写出实现连续 n 天登录(n 为变量)的 SQL 语句。 考察 SQL 处理连续事件窗口的能力,特别是使用窗口函数和日期分组技巧