news 2026/8/30 20:13:33

春招数据库岗笔试复盘:SQL、索引与国产数据库考点全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
春招数据库岗笔试复盘:SQL、索引与国产数据库考点全解析

拿到这份卷子的时候,我刚好在带团队做数据库选型预研,手头堆着MySQL、PostgreSQL和达梦的对比材料。扫了一遍题目,说实话有点意外——这套春招数据库岗笔试比我预想的扎实,没有满屏的八股背诵,反而把索引原理、事务隔离、SQL调优和国产数据库生态这些“日常真正会碰到的硬骨头”全串起来了。无论你是准备校招的应届生,还是想自查基础是否扎实的在职开发,这套卷的复盘都值得花半小时看完,尤其是里面那些“看起来会、一写就错”的题目,几乎精准踩中了大多数人知识体系里的盲区。

1. 笔试整体结构与考点分布复盘

1.1 整张卷子的题型划分与时间分配

先说这张卷子的整体框架。第三批笔试总共六大题,考试时长120分钟,满分100分,题型分布很典型:单选10题(20分)、多选5题(15分)、SQL编写4题(25分)、简答3题(15分)、综合设计1题(15分)、排查分析1题(10分)。

从分值分布就能看出出题人的意图——SQL和设计题占了半壁江山,死记硬背的知识点只是入场券,真正的分水岭集中在“能不能写得出正确SQL”和“能不能设计出合理的表结构”上。我监考过不少笔试,见过大量候选人前面概念题全对、一到手写SQL就卡壳,本质原因就是平时练习全靠复制粘贴,没真的在终端里敲过几遍。

时间分配上,我个人建议单选多选控制在25分钟内,SQL题留足45分钟,简答20分钟,综合设计题25分钟,排查分析5分钟收尾。但根据现场反馈,不少同学栽在第二道SQL题上——窗口函数没练熟,卡了十几分钟,导致后面综合设计仓促交卷。这点后面细说。

1.2 考点覆盖范围:从核心到热门前沿

把整张卷子的考点摊开看,覆盖面相当讲究。核心关系型数据库理论占了大约55%,包括事务ACID特性、索引数据结构、三大范式、隔离级别;SQL实操占了25%,考察了分组聚合、窗口函数、联表查询和递归CTE;剩下20%非常有意思——考了数据库同步方案设计、国产数据库适配、时序数据库的表结构设计。

这个比例说明现在的招聘风向已经变了,光懂MySQL单机优化远远不够,企业更想看到你脑子里有没有“整套数据架构”的全局观。特别是国产数据库相关的题目,今年几乎成了笔试标配——达梦、人大金仓、GaussDB这些词频繁出现在考题和社会讨论里,不是偶然,而是整个行业在基础设施自主可控大趋势下的必然映射。后面我会专门展开讲这块怎么准备。

2. SQL手写题:四道题背后的考察逻辑

2.1 分组聚合与条件统计:最简单的题也暗藏陷阱

第一道SQL题是这样的:给定一张订单表orders(order_id, user_id, amount, order_date)和一张用户表users(user_id, reg_date),要求统计2023年1月每月新注册用户的首单金额合计,输出月份和合计金额。

这题看起来人畜无害,实则暗藏两个考察点。第一个是你能不能想到用子查询或窗口函数先给每个用户的首单排序,再去关联月份。常见的错误写法是直接GROUP BY月份然后SUM(amount)——这算的是每月所有订单金额,完全没体现“新注册用户的首单”。

我当时在阅卷时看到的标准解法是用ROW_NUMBER:

WITH ranked_orders AS ( SELECT o.user_id, o.amount, o.order_date, ROW_NUMBER() OVER (PARTITION BY o.user_id ORDER BY o.order_date) AS rn FROM orders o JOIN users u ON o.user_id = u.user_id WHERE o.order_date >= u.reg_date ) SELECT DATE_FORMAT(order_date, '%Y-%m') AS month, SUM(amount) AS first_order_amount FROM ranked_orders WHERE rn = 1 GROUP BY DATE_FORMAT(order_date, '%Y-%m') ORDER BY month;

