乐于分享
好东西不私藏

百度2026年7月份秋招后端笔试题及参考解答

百度2026年7月份秋招后端笔试题及参考解答
百度作为AI领域的“黄埔军校”,是国内较早从事AI研究的公司,甚至A
的CEO也曾经在百度任职过。
目前的编程领域,前端基本上已经被AI吊打,后端还在苟延残喘,只有积极拥抱AI,才能立于不败之地。
本次百度的笔试题也反映了这一趋势,从以往大部分都是算法题,转变成只有一道传统算法题,另外分别考察了如何用提示词解决问题,以及纯粹AI Coding的能力!
叔针对AI coding这类新题型使用deepseek完整演示了如何解决这类问题一般流程。当然核心还是要求受试者有完整的项目经验,才能指导AI完成相应开发。

百度2026年7月份秋招后端笔试题

一、选择题

1、单选题

1、后端团队接入大模型生成工单摘要,希望模型不要编造原始工单中没有的信息。更合适的提示约束是?

A. 提高生成随机性,让模型输出更多候选表达

B. 限定依据原始工单内容总结,缺失信息标为未提供

C. 把摘要长度固定得更长,以容纳更多推测细节

D. 要求模型优先补充背景原因,使摘要看起来更完整

2、Linux 文件权限显示为 -rw-r-----。若某用户属于该文件所属组,但不是文件所有者,则该用户对该文件通常具有什么权限?

A. 仅可读

B. 无权限

C. 可执行但缺少读取权限

D. 可读可写

3、某制度问答系统采用 RAG,但用户发现回答会引用过期制度。检索日志显示 topK 片段相似度较高,但混有旧版本制度。下列改进更能直接缓解该问题的是?

A. 提高生成 temperature,让模型用更丰富表述融合多版制度内容

B. 缩短最终答案长度,减少暴露过期引用细节的机会

C. 在召回和重排阶段加入版本、生效时间和来源过滤,再注入命中片段

D. 继续扩大 topK,使新旧版本都有机会进入上下文,由模型综合判断

4、事务 T1 第一次读取某行余额为 100 。事务 T2 随后提交更新,把该余额改为 120 。T1 在同一事务内再次读取同一行得到 120。该现象更贴近哪类并发读问题?

A. 幻读:条件范围内行集合变化

B. 死锁:事务之间形成循环等待

C. 不可重复读:同一行两次读取变化

D. 脏读:读取其他事务未提交数据

5、给定若干活动的开始和结束时间,希望选出数量最多的互不重叠活动。下列贪心策略通常可用于该问题并可通过交换论证证明正确的是?

A. 每次选择开始时间最早的可选活动

B. 每次选择与其他活动重叠最多的活动

C. 每次选择持续时间最长的可选活动

D. 每次选择结束时间最早的可选活动

6、 某列表中存在多个排序键相同的记录,业务要求排序后这些记录仍保持原来的相对先后顺序。下列算法性质最贴近该要求的是?

A. 稳定排序

B. 外部排序

C. 分治排序

D. 原地排序

7、 某风控场景更关注减少误拦正常用户。验证集上模型 M1 的 TP = 80,FP = 20,FN = 40。模型 M2 的 TP = 70,FP = 10,FN = 50。若主要按"被判高风险的请求中确实高风险的比例"取舍,下列判断更合理的是?

A. M2: Recall = 70/(70+50),高于 M1 的 Recall

B. M2: Precision = 70/(70+10),高于 M1 的 Precision

C. M1: FP = 20,FN = 40,误判更严重需重测

D. M1: Precision = 80/(80+20),Recall = 80/(80+40)

8、某日志文件 app.log 中每行仅包含一个三位 HTTP 状态码且无其他内容。希望统计状态码 500 出现的行数,下列命令更符合该目标的是?

A. grep '500' app.log | wc -l

B. grep -v '500' app.log | wc -c

C. wc -l app.log | grep '500'

D. cat app.log > grep '500' | wc

9、某后端服务把一个耗时任务拆成多个线程在同一进程内执行。下列关于这些线程与进程资源关系的说法较合理的是?

A. 线程切换时会重新创建进程页表,因此开销通常高于进程切换

B. 同进程线程共享同一地址空间,但各自有栈和调度上下文

C. 多个线程并发执行时不涉及同步问题,因为它们共享同一份内存

