主题
前端
这些题与问题库里的是同一批,这里按各自主要考察的能力分组。
47 道问题
A · 专业解题与实现46
- 一个报名表单会因为重复提交和弱网重试出现状态不一致。你会怎样梳理它的状态与转换,并决定哪些逻辑抽成独立单元?
- 请实现一个重试封装:调用外部服务失败时按规则重试,同时不让重试压垮对方。先说明接口,再写代码,并说明怎样让它在测试里可确定地运行。
- 页面空闲一段时间后,第一次请求明显比之后的请求慢。从网络层面看,可能有哪些原因,你会怎样区分它们?
- 一个图片很多的页面首屏打开很慢。你会怎样从现象一步步推回原因,并说明每种改进手段的代价?
- 你的接口本地测试正常,联调时前端同学坚持说接口报错或没返回数据。你会用哪些手段去定位,又怎样拿出让对方信服的证据?
- 把一个很大的前端包拆成多个小包以后,首屏反而更慢了。你会怀疑哪些原因,怎样验证?
- 公司的多个前端项目分散在不同仓库,有人提议合并成 monorepo。你会怎样判断该不该做,又怎样分步验证?
- 框架允许界面在后台并发更新,但慢请求的旧结果偶尔覆盖新选择。你会怎样设计并发状态更新?
- 复杂表单同时有字段校验、跨字段规则和服务端错误,用户编辑时状态彼此覆盖。你会怎样划分框架状态与业务状态?
- 多个页面共用服务端数据,框架缓存减少请求,却在用户切换账号后暴露旧结果。你会怎样设计缓存键和失效边界?
- 升级前端框架后没有编译错误,但渲染时机、默认缓存或副作用顺序改变。你会怎样验证升级不会改变产品行为?
- 用户在一个子应用完成登录后,切换到另一个应用却丢失权限或会话状态。你会如何设计认证上下文的共享边界?
- 一个子应用发布“订单已完成”事件,其他模块各自解释不同,导致重复请求和页面状态分叉。你会怎样定义跨应用事件接口约定?
- 用户报告跨子应用跳转后页面空白,但各团队监控都没有异常。你会怎样补齐日志、指标和调用链,让团队可以跟踪用户从跳转到页面加载的完整过程?
- 独立开发的子应用集成后出现样式覆盖、主题不一致和弹层被裁剪,你会如何选择样式隔离策略?
- 多个前端模块都能独立构建,但上线仍必须同步协调。你会用什么证据判断它们是否真正具备独立交付边界?
- 一个大型前端难以并行交付,但一次性拆成多个子应用风险很高。你会怎样规划渐进迁移并判断每一步有效?
- 一个子应用启动异常会阻塞整个工作台,用户无法访问其他模块。你会怎样隔离故障,并在必要时关闭非核心功能、保住其他模块?
- 多个子应用依赖不同版本的 React 和组件库,重复下载与运行时冲突同时出现,你会怎样治理共享依赖?
- 多个子应用共享浏览器地址栏,浏览器前进后退、深链和登录重定向行为不一致。你会怎样定义路由接口约定?
- 怎样设计一个文章编辑和发布系统?草稿、审核、定时发布、多渠道分发和事后修改,状态和数据应该怎样组织?
- 一段视频从文件或网络到画面和声音播放出来,中间经历了哪些环节?解码、音画同步、卡顿和硬件加速分别怎样影响体验?
- 怎样设计一个音频或视频的在线编辑器?时间线、素材、非破坏性编辑、预览和最终导出,各自应该怎样设计?
- 怎样设计一个多人实时协同编辑的文档系统?多人同时修改同一段文字时,怎样保证最终一致,离线编辑后又怎样合并?
- 怎样设计一个人和 AI 一起写作的产品?AI 的修改怎样呈现给用户、怎样接受或拒绝,人和 AI 同时编辑时怎样处理冲突?
- 怎样设计一个沉浸式的音视频信息流,让上下滑动时几乎没有等待?预加载、播放器复用、内存和流量怎样平衡?
- 请设计一个支持大文件上传的产品能力。你会先澄清哪些约束,再怎样逐层展开?
- 要做一个类似 Doc、PPT 或 PS 的在线编辑器,核心的数据模型和渲染怎么设计?撤销重做、选区和大文件的性能分别怎么处理?
- 流媒体的加载和请求策略应该怎么设计,才能既起播快又不卡?分片、码率自适应、预加载和缓存之间怎样取舍?
- 请实现一个支持并发读写、按条目过期并可清理过期数据的映射。你会如何定义过期语义、同步边界和确定性测试?
- 实现一个逐块接收 UTF-8 数据的增量日志解析器:输入块可能截断多字节字符、字段顺序变化,也可能包含多条记录或超长单行。请定义解析状态、错误恢复策略和内存上限,并实现可重复解析的核心逻辑。
- 第三方工具包的回调更新了数据,但界面没有刷新;手动触发刷新后又出现重复更新。你会怎样判断框架的刷新边界,并确定正确接入点?
- 一个列表项从记录 A 更新为记录 B 后,输入框仍保留 A 的草稿。你会如何解释组件身份、key 和状态复用之间的关系,并选择修复位置?
- 一个自定义弹层鼠标操作正常,但键盘用户无法可靠进入、关闭或返回原位置。你会检查哪些焦点管理行为,并如何验证修复?
- 用户更新后偶尔加载到新 HTML 和旧 JavaScript,页面因此报错。你会怎样设计静态资源命名、缓存策略和发布顺序来降低不一致?
- 一个搜索框输入后界面短暂冻结,网络请求很快完成。你会如何用事件循环、任务队列和主线程占用解释现象,并确定长任务来源?
- 某页面服务端 HTML 正常,但水合后出现内容闪动并伴随控制台警告。你会如何定位服务端与客户端渲染结果的差异来源?
- 滚动列表时帧率下降,Performance trace 中反复出现 layout。你会如何判断代码是否触发布局抖动,并说明读写 DOM 的顺序为何重要?
- 页面的 HTML 很快返回,但用户仍长时间看不到主要内容。你会怎样沿着资源发现、下载、解析、执行和绘制过程定位阻塞点?
- 请设计一个可复用的长列表虚拟化组件:滚动窗口只渲染可见项,但行内选择状态不能因回收和复用 DOM 而串到其他数据。你会怎样定义接口并测试?
- 创建、编辑和审核由不同团队负责,表单反馈逐渐不一致。你会如何决定哪些模式统一、哪些保留差异?怎样检查加载、空白、错误和恢复状态?
- 多个团队复制共享组件并增加自有变体,产品体验逐渐不一致。你会如何判断哪些差异应进入共享设计系统,哪些应保留为团队特例?怎样让团队参与规则维护?
- 某功能在公司网络和多数家庭网络正常,但在特定运营商或弱网环境下请求经常超时;服务端错误率没有同步上升。你会如何定位客户端、网络路径、协议和重试策略之间的原因?
- 页面默认语言下布局正常,切换到另一种语言后少数按钮溢出、表格错位;错误只出现在窄屏和系统字体放大时。你会如何缩小问题范围并建立回归验证?
- 多个团队可独立发布微前端模块,但页面加载、导航、错误提示和无障碍行为开始不一致。你会如何决定哪些能力由平台统一、哪些留给业务团队?
- 多个产品团队通过 CSS 覆盖共享组件样式,升级后频繁回归。你会如何判断应增加配置、拆分组件还是保留例外?
当前目标在这里暂无匹配题。 ·