注意JOIN之后还要加WHERE o.order_date >= u.reg_date这个条件——不加的话,如果一个用户在下单之后才注册,也会被算进去。这就是“真题里的细节陷阱”,出题人专门等着你漏掉这个关联条件。

2.2 窗口函数与累计计算:考察你是否真正理解执行顺序

第二道SQL题:给定用户交易流水表transactions(user_id, trans_time, amount),要求输出每个用户每一笔交易发生时的累计交易金额和累计交易笔数。从现场反馈看,这道题是最多人卡壳的,不少候选人甚至空着没写。

考点是标准的窗口函数累加求和,难度其实不高,但暴露了一个问题——很多人对窗口函数的执行顺序理解停留在口诀层面。窗口函数在WHEREGROUP BY之后执行,所以你不能在WHERE里直接过滤窗口函数的结果,这是典型的易错点。

标准答案:

SELECT user_id, trans_time, amount, SUM(amount) OVER (PARTITION BY user_id ORDER BY trans_time) AS cum_amount, COUNT(*) OVER (PARTITION BY user_id ORDER BY trans_time) AS cum_cnt FROM transactions ORDER BY user_id, trans_time;

这里面有个进阶理解——ORDER BY在窗口函数里是必填的,它决定了窗口的“累计边界”。如果你漏写了ORDER BY trans_time,那累计金额就变成全部分区的总和,完全失去意义。我建议所有准备面试的朋友把“窗口函数三件套”吃透:ROW_NUMBER()SUM() OVER()LAG()/LEAD(),这是目前笔试和面试中最高频的SQL考点,没有之一。

2.3 联表查询与NULL处理:小细节里的大分差

第三道SQL题:给定学生表students(student_id, student_name)和成绩表scores(student_id, course, score),要求输出所有学生的姓名、课程和成绩,没有成绩的学生也要输出。这就是经典的“LEFT JOIN保留左表全部记录”的场景。

大部分人都能写出LEFT JOIN,但真正拉开差距的是下一步——如果成绩为空,要显示“缺考”而不是NULL。这考察的不是JOIN本身,而是IFNULLCOALESCE函数的使用熟练度:

SELECT s.student_name, sc.course, IFNULL(sc.score, '缺考') AS score FROM students s LEFT JOIN scores sc ON s.student_id = sc.student_id ORDER BY s.student_id, sc.course;

这里有个容易忽略的点:如果你把过滤条件sc.score IS NOT NULL写进WHERE子句,LEFT JOIN就直接退化成INNER JOIN了。这是一个非常经典的“看起来差不多、结果差很多”的写法,实际操作中踩过这个坑的人不在少数。

2.4 递归CTE:树形结构查询的敲门砖

第四道SQL题是选做题,难度明显高一个档次:给定部门表departments(dept_id, dept_name, parent_id),要求输出每个部门及其所有子部门的完整层级路径,比如“总公司/技术中心/后端组”。

这道题考察的是递归CTE(WITH RECURSIVE),MySQL 8.0和PostgreSQL都原生支持,但很多实战经验少的候选人完全没接触过。标准解法是锚点成员加递归成员:

WITH RECURSIVE dept_path AS ( SELECT dept_id, dept_name, parent_id, CAST(dept_name AS CHAR(500)) AS path FROM departments WHERE parent_id IS NULL UNION ALL SELECT d.dept_id, d.dept_name, d.parent_id, CONCAT(dp.path, '/', d.dept_name) FROM departments d JOIN dept_path dp ON d.parent_id = dp.dept_id ) SELECT dept_id, dept_name, path FROM dept_path ORDER BY path;

这道题折射出的行业趋势很明显——组织架构、商品分类、评论回复这类树形数据无处不在,递归查询已经从加分项逐渐变成基本功。我在实际项目中用递归CTE处理过最多的地方,其实是权限树和分类树的数据导出,写一次能省掉大量Java代码里的循环递归。正在准备笔试的朋友,这块值得花一晚上专门突破。