D. 线程拥有独立地址空间,线程间传递对象需要经过内核网络栈

10、某进程执行一条访存指令时发生可恢复缺页异常。内核完成页表更新并装入目标页后,若该处理器支持精确异常,用户态执行流通常如何恢复?

A. 重启当前进程,从 main 函数入口重新执行

B. 恢复到触发缺页的访存指令,由该指令重新执行

C. 从异常处理程序入口继续执行原用户逻辑

D. 跳过触发缺页的访存指令,从下一条指令继续执行

11、某支付回调接口可能因网络抖动被调用方重试。为了避免同一业务事件被重复处理,服务端设计中最关键的是?

A. 要求客户端把超时时间调得更短,让失败更快暴露

B. 在响应体中返回更详细日志,由调用方自行排查

C. 按事件唯一编号做幂等校验,重复请求返回已处理结果

D. 把接口从 HTTPS 改成 HTTP,降低 TLS 握手开销

12、  MySQL 表 orders 上有联合索引 (user_id, status, create_time)。下列查询条件最符合该索引最左前缀使用方式的是?

A. WHERE user_id = 1001 AND status = 1

B. WHERE status = 1 ORDER BY user_id

C. WHERE create_time > '2026-01-01'

D. WHERE status = 1 AND create_time > '2026-01-01'

13、  一棵二叉树共有 29 个结点,其中度为 1 的结点有 6 个。按二叉树结点度数关系推断,该树中度为 2 的结点数为?

A. 12

B. 13

C. 11

D. 10

14、  某后端系统让大模型根据用户请求调用"查询订单"工具。关于 Function Calling 的执行边界,下列说法较合理的是?

A. 模型输出调用请求,后端校验参数并执行工具

B. 后端只校验参数格式,把用户身份和资源权限判断留到工具返回后再处理

C. 模型生成结构化调用结果后直接写入业务数据库,不经过后端执行层

D. 工具接口只写自然语言用途说明,参数约束由模型根据上下文临场补齐

15、  某栈的初始操作序列 push(4)、push(7)、pop、push(2)、push(9)、pop、pop。若底层结构是栈,则三次 pop 得到的元素顺序为?

A. 7, 2, 9

B. 9, 2, 7

C. 4, 7, 2

D. 7, 9, 2

2、多选题

16. 某后端团队建设大模型客服系统。为了降低幻觉和越权工具调用风险,下列设计较合理的有哪些?

A. 允许模型在资料不足时根据常识补全具体制度条款,提高回答完整度

B. 对低置信度或资料冲突的请求进入人工复核或返回无法判断

C. 对工具调用参数做白名单校验和权限校验,再由后端执行

D. 弱化检索片段来源和版本记录,把事实校验主要交给模型最终回答

17. 某推荐服务上线新模型前,需要评估其离线效果和线上风险。下列做法较合理的有哪些?

A. 上线前保留灰度或 A/B 实验方案,观察真实用户反馈

B. 若训练集准确率很高,就可省略线上监控和回滚预案

C. 关注与业务目标一致的指标,而不是只看训练损失

D. 用独立验证集评估模型效果,避免只看训练集表现

18. 某订单表常用查询为 WHERE user_id=? AND status=? ORDER BY create_time DESC LIMIT 20。关于索引执行代价的判断,正确的有哪些?

A. 把 create_time 放在联合索引首列,仍能稳定利用 user_id 和 status 的等值过滤前缀

B. 覆盖索引能否减少回表,还取决于 SELECT 列是否都在索引中

C. 若只有单列索引 status,低选择性状态列过滤效果可能较弱

D. 联合索引 (user_id, status, create_time) 有机会同时支持过滤和排序

19. 关于 TCP 在后端服务通信中的可靠传输机制,下列说法正确的有哪些?

A. TCP 会保留应用层消息边界,使接收端每次 read 都对应一次 send

B. TCP 通过应用层 JSON 字段校验来恢复丢失报文内容

C. TCP 的重传机制可在部分报文丢失时补发未确认的数据

D. TCP 通过序号和确认机制支持按字节流确认数据接收进度

20. 某后端服务中多个线程会同时更新共享计数器和任务队列。下列做法中,有助于降低并发错误风险的有哪些?

A. 在临界区中执行长时间网络请求,以减少锁释放次数

