岗位
通用工程
这些题与问题库里的是同一批,这里按各自主要考察的能力分组。
1313 道问题
本页为扩展题库第 201–250 题,共 1313 题。
A · 专业解题与实现49
- 用户通过外部链接直接打开需要登录的订单详情页。你会怎样设计路由解析、登录回跳和权限校验,避免深链绕过应用内流程?
- 一个列表页面滚动卡顿,但网络指标正常、内存也未明显增长。你会如何判断是主线程计算、布局/绘制还是锁等待导致?
- 请实现一个支持并发读写、按条目过期并可清理过期数据的映射。你会如何定义过期语义、同步边界和确定性测试?
- 实现一个深度相等函数,输入可能包含嵌套数组、共享引用和循环引用。请先定义相等语义,再说明如何避免无限递归与错误地混淆引用结构。
- 实现一个小型任务队列,支持并发 worker、任务取消和失败重试;测试不能依赖真实 sleep。你会怎样设计调度接口和状态转换?
- 实现一个逐块接收 UTF-8 数据的增量日志解析器:输入块可能截断多字节字符、字段顺序变化,也可能包含多条记录或超长单行。请定义解析状态、错误恢复策略和内存上限,并实现可重复解析的核心逻辑。
- 一个服务把工作线程数从 16 提到 256 后,吞吐没有提升,CPU 使用率反而更高。你会怎样解释上下文切换可能造成的影响,并用什么证据验证?
- 数据库字段变更完成后,只有部分下游任务间歇性失败。你会怎样找出仍在使用旧接口约定的消费者,并确定回滚还是兼容修复?
- 对账任务发现同一业务对象的事件时间顺序偶尔倒置,日志又分布在多个区域。你会如何判断是时钟偏差、异步延迟还是业务排序规则的问题?
- 月度汇总与明细报表最初一致,几周后差异逐渐扩大。你会如何把问题缩小到规则变更、迟到数据、重复处理或历史回补?
- 一个关键依赖只在某个区域间歇性超时,整体健康检查仍显示正常。你会如何判断影响面,并安全地隔离或临时关闭非核心功能?
- 消息积压经常在扩容后下降,几小时后又反弹。你会检查哪些生产者、消费者和消息特征,以判断真正瓶颈在哪里?
- 服务平均耗时基本不变,但最慢 1% 的请求连续一周变慢,投诉集中在少数大客户。你会如何定位问题并决定先验证什么?
- 设计一个供多个业务团队提交“在某个时间之后执行”的任务服务,任务可能被取消、改期或重复提交。你会怎样划分数据模型和执行组件?
- 数百个仓库都锁定了不同版本的第三方依赖,安全团队发现高危漏洞时很难知道影响范围。你会怎样建立依赖更新和风险处置机制?
- 服务已经切到新地址,一些用户仍连着旧节点,不同网络的恢复时间也不同。你会怎样检查 DNS 缓存、客户端缓存和现有连接?
- 一个缺陷只在线上出现,开发和预发环境都无法复现。你会如何判断问题来自环境差异、流量形态还是数据特征,并改进环境设计?
- 多个服务在请求路径中读取功能开关和分群规则。如何设计控制面与本地求值,让控制服务故障时线上行为仍然可预期?
- 一个关键完整流程测试偶尔失败,团队开始重跑直到通过。你会怎样确定它是否真实暴露产品风险,并改进测试流程?
- 第三方工具包的回调更新了数据,但界面没有刷新;手动触发刷新后又出现重复更新。你会怎样判断框架的刷新边界,并确定正确接入点?
- 一个服务被声明为单例后,不同用户请求偶尔读到彼此的临时状态。你会如何解释依赖注入生命周期与请求作用域,并设计安全的对象边界?
- 加入鉴权、日志和异常处理中间件后,部分错误没有 trace id,且未授权请求仍触发昂贵的解析逻辑。你会如何分析执行顺序并重新安排边界?
- 一个列表项从记录 A 更新为记录 B 后,输入框仍保留 A 的草稿。你会如何解释组件身份、key 和状态复用之间的关系,并选择修复位置?
- 一个自定义弹层鼠标操作正常,但键盘用户无法可靠进入、关闭或返回原位置。你会检查哪些焦点管理行为,并如何验证修复?
- 用户更新后偶尔加载到新 HTML 和旧 JavaScript,页面因此报错。你会怎样设计静态资源命名、缓存策略和发布顺序来降低不一致?
- 一个搜索框输入后界面短暂冻结,网络请求很快完成。你会如何用事件循环、任务队列和主线程占用解释现象,并确定长任务来源?
- 某页面服务端 HTML 正常,但水合后出现内容闪动并伴随控制台警告。你会如何定位服务端与客户端渲染结果的差异来源?
- 滚动列表时帧率下降,Performance trace 中反复出现 layout。你会如何判断代码是否触发布局抖动,并说明读写 DOM 的顺序为何重要?
- 页面的 HTML 很快返回,但用户仍长时间看不到主要内容。你会怎样沿着资源发现、下载、解析、执行和绘制过程定位阻塞点?
- 请设计一个可复用的长列表虚拟化组件:滚动窗口只渲染可见项,但行内选择状态不能因回收和复用 DOM 而串到其他数据。你会怎样定义接口并测试?
- 服务平均耗时稳定,但最慢 1% 的请求会周期性变慢,时间点与内存分配高峰接近。你会如何判断垃圾回收是否是原因,并区分其他暂停来源?
- 一个高流量服务需要把关键表从旧结构迁移到新模型,期间不能暂停读写。你会怎样组织迁移阶段并验证切换安全?
- 一个请求启动了多个异步任务;客户端断开或请求超时后,部分下游工作仍占用线程和连接。你会怎样让取消信号传到相关任务,并释放资源?
- 一组异步回调打印出的循环变量总是相同或与预期不同。请用你熟悉的一种语言解释变量绑定和闭包捕获,并给出可验证的修正方向。
- 编译器可能重排或消除代码。哪些程序行为允许优化器改变,哪些外部可观察行为必须保持?请用一个并发或 I/O 例子说明。
- 某对象重写了相等判断,却仍使用默认哈希实现,放入哈希集合后出现查找失败。请解释相等与哈希接口约定,并说明如何构造测试。
- 一个库的泛型信息在运行时不可直接获得,导致反射或序列化代码无法按预期工作。请解释类型擦除会影响哪些运行时行为,并说明替代设计。
- 一个多人协作工具需要展示成员在线状态和正在编辑的位置;短暂延迟可以接受,但离线成员不能长期显示为在线。你会怎样设计状态更新和过期机制?
- 产品要向数千万用户发送事务通知和可选营销通知,用户可以随时调整渠道偏好。你会如何设计通知发送流程?
- 一次跨时区交接期间,关键告警已发送,但原值班人以为新值班人会处理,新值班人又没有收到确认;故障因此延迟升级。你会怎样还原责任链,修复告警确认与交接机制,并验证改动有效?
- 一台机器开始频繁发生 major page fault,同时磁盘 I/O 升高。你会怎样判断工作集变化、内存压力和应用访问模式各自的作用?
- 一个全球服务需要按地区启用不同功能和数据保留规则,同时总部仍要观察整体运行情况。你会怎样划分配置、执行和汇总边界?
- 一次下游抖动后,上游流量没有明显增加,但请求数和队列长度翻倍,多个服务开始超时。你会怎样判断是否出现重试放大?
- 一个搜索服务需要调整分词和排序特征,同时不能让重建过程造成长时间结果缺失或明显增加写入延迟。你会怎样安排索引演进?
- 一个订阅产品有试用、续费、宽限期、退款和家庭共享。如何设计权益判定,使多个业务服务读取到一致且可追溯的结果?
- 客户端报告请求偶发超时,但服务端处理时间正常。你会怎样利用 TCP 重传、RTT 和连接状态等信息判断延迟发生在哪一段?
- 多个团队把脱敏数据复制到开发、预发和性能环境,数据刷新频率各不相同。你会怎样设计测试数据的权限、生命周期和可复现性?
- 一个按用量计费的 API 产品需要把不同地区的请求事件汇总成客户账单,并允许事后纠错。你会如何设计计量数据处理流程?
- 两个进程都访问地址 0x1000,为什么通常不会读写到同一块物理内存?请从地址转换和操作系统职责解释。
当前目标在这里暂无匹配题。 ·
D · 交付执行与持续运营1
当前目标在这里暂无匹配题。 ·