3. 数据库原理题:概念题背后的“为什么”

3.1 索引数据结构:为什么InnoDB偏偏选B+树

笔试题里有一道经典索引题:为什么InnoDB选择B+树而不是B树、红黑树或哈希表作为索引结构?这题如果只回答“B+树矮胖,IO次数少”,只能拿一半分,出题人真正想听的是横向对比。

我建议从三个维度来组织答案。第一是磁盘IO层面,B+树非叶子节点不存数据、只存索引键,一页能容纳更多键值,树高可控,三层B+树就能支撑千万级数据,而红黑树虽然内存中表现好,但在磁盘场景下树高翻倍,IO次数直线上升。第二是查询能力层面,B+树叶子节点用链表串起来,天然支持范围查询和排序扫描,而哈希索引只能做等值匹配,B树虽然支持中序遍历,但叶子节点之间没有指针,跨页范围查询需要频繁回溯父节点。第三是写入性能层面,B+树所有数据都落在叶子节点,插入删除的页分裂合并逻辑相对可控,配合MySQL的页预读机制,顺序插入场景下性能非常稳定。

这类题目其实没有标准答案,检验的就是你能不能把底层原理讲出“为什么”,而不是背书。

3.2 事务隔离级别与MVCC的对应关系

简答题里必有一道事务隔离级别,这次问的是“可重复读下如何解决幻读”。这道题光答“MVCC”是拿不全分的,因为MySQL在可重复读隔离级别下,快照读靠MVCC解决幻读,但当前读(SELECT ... FOR UPDATE)依赖的是间隙锁(Gap Lock)和临键锁(Next-Key Lock)。

我在给团队做内训时经常说一个类比——MVCC像拍照片,你看到的是事务开始时的“合影”,不管后来怎么改动都影响不了你;但如果你在拍照之后想“伸手去摸”某一行(当前读),就必须确保别人改动不了你摸的范围,这时候锁就上场了。

所以完整的回答应该是:MVCC解决了普通SELECT的幻读问题,通过undo log版本链和ReadView实现;而当前读场景下,InnoDB使用间隙锁锁定范围,让其他事务无法在间隙中插入新记录。这套组合拳才是“可重复读”真正防住幻读的底层原因。顺带说一句,很多人在实际工作中没被幻读坑过,往往是因为表数据量小、并发低,间隙锁没机会表现,但面试时一定要把原理说到位。

3.3 数据库死锁的产生条件与排查思路

题干给了一个实际案例:两个事务分别更新A表和B表,方向相反,导致死锁,然后要求分析原因和排错思路。这是一个典型的并发控制问题,但我更想提醒大家的是答案背后的“现场感”。

死锁四要素——互斥、持有并等待、不可剥夺、循环等待——每个人都背得出来,但真的在日志里看到Deadlock found when trying to get lock时,很多人第一反应是重启数据库。这种做法极不推荐。正确的排查流程是:先用SHOW ENGINE INNODB STATUS查看最近一次死锁信息,里面会明确显示两个事务各持有什么锁、在等待什么锁;然后在业务代码里统一加锁顺序,比如都先更新A再更新B;最后在事务里把大事务拆小,减小锁的持有时间。

我在生产环境排查过最典型的死锁,是两个定时任务从不同入口更新同一组数据,一个按主键升序,一个按主键降序,几乎每个周期都会撞一次。改成统一顺序后,持续运行半年没再出现过。这一类题目考的不只是理论,更是你把理论转化成可操作排查动作的能力。

4. 综合设计题:订单系统的表结构设计

4.1 需求解读与反范式设计的平衡

综合设计题是这套卷子的压轴:设计一个电商订单系统的核心表结构,要求支持用户下单、订单状态流转、订单明细查询、按时间段统计订单金额。功能点不多,但想拿高分很考验设计功底。