B. 把只读配置发布为不可变对象,减少共享状态修改

C. 把共享队列的入队和出队操作纳入一致的同步协议

D. 用互斥锁保护共享计数器的读改写临界区


参考解答

一、单选题

1. 答案:B解析: 为了抑制大模型幻觉(编造信息),最有效的 Prompt 策略是明确约束信息来源,要求“仅依据给定内容回答”,并对缺失信息给出明确的兜底回复(如“未提供”),而不是让模型去推测或补全。

2. 答案:A解析: Linux 权限 -rw-r----- 分为三组:所有者(rw-)、所属组(r--)、其他人(---)。题目中用户属于“所属组”,对应中间的 r--,即只有读权限。

3. 答案:C解析: RAG 系统引用过期数据是因为检索到了旧文档。最直接有效的办法是在检索(召回/重排)阶段就通过元数据(如版本号、生效时间)过滤掉旧数据,从源头保证上下文的新鲜度。

4. 答案:C解析: 事务 T1 在同一事务内两次读取同一行数据,结果不一致(因为 T2 修改并提交了),这是典型的“不可重复读”现象。

5. 答案:D解析: 经典的“活动选择问题”贪心策略是:优先选择结束时间最早的活动,这样可以为后续活动留出尽可能多的时间。

6. 答案:A解析: 稳定排序的定义就是:如果两个元素值相等,排序后它们的相对先后顺序保持不变。

7. 答案:B解析: 题目关注的是“被判高风险的请求中确实高风险的比例”,这正是精确率(Precision = TP / (TP + FP))的定义。

M1 Precision = 80 / (80+20) = 0.8M2 Precision = 70 / (70+10) = 0.875M2 的精确率更高,更符合减少误拦(FP)的需求。

8. 答案:A解析:grep '500' app.log 筛选出包含 500 的行,| wc -l 统计行数,符合题意。

9. 答案:B解析: 线程是进程内的执行单元,同进程的线程共享堆、全局变量等地址空间,但每个线程拥有独立的栈和寄存器上下文(用于调度)。A 错在线程切换不重建页表;C 错在共享内存必须同步;D 错在线程间通信不需要过网络栈。

10. 答案:B解析: 缺页异常属于故障(Fault)。当内核把缺失的页调入内存并更新页表后,需要重新执行刚才触发异常的那条指令,此时指令就能正常访问内存了。

11. 答案:C解析: 解决接口重复调用(重试)导致的数据重复处理问题,核心方案是“幂等性设计”。通常利用业务唯一 ID(如订单号)作为键,检查是否已处理,若已处理直接返回成功结果。

12. 答案:A解析: 联合索引 (user_id, status, create_time) 遵循最左前缀原则。

A: 使用了前两个字段 `user_id` 和 `status`,符合最左前缀。B: 跳过了 `user_id`,无法有效利用索引。C/D: 同样跳过了首列 `user_id`。

13. 答案:C解析: 二叉树性质:(叶子节点数 = 度为2节点数 + 1)。

总节点数 。 已知 。 代入得:

14. 答案:A解析: Function Calling 的标准流程是:模型输出结构化的工具调用请求(JSON),后端拦截该请求,进行参数校验和权限检查后,由后端代码真正执行工具函数,最后将结果返回给模型。模型本身不具备执行外部代码的能力。

15. 答案:B解析: 栈是后进先出(LIFO)。

1.  push(4), push(7) -> 栈顶是 7。2.  pop -> 弹出 7。3.  push(2), push(9) -> 栈顶是 9 (栈内剩 4, 2, 9)。4.  pop -> 弹出 9。5.  pop -> 弹出 2。   顺序为:7, 9, 2。

多选题

16. 答案:B, C解析:

A 错:允许补全会增加幻觉风险。B 对:低置信度转人工或拒答是安全兜底策略。C 对:工具调用必须在后端做严格的参数和权限校验,不能信任模型输出。D 错:来源和版本记录是溯源的关键,不能弱化。

17. 答案:A, C, D解析:

A 对:灰度/A/B 测试是线上验证的标准做法。B 错:训练集好不代表泛化能力强,必须有监控和回滚预案。C 对:业务指标(如转化率)比单纯的 Loss 更重要。D 对:必须用独立的验证集/测试集评估,防止过拟合导致的虚高。

