悦省yueser.com

AI / 编程与调试

编程与调试

让它指出真问题,而不是复述常识

代码审查

编程与调试

只挑会导致 bug、安全和性能问题的地方

你是资深工程师。审查下面这段代码,只指出会导致 bug、安全问题或性能问题的地方,按严重程度排序。每处给出:1)问题是什…
详情

报错定位

编程与调试

列出可能性排序 + 每种怎么验证

我在 [技术栈与版本] 上遇到这个报错。[已尝试过的方法]。请:1)按可能性从高到低列出原因;2)每条给出验证方法(一条…
详情

SQL 性能优化

编程与调试

针对这条查询,不要通用建议

你是数据库专家。这条 SQL 在 [表名,约 X 万行] 上执行需要 [耗时]。请:1)指出最可能的瓶颈(看执行计划);…
详情

看懂陌生代码

编程与调试

按数据流讲,而不是逐行翻译

解释下面这段代码。要求:1)先用一句话说它整体在干什么;2)按数据流讲:输入从哪来、经过哪些变换、输出到哪去;3)标出…
详情

接口设计挑刺

编程与调试

在写代码之前,先找出设计漏洞

这是我的接口设计:[粘贴设计]。请以审查者的身份挑刺:1)列出 5 个最可能在实现时出问题的点;2)指出哪些字段是冗余的…
详情

写正则并解释

编程与调试

连边界情况和反例一起给

帮我写一个正则:匹配 [描述需求]。要求:1)给出正则表达式;2)逐个片段解释含义;3)列出 3 个能匹配的例子和 3…
详情

否决这个迁移方案

编程与调试

先假设方案必须被否掉,再决定它值不值得做

你是被拉来评审这次迁移的资深工程师,任务是找出足够充分的理由否决它。请:1)列出会让这次迁移失败的具体条件(数据量、停机…
详情

依赖升级风险评估

编程与调试

从 changelog 里挖出真正会踩到的 breaking change

我要把 [依赖名] 从 [当前版本] 升到 [目标版本],项目里大约有 [N] 处调用。请:1)列出这两个版本之间所有可…
详情

给测试用例挑漏

编程与调试

找出没被覆盖的分支,按线上事故概率排序

下面是我的实现和现有测试。请找出测试没覆盖到的地方:1)列出所有分支和边界,标出哪些没有用例;2)按「一旦出错线上影响最…
详情

把需求转成数据模型

编程与调试

实体、关系、状态机,以及将来一定会改的字段

把这个需求转成数据模型,先不写代码。输出:1)实体清单,每个实体一句话说明它代表现实中的什么;2)实体间关系与基数,指出…
详情

审查错误处理

编程与调试

找出被吞掉的异常和无法诊断的报错

审查下面这段代码的错误处理。只关注失败路径:1)哪些异常被吞掉或降级成了默认值,出问题时会不会静默出错;2)错误信息是否…
详情

并发与竞态审阅

编程与调试

假设两个请求同时到达,逐条走共享状态

审查下面这段代码的并发安全。方法:假设有两个请求在同一毫秒到达,逐个走一遍共享状态。请:1)列出所有共享可变状态(内存变…
详情

一次交付迁移、回滚和校验,先在少量数据上走通

你是负责线上数据迁移的后端工程师。根据下面的表结构和变更目标,输出三部分:1)迁移脚本:分批执行、可重入、每批有上限,避…
详情

把散落的日志收成一条时间线,分清证据和猜测

你是排查线上故障的工程师。下面是一段时间的日志,可能混有多个服务。请:1)按时间排出事件链,标出第一个异常点;2)把「日…
详情

用最小输入稳定复现,不顺手搭一套测试框架

你是擅长定位边界条件的工程师。为下面这个 bug 写一个最小验证用例:1)只保留触发所必需的输入和状态,能删的都删掉;2…
详情

上线前挑配置的刺

编程与调试

假设配置一定会出事,逐项找出默认值、密钥和环境差异的坑

你是负责上线的 SRE,任务是挑刺而不是确认。审查下面的配置和环境变量清单:1)找出所有依赖默认值才能工作的项,并把默认…
详情

用时间线、根因和可验证的改进项,替代「加强监控」式总结

你是事故复盘的主持人。根据下面的时间线和处置记录,写一份复盘:1)时间线只保留改变系统状态或决策的节点,统一标注时区;2…
详情

评审数据库索引设计

编程与调试

按真实查询逐条核对索引,指出冗余、失效和写放大

你是数据库性能评审者。根据下面的表结构、数据量和慢查询,逐条评审索引:1)每个索引对应哪条查询,写出走索引的 WHERE…
详情

按接口契约切分,让几个人同时动手而不互相等待

你是技术负责人。把下面这个需求拆成可以并行开发的任务:1)先定出不可并行的顺序约束(数据模型、接口契约、迁移);2)其余…
详情

列出谁会被影响、哪条链路最脆,以及出事后怎么退

你是这次改动的反对者,任务是找出它可能伤到谁。根据下面的改动说明和系统依赖,输出:1)受影响的调用方、数据、定时任务和下…
详情