我阅卷时看到的最大问题,是几乎所有候选人都只会写三张表:用户表、订单表、订单明细表。能想到订单状态流转表(订单日志表)的不超过20%。但真实订单系统里,状态流转日志几乎是必需品——你总要查“这个订单为什么变成已取消”,没有日志表就只能翻应用程序日志,效率极低。

我的设计草案是这样的:

CREATE TABLE orders ( order_id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, order_no VARCHAR(32) NOT NULL COMMENT '业务订单号', total_amount DECIMAL(10,2) NOT NULL, status TINYINT NOT NULL DEFAULT 0 COMMENT '0-待支付 1-已支付 2-已发货 3-已完成 4-已取消', create_time DATETIME NOT NULL, pay_time DATETIME DEFAULT NULL, ship_time DATETIME DEFAULT NULL, update_time DATETIME NOT NULL, KEY idx_user_id (user_id), KEY idx_create_time (create_time), UNIQUE KEY uk_order_no (order_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE order_items ( item_id BIGINT PRIMARY KEY AUTO_INCREMENT, order_id BIGINT NOT NULL, product_id BIGINT NOT NULL, product_name VARCHAR(128) NOT NULL, price DECIMAL(10,2) NOT NULL, quantity INT NOT NULL, KEY idx_order_id (order_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE order_status_logs ( log_id BIGINT PRIMARY KEY AUTO_INCREMENT, order_id BIGINT NOT NULL, from_status TINYINT DEFAULT NULL, to_status TINYINT NOT NULL, changed_by VARCHAR(64) DEFAULT NULL, change_time DATETIME NOT NULL, remark TEXT, KEY idx_order_id (order_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

需要特别说明的是,订单表里我做了“适度冗余”——存了pay_timeship_time,而不是完全依赖状态日志去推算。理由非常现实:日志表记录的是状态变化点,但SELECT订单详情时直接查时间字段比聚合日志快一个量级。这就是反范式设计在实际业务中的典型应用,面试时能说出来会很加分。

4.2 索引设计思路:为什么不能无脑加索引

附加题要求给查询性能做优化设计,并说明索引设计的理由。我给出的索引方案是:订单表上加KEY idx_user_id (user_id)支撑“查询我的订单列表”,加KEY idx_create_time (create_time)支撑“后台按时间段取订单”;订单明细表加KEY idx_order_id (order_id)支撑订单详情联查。

这里我想多说一句,基础差的同学容易犯的毛病是“见字段就加索引”——这恰恰是笔试和实战都忌讳的。索引越多,写入代价越大,因为每次INSERT/UPDATE都要同步维护索引树。我遇到过一张表被建了十几个索引,写入性能掉了快一半,排查半天才发现是索引冗余。实际上,一个联合索引(user_id, create_time)就能同时支撑用户的订单列表按时间排序,不需要两个单列索引。设计时学会“算账”——读频率高不高、区分度高不高、能不能用联合索引覆盖——远比无脑堆索引重要。

4.3 订单状态机设计:隐藏的高分知识点

大多数候选人忽略的“软实力”考点是状态机设计。订单状态从待支付到已支付,再到已发货、已完成,哪些状态允许流转到哪些状态,必须在设计时用代码或字段约束住。

我在阅卷时看到有候选人写道“用枚举类定义状态流转映射”,这个答案已经超出大部分应届生的水平,非常加分。因为实际开发中状态机一旦失控,最直接的后果就是出现脏数据——比如“已支付”订单直接跳到“已完成”没发货,或者“已取消”订单还能“发货”。生产环境里这类问题影响极大,轻则业务投诉,重则资损。我自己的习惯是:状态机流转必须集中在一个服务入口,禁止业务方私自改状态字段;每次状态变更走同一个写接口,服务端校验合法转移,然后把变更写入日志表,双保险。

5. 排查分析题:一个真实的“数据库同步”故障复现

5.1 题干描述的故障场景

排查分析题给了一个贴近日常工作的场景:主库写入压力太大,团队搭了一台从库来分担读请求,但上线后发现从库数据经常延迟几分钟,甚至在高峰期出现主从数据不一致。要求分析可能的原因并给出解决方案。

这道题考察的其实是“数据库同步工具与机制”的底层理解。很多候选人一上来就答“主从复制延迟”,但真正得分高的答案,是把延迟的成因拆开说的——这才是阅卷人想看到的分析能力。

主从延迟最常见的三个原因我在实际运维中都踩过:第一,从库硬件规格低于主库,复制线程抢不到CPU和IO资源,尤其高峰期主库写入一上来,从库的SQL线程就频频卡顿;第二,主库上有大事务,比如一次UPDATE影响几十万行,从库要串行重放这个事务,延迟立刻飙起来;第三,从库自身承担了太多复杂查询,慢查询把IO资源占满,复制线程只能排队。

5.2 排查思路与解决方案的完整链条

完整的排查思路应该这样展开:先在从库执行SHOW SLAVE STATUS,重点看Seconds_Behind_Master(主从延迟秒数)和Relay_Log_FileRelay_Log_Pos是否在持续推进;再用SHOW PROCESSLIST看从库的SQL线程是否卡在某个事务上;接着看主库的SHOW MASTER STATUS对比binlog位置。

解决手段要有层次。最直接的是升级从库硬件,确保不低于主库配置;其次是把大事务拆小,EACH涉及几千行就提交,别一把梭;再次是考虑并行复制——MySQL 5.7以上可以开启slave_parallel_workers,让从库多线程并行重放不同库或不同事务,我记得当时优化后延迟从平均5分钟直接降到毫秒级。

最后落在架构层面:如果业务对读实时性要求很高,主从异步复制本身就不是正确答案,需要换成半同步复制(semi-sync replication),或者干脆引入中间缓存层,把热点数据放在Redis里,根本不过MySQL。这类题目没有唯一标准答案,考察的是你面对问题时有没有“从现象到根因到方案”的整体思维。

6. 国产数据库与前沿方向:笔试里的新趋势

6.1 为什么现在的笔试开始考国产数据库

这次笔试有一道开放简答题:“谈谈你对国产数据库发展的看法,并对比一款你熟悉的国产数据库与MySQL的差异。”这道题让不少只背MySQL八股的同学直接懵了,但对平时关注行业动态的人来说,其实是送分题。

出题逻辑很清晰——现在越来越多的企业处于数据库迁移替换周期,达梦、人大金仓、GaussDB、OceanBase、TiDB这些产品在银行、政务、电信等核心系统里批量落地。招聘方需要的不再是“只会MySQL的开发”,而是“能适应异构数据库生态、具备迁移适配能力”的人。所以在简历里写“熟悉MySQL”已经不够了,能说出达梦和MySQL在SQL语法、存储引擎、集群架构上的差异,才是真正的加分项。

6.2 达梦、GaussDB与MySQL的核心差异对比

我整理了一个很直观的对比表,可以帮你在面试时快速组织答案:

对比维度MySQL达梦(DM8)GaussDB
开发背景开源社区生态,Oracle旗下国产自主研发,语法高度兼容Oracle华为自研,基于PostgreSQL演进
存储引擎InnoDB/MyISAM等插件式内置DM存储引擎,逻辑类似Oracle行存/列存/内存引擎混合
SQL方言MySQL方言兼容Oracle、SQL Server、MySQL兼容PostgreSQL、部分Oracle
高可用方案主从复制、MGR,生态成熟数据守护(主备)、DSC共享集群分布式集群,支持强一致
迁移成本不涉及从Oracle迁移时业务SQL改动极小从PostgreSQL迁移业务代码基本平滑

这道题我给出的回答思路是“先产品定位、再功能差异、最后生态工具”。从定位看,达梦走的是“高度兼容Oracle”的路线,很多银行把存量Oracle系统迁到达梦,应用层几乎不用改SQL;GaussDB走的是“分布式+云原生”路线,适合新业务直接上云。从工具链看,MySQL经过二十多年开源积累,周边工具极其丰富,而国产数据库在监控、备份、同步工具链上还在快速追赶——这也是目前很多团队实际选型时要重点衡量的风险点。

6.3 时序数据库、向量数据库:新的知识版图

笔试的选做题提到了时序数据库的表结构设计思路。题干是:用IoT场景做例子,采集设备每秒上报一次温度、湿度、电压,设计一张存储表,要求支持按设备、按时间范围高效查询。方向明确的同学会直接联想到“宽表”和“分区”的组合。

我当时给出的方案是:建一张宽表,每一行代表某一台设备在某个时间点的指标集合,主键用(device_id, ts)复合结构,数据按ts做分区(比如按天或按月),同时把device_id作为分区键或索引前缀。关键原因是时序数据“写入后几乎不改”,而且典型查询是“某个设备某段时间的曲线”,这种模型天然适配。相比之下,把每种指标拆成一张表、或者用实体-属性-值(EAV)模式建模,查询效率都会大打折扣。

另外,如果硬件和业务允许,可以提示使用压缩算法和预聚合,比如按分钟聚合一次平均值,查询历史趋势时走聚合表,查询原始数据时才扫明细表。这类设计思考在工业物联网、监控系统、金融行情系统里非常常见,值得提前储备。

谈到向量数据库,笔试没深入,但近年热度一直很高。它跟传统关系型数据库的核心差异在存储结构和索引算法——传统数据库用B+树做精确匹配和范围查询,向量数据库用HNSW、IVF这类近似最近邻(ANN)索引做语义相似度检索。如果你在准备面试,理清关系型数据库和向量数据库的边界就够了——前者是业务事实的记录者,后者是AI语义搜索的定位器,两者未来大概率是“共存互补”而不是“互相替代”。

7. 备考建议与实操训练方法

7.1 刷题之外,更要亲手建库建表

复盘完整套卷子之后,我想给正在准备数据库岗的同学一些建议。第一是SQL题没有捷径,但也不需要刷几千道——把窗口函数、递归CTE、复杂JOIN、GROUP BY的执行顺序这几类题各练透20道,笔试基本就够用了。关键在于真的去Linux或者Docker里起一个MySQL实例,把练习用的脚本自己敲一遍、跑一遍,不要用图形化客户端拖拽。我强烈推荐把练习脚本存成.sql文件,放在自己的代码仓库里反复对照,这比背答案有效得多。

第二是原理题要学会“往深一层讲”。比如准备“索引为什么用B+树”这类题,不能只背结论,要能现场画出三层B+树的示意图,解释每层页节点能存多少键值,一条查询的IO路径是怎样的。这种“画图讲原理”的能力,在面试环节尤其是现场面里非常占便宜。

第三是有条件的话,亲手把达梦或PostgreSQL装一遍。我在文章开头提到的“数据库课程设计”环节,配合国产数据库的课程设计项目,是打消“只会MySQL”顾虑的最快方式。官网都有社区版下载,装好后建表、导数据、跑一下兼容性测试,你立刻就能体会到不同数据库之间的差异点,这些体会比看十篇测评文章都有用。

7.2 面试与笔试时的答题节奏建议

最后说一点答题策略。笔试时不要一上来就做综合设计,先快速扫一遍所有题目,把会做的、拿分确定的题先做完,再回头啃硬骨头。这看起来是老生常谈,但监考时我发现大量同学在SQL第二题上死磕了半小时,导致后面大题没时间写。综合设计题按“表结构+索引+注释”的顺序组织答案,SQL题每个关键步骤都加一段注释说明思路,阅卷人一眼就能看到你的思考过程,分自然给得松一些。

遇到不会的开放题,千万别空着。哪怕只写得出一个方向、一个思路,也能拿到步骤分。比如那道国产数据库差异题,就算你不了解达梦,把MySQL和PostgreSQL的差异写清楚,同样能证明你的知识迁移能力——面试官要的从来不是标准答案,而是可培养的思维框架。

8. 写在最后:从一场笔试看数据库岗的底层能力要求

这套卷子给我的整体感受是:它筛选的并不是“背了多少概念”的人,而是“有没有真正碰过数据、踩过数据坑”的人。SQL题检验的是你日常工作的熟练度,原理题检验的是你能不能解释清楚线上事故的成因,设计题检验的是你有没有从零搭建一套数据模型的能力,国产数据库和时序数据库的题目,则在试探你对行业未来的感知力。

我在实际带人的过程中始终强调,数据库是软件工程中最不适合“临时抱佛脚”的领域。它不像某个框架,会用几天就能上手写业务;你在索引、事务、同步机制上偷的每一分懒,都会在某个深夜的告警电话里还回来。这也是为什么我在给团队面试定级时,最看重的往往不是候选人做过多少项目,而是他能不能把“为什么这样设计索引”“为什么这里会出现死锁”这类问题,讲出属于自己的、经过验证的理解。

如果你正在准备数据库岗的笔试,就按这个思路去复习——练手写SQL,深挖原理机制,亲手部署一套数据库环境并尝试做主从同步,再花几个晚上把国产数据库的特点过一遍。这套组合拳打下来,不只校招笔试,社招面试也能稳住大半。

最后分享一个实操小技巧:所有SQL题目,不管多简单,都先写出“表结构预览”或“测试数据”,再写最终SQL,最后在真实环境运行验证结果。这个习惯能帮你减少至少30%的笔误率。这次笔试的复盘就到这里,祝各位备考顺利。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 20:13:00

通用AI智能体Manus技术拆解:从原理到实战应用指南

最近 AI 圈子的讨论焦点又回到了 Manus 身上,连同核心人物林俊旸也再次回到大众视野。很多人在 2025 年初的那波热潮里听过 Manus,但当时要么被邀请码挡在门外,要么只是看了几篇演示截图,并没有真正搞清楚它到底能做什么、是怎么做…

作者头像 李华
网站建设 2026/8/30 20:11:53

第 18 章:ART 运行时

Android 运行时(ART)是每一个 Android 应用核心的托管执行环境。它加载、校验并执行 DEX 字节码 —— 即 Java 与 Kotlin 源码编译后的输出产物。ART 在 Android 5.0(Lollipop)版本取代 Dalvik,之后经历了巨大的演进:从简单的解释器 + AOT 模型,演变为一套具备并发垃圾回…

作者头像 李华
网站建设 2026/8/30 20:07:58

联想校招数据挖掘岗:笔试面试全流程复盘与上岸经验

数据挖掘岗位的校招,我看过太多人把力气用错了地方。2022届那阵子联想校招数据挖掘岗位放出来,不少同学盯着"数据挖掘"四个字就往深度学习、NLP、知识图谱上猛攻,结果一上笔试就傻了眼。这篇文章不绕弯子,直接把我自己从…

作者头像 李华
网站建设 2026/8/30 20:06:58

写论文别只靠大模型,我从选题到答辩用毕业之家收尾

又到论文季。后台被问最多的一句话就是:“到底用哪个AI写论文比较好?” 说实话,2026年了,这个问题的答案早就不是"用ChatGPT就行"。现在的工具已经明显分化成了几个流派:通用大模型负责"想"&#…

作者头像 李华
网站建设 2026/8/30 20:00:20

降ai重复率应该先改哪部分?同段双高和不同章节用两套降重方法?

降ai重复率应该先改哪部分?同段双高和不同章节用两套降重方法? 降ai重复率最容易做错的地方,是看到两个总值都高,就按同一顺序改整篇。真正决定先改哪里的是位置:AI高疑似和查重标红落在同一段,应当共同重…

作者头像 李华
网站建设 2026/8/30 19:56:52

以人为本AI:从感知到行动的6层连接框架详解

之前在服务机器人、无人机视觉感知、智能助手这类项目里做技术落地时,踩过不少“单点很强、整机瘫痪”的坑。视觉模型能检测出画面里的行人和障碍物,大语言模型能流畅对话,底盘控制模块也能正常运动,可一旦把几块能力串起来&#…

作者头像 李华