18. 答案:B, C, D解析:

A 错:如果把 `create_time` 放首列,查询条件中的 `user_id` 和 `status` 就无法利用索引的最左前缀进行快速过滤了。B 对:覆盖索引要求 Select 的字段都在索引树中,否则仍需回表。C 对:`status` 如果区分度低(如只有几个状态),单独索引效果确实差。D 对:索引 `(user_id, status, create_time)` 完美匹配 `WHERE user_id=? AND status=? ORDER BY create_time`,既利用了等值查询,也利用了有序性避免 filesort。

19. 答案:C, D解析:

A 错:TCP 是流式协议,不保留消息边界(这是 UDP 的特点),一次 read 可能读到半个包或多个包。B 错:TCP 的可靠性靠底层的校验和、序号、重传机制,不依赖应用层 JSON。C 对:超时重传是 TCP 可靠性的核心机制之一。D 对:TCP 通过序列号(Seq)和确认号(Ack)来追踪字节流的接收情况。

20. 答案:B, C, D解析:

A 错:在临界区(持有锁时)做耗时操作(如网络请求)会极大地降低并发性能,甚至导致死锁,应尽量减少持锁时间。B 对:不可变对象天然线程安全,无需同步。C 对:共享资源的操作必须纳入同步控制(如加锁或使用并发容器)。D 对:读改写(Read-Modify-Write)操作不是原子的,必须加锁保护。

第二题:余数游走

题目描述

给定一个长度为  的整数序列 ,视为环状序列(位置  的后继为位置 )。给定正整数 ,对于每个起点 ,进行如下“游走”并定义余数轨迹:

  1. 从位置  开始,依次取 ,当走到  后继续从  开始,形成一个最多包含  个元素的连续环段。
  2. 第  步的余数轨迹值定义为 ,其中取模为标准余数,落在区间 

要求轨迹互异:在允许的最大步数  内, 两两不同;若再取一步会导致出现已出现过的余数值,则停止;若已取满  步也停止。轨迹只包含  的 ,不包含初始 

定义起点  的游走长度  为以上规则下可达到的最大步数。请计算所有起点的游走长度之和 

输入描述

每个测试文件包含多组测试数据。第一行输入一个整数 ,表示测试组数。

每组测试数据的第一行输入两个整数 ,表示序列长度和模数。

每组测试数据的第二行输入  个整数 ,表示环状序列。

保证所有测试数据的  之和不超过 

输出描述

对于每组测试数据,输出一行一个整数,表示该组数据的 

样例1

输入

25 31 2 2 1 24 55 0 5 0

输出

114

样例解释

第一组数据 ,序列为 

起点  时,前缀和依次为 ,对  取模得到余数轨迹 ,第  步的  与第  步重复,故 

起点  时,余数轨迹为 ,第  步重复,故 ;同理 

五个起点求和得 

第二组数据 ,序列为 ,所有前缀和都是  的倍数,因此每个起点的余数轨迹第  步必然与第  步同为 ,每个起点的游走长度都是 ,求和得 

参考解答

前缀和+双指针 问题。

  1. 数学模拟: 从起点  开始游走,第  步的余数  实际上是序列的前缀和取模。 设 ,且定义 。 那么从起点  开始的第  步余数可以表示为:

    题目要求  互不相同。这意味着对于任意 ,都有 。 代入公式:。 这等价于在区间  内,所有的前缀和模  的值  必须互不相同

  2. 转化问题: 需要计算 。 对于每个起点 ,要找到最大的长度 ,使得序列  中没有重复元素。 注意:这里的下标是环状的,且长度不能超过 

  3. 算法优化: 为了处理环状结构,将前缀和数组 复制一倍(长度变为 ),这样环上的连续段就变成了线性数组上的连续段。

    可以使用 双指针(滑动窗口) 的方法:

    或者更直接的统计方法: 遍历右端点 (从  到 ),维护一个合法的左边界 (即窗口  内无重复)。 对于当前的 ,它能作为“游走终点”的起点  必须满足:

    综合起来,对于固定的 ,合法的起点  的范围是:

    且 

    该范围内起点的数量即为当前  对总答案的贡献。累加这个数量即可。

    • 维护一个窗口 ,保证窗口内的  值互不相同。
    • 当右指针  向右移动遇到重复值时,左指针  向右收缩直到消除重复。
    • 对于每个位置 (作为窗口的右端点),如果它对应的起点是 (这里需要仔细对应下标),它能贡献的长度受限于窗口的左边界。
    1.  (保证区间无重复)
    2.  (长度至少为1)
    3.  (长度不超过 ) 

C++ 代码实现

#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;// 快速输入inlineintread_int(){int x = 0, f = 1;char ch = getchar();while (ch < '0' || ch > '9') {if (ch == '-') f = -1;        ch = getchar();    }while (ch >= '0' && ch <= '9') {        x = x * 10 + ch - '0';        ch = getchar();    }return x * f;}voidsolve(){int n = read_int();int M = read_int();vector<inta(n);for (int i = 0; i < n; ++i) {        a[i] = read_int();    }// 构造前缀和 P[0..2n]// P[i] = (P[i-1] + a[(i-1) % n]) % M// 扩展一倍以处理环状结构vector<intP(2 * n + 1);    P[0] = 0;for (int i = 1; i <= 2 * n; ++i) {longlong val = (longlong)P[i-1] + a[(i-1) % n];// 处理带负数取模        P[i] = ((val % M) + M) % M;    }// last_pos[val] 记录数值 val 上一次出现的下标// 初始化为 -1 表示未出现vector<intlast_pos(M, -1);longlong total_length = 0;int limit = 0// 滑动窗口的合法左边界(包含)// 遍历右端点 r (从 1 到 2n)for (int r = 1; r <= 2 * n; ++r) {int val = P[r];// 如果当前值之前出现过,且位置在 limit 右侧或重合,则更新左边界if (last_pos[val] >= limit) {            limit = last_pos[val] + 1;        }// 更新当前值的最新位置        last_pos[val] = r;// 计算当前 r 能贡献的合法起点 s 的数量// s >= limit (保证区间 [s, r] 内无重复)// s >= r - n + 1 (保证游走长度 L = r - s + 1 <= n)// s >= 1 (起点最小为 1)int min_s = max({limit, r - n + 11});int max_s = min(r, n);// 如果合法区间存在,则累加贡献if (max_s >= min_s) {            total_length += (longlong)(max_s - min_s + 1);        }    }cout << total_length << "\n";}intmain(){    ios_base::sync_with_stdio(false);cin.tie(NULL);int T;if (cin >> T) {while (T--) {            solve();        }    }return0;}

代码解析

  1. 前缀和构造
    • 计算  的前缀和并对  取模。
    • 将前缀和数组 p 复制一份接在后面,形成长度为  的数组,这样可以将环上的问题转化为线性区间问题。
  2. 滑动窗口逻辑
    • last_pos 数组记录每个余数最近一次出现的下标。
    • limit 变量维护当前合法区间的左边界。如果当前值 p[r] 在 limit 之后出现过,说明产生了冲突,必须将左边界 limit 移动到冲突位置的下一位。
  3. 贡献计算
    • 区间  内无重复 
    • 游走步数不超过 
    • 起点在  到  之间。
    • 对于每一个右端点 r(代表游走结束时的累积状态),我们需要统计有多少个起点 s 是合法的。
    • 起点 s 必须满足:
    • 通过 max_s - min_s + 1 直接算出合法的起点个数并累加到答案中。

该算法的时间复杂度为 (每个测试用例),空间复杂度为 ,满足题目约束。


第三题:汽车洗车计算器

题目描述

洗车收费分洗车费附加费,需要你编写一个 Prompt 让大模型根据用户的自然语言描述按规则计算费用,输出 JSON。

计费规则

  1. 车型基础价——小型车 38 元、SUV 58 元、MPV 78 元。精洗基础价加 80% 向上取整打蜡基础价加 150% 向上取整,普通洗不加价。会员洗车费打 85 折向下取整,在洗车类型加价之后算。
  2. 附加费——内饰清洁每次 28 元、发动机清洗每次 45 元。
  3. 节假日加成——节假日时,(会员折扣之后的洗车费 + 附加费) × 1.2,向上取整
  4. 停车费——室内停车 15 元、露天停车 0 元,停车费不参与节假日加成

输入描述

一段自然语言描述的洗车场景。

例:王先生是会员,非节假日,SUV打蜡,加内饰清洁,室内停车。

输出描述

{"total_bill": Number,"wash_cost": Number,"car_type": String}
  • total_bill:洗车费 + 附加费(含节假日加成)+ 停车费
  • wash_cost:节假日加成前的折后洗车费(不含附加费和停车费)
  • car_type:车型,取值为 "小型车" / "SUV" / "MPV"

评测仅对照要求输出的字段,多余字段会被忽略。


样例1

输入

张先生不是会员,非节假日,小型车普通洗,不加附加项目,露天停车。

输出

{"total_bill": 38, "wash_cost": 38, "car_type": "小型车"}

样例解释

小型车基础价 38,普通洗不加价;不是会员,不打折,所以 wash_cost = 38;没有附加项目;非节假日不加成;露天停车 0;合计 total_bill = 38 + 0 + 0 = 38。


样例2

输入

李先生是会员,节假日,SUV精洗,加内饰清洁,室内停车。

输出

{"total_bill": 156, "wash_cost": 89, "car_type": "SUV"}

样例解释

SUV 基础价 58,精洗加 80%:58×1.8=104.4,向上取整 = 105;会员打 85 折:105×0.85=89.25,向下取整 = 89,这就是 wash_cost(节假日加成前的折后洗车费)。附加费内饰清洁 28;节假日加成 (89+28)×1.2=140.4,向上取整 = 141;室内停车 15 不参与加成;合计 total_bill = 141 + 15 = 156。

参考解答

下面是一个参考的 Prompt,它能根据自然语言描述,按你给出的计费规则计算费用,并输出 JSON。


Prompt(内容完整发送给大模型即可):

你是一个费用计算助手。请根据用户输入的自然语言描述,严格按照下面的计费规则计算洗车费用,并只输出 JSON 格式结果(不要包含任何额外文字)。计费规则:1. 车型基础价(car_type):小型车 38 元,SUV 58 元,MPV 78 元。2. 洗车类型加价(在基础价上加):   - 普通洗:不加价(乘以 1)   - 精洗:加价 80%,即 基础价 × 1.8,然后向上取整   - 打蜡:加价 150%,即 基础价 × 2.5,然后向上取整3. 会员折扣:如果是会员,在洗车类型加价后的金额上打 85 折,然后向下取整(即 Math.floor)。非会员不打折。4. 附加费(与洗车费分开):   - 内饰清洁:28 元   - 发动机清洗:45 元   - 可以同时有多个附加项目,费用累加。5. 节假日加成:   - 如果是节假日,则 (会员折扣后的洗车费 + 所有附加费) × 1.2,然后向上取整。   - 非节假日则不加成(即保持原金额)。6. 停车费:   - 室内停车:15 元   - 露天停车:0 元   - 停车费不参与节假日加成,直接加到最终总额中。计算顺序:1. 先根据车型和洗车类型算出“洗车类型加价后金额”(向上取整)。2. 如果是会员,对此金额打 85 折并向下取整,得到 wash_cost(即节假日加成前的折后洗车费);非会员则 wash_cost 等于步骤1的金额。3. 累加所有附加费,得到附加费总和。4. 如果是节假日,对 (wash_cost + 附加费总和) 做 1.2 倍并向上取整,得到“加成后小计”;非节假日则小计 = wash_cost + 附加费总和。5. 最终 total_bill = 小计 + 停车费。输出 JSON 必须包含三个字段(键名严格按此):{"total_bill": Number,"wash_cost": Number,"car_type": String}- total_bill:最终总费用(含节假日加成和停车费)- wash_cost:节假日加成前的折后洗车费(不含附加费、不含停车费、不含节假日加成)- car_type:车型字符串,取值为 "小型车""SUV""MPV"现在请处理以下用户输入,只输出 JSON:用户输入:{{input}}

使用方式将 {{input}} 替换为用户的自然语言描述(如“王先生是会员,非节假日,SUV打蜡,加内饰清洁,室内停车。”),然后将整个 Prompt 发送给大模型。

示例执行效果(对应你给的样例2)输入“李先生是会员,节假日,SUV精洗,加内饰清洁,室内停车。”输出应为 {"total_bill":156,"wash_cost":89,"car_type":"SUV"}


第四题:分期借贷还款引擎

(AI Coding)

使用 AI Coding 工程题:

给一份 README,要求用 HTTP JSON 服务管理信贷产品、借款人、贷款、还款计划与流水,支持等额本息、等额本金、先息后本三种还款方式,并完整处理放款、提前还款、逾期罚息、风险冻结、批量还款、展期、减免、坏账核销、回收与冲正;同时要保证金额精确到分、日期按自然月计算、虚拟时钟可推进、状态流转正确,并满足幂等、LIFO 冲正、失败不修改数据等约束。

参考

这个类型的试题以后应该会成为主流考察项目,AICoding的能力是未来程序员的必备基本技能。

目前大部分公司招聘研发的首要需求就是具备较强AI coding的能力。

叔基于 DeepSeek 演示下如何开发这个信贷系统,核心思路是把它当作你的“结对编程搭档”。关键在于如何用清晰、结构化的方式跟它“沟通”,让它一步步生成符合金融业务规范的高质量代码。叔把具体的端到端操作流程列举出来,供大家参考。

任何项目都可以按照下面的流程框架进行开发!

核心操作流程

    A[准备:明确需求与规则] --> B[第一步:生成项目骨架]    B --> C[第二步:构建领域模型与核心计算]    C --> D[第三步:实现业务服务与API]    D --> E[第四步:集成测试与质量保障]    E --> F[第五步:持续迭代与优化]

1. 准备:明确需求与规范(人机协同的基础)

在生成第一行代码前,先让 DeepSeek “理解”项目的全貌和金融系统的特殊约束。

  • 建立项目上下文:将准备好的详细 README(包含功能需求、技术规范、精度要求等)作为初始 Prompt 发给 DeepSeek。这会成为后续所有对话的“宪法”,让 AI 在正确的框架内生成代码。

  • 明确关键约束:在对话中,可以反复强调这个项目的核心规则。例如,可以用类似下面的“项目级指令”约束 DeepSeek:

    # 信贷系统开发规范 (用于约束 DeepSeek)## 技术栈后端:Spring Boot 3.x + Java 17数据库:PostgreSQL (使用 JPA/Hibernate)API 风格:RESTful JSON## 核心业务规则1.  **金额精度**:所有金额以“分”为单位的整数 (Integer/Long) 存储和计算,严禁使用 Float 或 Double。2.  **日期计算**:所有日期操作必须按“自然月”计算(如使用 Java 的 `YearMonth`)。3.  **幂等性**:所有写操作接口必须支持通过 `idempotency_key` 实现幂等。4.  **事务**:任何操作失败,数据必须完全回滚,不做任何持久化修改。

有了这个基础,AI 生成的代码才会从一开始就符合要求,避免后期大量的重构。

2. 第一步:生成项目骨架与基础模型

先从“骨架”开始,让 DeepSeek 生成项目的整体结构和基础代码,这会极大节省搭建项目的时间。

  • Prompt 示例

    “请根据上述技术栈,生成一个 Spring Boot 项目的完整目录结构。包含 pom.xml 依赖、application.yml 配置文件、以及一个 BaseEntity 基类(包含 idcreatedTimeupdatedTime 字段)。”

  • 进阶参考:如果有特殊需求,可以要求 DeepSeek 参考已有的开源项目,如 Spring AI MCP 的示例项目 mcp4ail,它能帮助你快速理解如何构建 Maven 多模块项目,并集成了 MyBatis Plus、H2 数据库等基础组件。

3. 第二步:构建核心领域模型与计算引擎

这是业务的核心,也是最复杂的地方。可以采用“模块化拆解”的策略,分步生成。

  • 定义数据实体
    • Prompt:“请根据 README 的描述,为‘信贷产品’、‘借款人’、‘贷款合同’、‘还款计划’生成 JPA 实体类。请使用 @Table 注解,并为关键字段添加校验注解(如 @NotNull@Min)。”
  • 实现核心计算器(关键!)
    • Prompt:“请实现一个 RepaymentCalculator 工具类,包含三个静态方法:calculateEqualPrincipal(...)calculateEqualInstallment(...)calculateInterestFirst(...)。输入参数为:本金(分)、年利率(百分比)、期限(月)。输出为每期的应还本金和利息列表。请确保所有金额计算使用 BigDecimal,中间过程不丢失精度,最终结果四舍五入到分。 ”

4. 第三步:实现业务服务与 API

有了核心模型和计算器,就可以让 DeepSeek 生成具体的业务逻辑和 API 接口了。这里要善用“上下文保持”技巧,在生成 API 时引用之前定义的 Model。

  • **生成服务层 (Service)**:
    • Prompt:“请基于 LoanContract 和 RepaymentPlan 实体,生成 LoanService。首先实现 disburseLoan(LoanDisbursementRequest request) 方法。该方法需要:
    1. 根据产品 ID 查询 Product
    2. 调用 RepaymentCalculator 生成还款计划。
    3. 保存合同和所有计划,操作需支持事务。
    4. 生成放款流水记录。”
  • **生成 API 层 (Controller)**:
    • Prompt:“为 LoanService 的 disburseLoan 方法生成一个 RESTful API。Controller 层需包含参数校验、idempotency_key 处理(简单起见,可先使用 Redis 缓存实现),并返回标准的 ResponseEntity<ApiResponse> 格式。”
  • 处理复杂状态流转:对于“提前还款”、“展期”、“冲正(LIFO)”等复杂逻辑,需要分步骤引导 AI。
    • Prompt 序列
    1. “请设计一个 LoanStatus 枚举,包含所有状态及流转规则。”
    2. “基于这个状态机,在 LoanService 中实现 freezeLoan(String loanId) 方法,状态流转不正确时抛出异常。”
    3. “解释一下 LIFO(后进先出)冲正原则在系统中的应用,并生成 reverseTransaction 方法的伪代码。”

5. 第四步:集成测试与质量保障

AI 生成的代码需要进行完善的功能测试,建立质量保障体系。

  • 生成单元测试:直接要求 DeepSeek 为关键类生成测试代码。
    • Prompt:“为 RepaymentCalculator 类的等额本息计算方法生成全面的单元测试(使用 JUnit 5)。测试用例需覆盖:正常情况、边界情况(如期限为1个月)、以及大额本金计算精度场景,确保计算结果误差不超过 1 分钱。”
  • 生成集成测试脚本:可以生成测试 API 的 HTTP 请求脚本(如 .http 文件或 Postman Collection),用于快速验证接口的完整性和幂等性。
  • 虚拟时钟实现
    • Prompt:“我需要一个可配置的全局时钟来模拟时间,用于测试逾期等场景。请设计一个 SystemClock 接口及其实现,一个用系统时间,一个用可设置的虚拟时间,并指导如何将其注入到日期计算的相关服务中。”

6. 第五步:持续迭代与优化

开发过程中,你可以随时就具体问题向 DeepSeek 提问,把它当作一个技术专家。

  • 性能优化:“分析 RepaymentService 中的批处理操作,如果还款计划有一百期,如何优化数据库插入性能?”
  • 问题排查:“我在冲正时遇到了 ConcurrentModificationException,请帮我检查以下代码逻辑,看看可能的原因是什么。”

基于 AI 开发这个项目的核心,就是将你清晰的业务逻辑和金融规范,通过结构化、渐进式的 Prompt,转化为 AI 可以精准执行的指令

显然它不能替代你对业务的理解和架构设计,但在完成重复的 CRUD、编写复杂的计算逻辑、生成测试用例等“脏活累活”方面,会是一个效率极高的助手。整个过程中,代码审查持续测试依然是确保项目质量不可动摇的基石。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-06 10:21:45 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/904071.html
  2. 运行时间 : 0.100008s [ 吞吐率:10.00req/s ] 内存消耗:4,925.16kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=74b5d97b7a47e71ffff3f59de83e00ff
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.11 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000481s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000828s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000350s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000283s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000511s ]
  6. SELECT * FROM `set` [ RunTime:0.000180s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000600s ]
  8. SELECT * FROM `article` WHERE `id` = 904071 LIMIT 1 [ RunTime:0.000510s ]
  9. UPDATE `article` SET `lasttime` = 1785982905 WHERE `id` = 904071 [ RunTime:0.006931s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000239s ]
  11. SELECT * FROM `article` WHERE `id` < 904071 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000476s ]
  12. SELECT * FROM `article` WHERE `id` > 904071 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003888s ]
  13. SELECT * FROM `article` WHERE `id` < 904071 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000812s ]
  14. SELECT * FROM `article` WHERE `id` < 904071 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006666s ]
  15. SELECT * FROM `article` WHERE `id` < 904071 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.009394s ]
0.101615s