FEATURED · 精选文章

小米前端秋招笔试经验:题型考点与避坑指南

发布时间 / 2026/8/28 19:27:24
来源 / 创域科博编辑部
栏目 / 资讯中心
小米前端秋招笔试经验:题型考点与避坑指南 2024年秋招我做完了小米集团前端岗的第一批笔试。说实话秋招笔试刷了几十场之后你会发现大部分公司出的题都长得很像但小米这套题给我的感觉是基础题不白给编程题有区分度整体节奏偏紧。如果你正在准备或者即将参加小米的前端笔试这篇文章应该能帮你少走不少弯路里面会把题型分布、高频考点、实战代码复现、时间分配策略以及考场上容易踩的环境坑一次说清楚。1. 笔试整体印象平台、题型与节奏1.1 笔试平台与考试环境小米这批笔试用的是常见的在线笔试平台进入考场前会做身份验证手机扫码后处于全程监控状态。这里有一个关键细节考试全程摄像头随机抓拍而且系统会监测浏览器切屏次数。我周围有同学因为不小心切出去看时间被提示了两次虽然没有直接被判作弊但那种紧张感很影响后续答题心态。所以考前务必做两件事清空电脑上的弹窗应用把微信、钉钉、企业QQ全部退出登录。另外浏览器建议使用Chrome或Edge稳定版别用老旧的浏览器因为部分在线编辑器对某些浏览器的支持不好可能出现代码框加载失败的问题。1.2 题量与时间分配整体来看小米前端笔试第一批的题量大致分为三块选择填空类客观题、编程题、问答题。整场考试时间大约在90分钟左右客观题控制在30-35分钟内完成比较合适因为后面编程题需要留足时间调试。我的个人策略是客观题快速过遇到特别纠结的选项先标记不恋战最后有时间再回头看。因为客观题分值再高也不如一道编程题拉开的差距大编程题写不出来分差是很惨烈的。2. 高频考点拆解小米前端笔试到底在考什么2.1 JavaScript 核心机制闭包、this指向与事件循环这部分是前端笔试的“必修课”小米的笔试里也占了不小比重。闭包题一般不会直接问“闭包是什么”而是通过代码运行结果来考。经典场景比如for (var i 0; i 5; i) { setTimeout(function() { console.log(i); }, 1000); }输出什么答案是连续输出5个5。这个变体我在好几家公司笔试里都遇到过小米的题目大概率也是类似的套法。关键是理解 var 声明的变量会挂载到全局setTimeout 回调执行时循环早已结束此时 i 已经变成了5。这里要提醒一下千万别觉得自己会了就跳过笔试中这种题通常不只是考你输出结果还会要求你指出如何修复。修复方案至少有三种用let声明、用闭包包裹、用setTimeout的第三个参数传值。最好三种都能写出来因为改题风险很大你不知道阅卷人期望哪一种。事件循环方向考查的重点基本围绕宏任务与微任务的执行顺序。核心框架要记住同步代码优先执行然后依次处理微任务队列微任务清空后再执行一个宏任务如此往复。Promise.then属于微任务setTimeout属于宏任务而async/await本质上是 Promise 的语法糖await后面的代码相当于.then里的内容。笔试时我遇到的一道变形题大概是问async function里的await与普通Promise.then的执行顺序这类题只要抓住“await 右侧的表达式直接执行右侧之后的代码放到微任务队列”这个核心逻辑就不容易错。2.2 浏览器与网络缓存策略、跨域与性能优化网络和浏览器这块前端笔试八股文里最常出现的无非是 HTTP 缓存、跨域方案、浏览器从输入URL到页面渲染的过程、前端性能优化。小米考察缓存时通常会给定一个请求场景问命中强缓存还是协商缓存以及Cache-Control和Expires的优先级关系。这里有一个容易忽略的点Cache-Control的优先级高于Expires因为前者是HTTP/1.1标准后者是HTTP/1.0时代的产物。ETag与Last-Modified同理前者的判断更精确优先级也更高。跨域问题小米的隐形考察点在于不只是问JSONP还是CORS而是考你对preflight预检请求的理解。比如什么情况下会触发预检非简单请求、带自定义请求头、请求方法不是 GET/POST/HEAD、Content-Type不是application/x-www-form-urlencoded、multipart/form-data、text/plain时就会触发预检。这个点如果只说“JSONP能解决跨域配一下CORS”就显得太浅了面试官一眼就能看出你是背八股文还是真正理解。性能优化方向小米考得比较综合有时候会给出一个慢页面场景让你从网络、渲染、代码三个维度分别列出优化点。答题时要注意分层网络层讲缓存和 CDN渲染层讲减少回流重绘、懒加载、预加载代码层讲代码分割、Tree Shaking、长列表虚拟滚动。这种题言之有物、结构清晰很容易拿高分。2.3 框架与工程化Vue、React核心原理与组件通信到了框架层面小米的笔试题不会问“Vue和React各自的优缺点”这种大而空的问题而是切到具体使用。React 方向最经典的是对虚拟 DOM 和 diff 算法的理解。出题形式通常是给定一个列表更新场景让你判断哪些节点会被复用为什么 key 不用 index。这里要讲到同层比较、类型不同直接替换、key 用于标识节点复用这三个核心策略。用 index 做 key 的坏处是列表头部插入时会导致整条列表的 key 全部错位引发“原地复用”状态错乱。Vue 方向考得比较多的是响应式原理从 Vue 2 的Object.defineProperty到 Vue 3 的Proxy为什么 Vue 3 改成 Proxy 之后能够监听新增属性和数组索引操作。这道题是标准的高频题建议把get、set中的依赖收集与触发更新的流程背得滚瓜烂熟同时能够口述 Vue 2 针对数组方法重写的7个方法分别是什么。组件通信在小标题里可能不会直接出现但编程题或问答题里会结合父子组件传值、兄弟组件通信来考。常规方案props/emit、事件总线、provide/inject、Vuex/Pinia、context。如果题目追问“组件层级很深的情况下如何通信”最好是能答出依赖注入结合组合式API的治理思路这个比较加分。工程化这块小米比较关注 Webpack 的构建优化和 Vite 的优势。热词里出现了“前端开发规范vue”和“前端项目”说明工程化规范也在他们的考察范围内。重点准备一下Webpack 的 loader 和 plugin 区别、SplitChunks的作用、Tree Shaking 的前提条件、Vite 为什么开发服务器启动那么快因为 esbuild 预构建依赖 原生 ESM 按需加载。后者可以说得很具体因为这是看得见摸得着的变化。4. 时间分配与答题节奏如何把90分钟用出最大性价比4.1 客观题先快后慢标记先过选择题和填空题建议用一轮扫描的方式做题会做的直接选不会的或者模棱两可的标记一下不要超过两分钟。因为客观题是一锤子买卖纠结三分钟对了也就多1分但编程题第三十分钟可能就能写出一道15分的题目性价比完全不同。我的经验值是客观题时间尽量控制在总时长的1/3以内。例如90分钟考试客观题最多35分钟剩下55分钟集中火力在编程题。4.2 编程题先易后难、边界优先、稳扎稳打编程题这里要分享一个重要策略做题顺序一定不要按题目顺序做而是先花1分钟浏览所有编程题把题目按难易程度重新排队先写思路最简单的那道。做题步骤我建议固定下来先审题给题目画入参出参模型然后设计边界条件再动手写代码写完用示例数据手动跑一遍最后跑边界用例。这套流程熟练后能帮你避免大量低级错误。边界条件是最容易翻车的地方。比如一道题要求整数数组去重并返回新数组长度很多人在[1, 1, 2]这种用例上没事但换成[]、[0,0,0]、全相同元素、超大整数数组就暴露问题了。考场上提交前我习惯性地在脑子里跑一遍空数组和全相同值就帮我抓到了几次隐藏bug。4.3 问答题答题框架比字数重要问答题的坑是很多人知道答案但写得像流水账缺少结构性。阅卷人每天看几百份试卷你写得再长没有结构也难拿高分。一个通用的回答框架是先说结论再列要点每个要点配一句场景说明最后给一个备选方案对比。比如问到性能优化不要开头就写“首先...其次...然后...”而是用“性能优化可以从网络、渲染、代码三个维度解决网络方面...渲染方面...代码方面...”的结构。清晰的逻辑脉络远比堆砌知识点重要。5. 笔试环境实战常见问题与避坑指南5.1 本地调试与平台提交的不一致问题在线笔试平台最讨厌的问题之一就是本地跑得好好的代码一贴进平台就报错或者输出不对。我遇到过因为缩进问题导致 Python 报错的也见过因为代码开头带了 BOM 头导致 JavaScript 解析异常的。前端岗位的编程题主要用 JavaScript这类问题怎么防写完代码后先在本地 Node 环境或浏览器控制台跑一遍确认无误后再粘贴到平台。粘贴时尽量使用纯文本格式避免编辑器自动带上多余字符。另外有一个很容易忽略的点平台上的代码是默认包含某个代码模板的你在模板基础上填代码时别把模板的 import 或 require 语句删了否则会报找不到模块的错。5.2 摄像头、切屏与网络限制在线笔试的监考机制通常会在进入考场时检查摄像头、麦克风权限。这里有一个关键设置如果你用的是一台老电脑摄像头可能被其他软件占用比如某个视频会议软件还挂在后台。建议提前一天把所有在线会议软件卸载或用任务管理器彻底退出考前再检查一次系统设置里的摄像头权限。切屏问题前面说过答题过程中尽量不要切换窗口。如果确实需要计算或者查看本地代码可以开一个副屏但有些平台的检测机制是按焦点切换来判定的副屏其实也逃不过。最稳妥的方案就是把所有要用的参考资料考前准备好考试过程中就不碰其他窗口了。网络中断是另一个高发问题。虽然网断了通常可以重连继续答题但如果自动保存功能不完善你最后几分钟提交的代码可能直接丢失。这里的经验是每写完一道编程题立刻点击保存按钮不要攒到最后一起保存。不要问我是怎么知道的这种痛一次就够了。5.3 考前准备清单我整理了一份前端笔试前必做的清单每次考试前花10分钟过一遍能避免绝大多数低级问题电脑电源接好充电线插上别用电池撑全场手机调成免打扰模式并放在摄像头能拍到的地方Chrome 浏览器更新到最新版禁用所有可能弹窗的插件关闭微信、钉钉、QQ、邮件客户端等一切可能弹通知的应用准备1张白纸和2支笔方便编程题做草稿设计这比在草稿纸上敲代码更快准备好身份证或学生证有些平台考前需要拍照验证提前半小时进入考试等待页面避免最后几分钟冲进去出岔子6. 编程题常见考点总结与冲刺清单最后把整场笔试中最常遇到的知识点做一个冲刺清单考前扫一眼比刷十道模拟题管用。JavaScript 语言基础原型与原型链__proto__与prototype的区别闭包的产生条件与内存影响事件循环、宏任务与微任务执行顺序debounce、throttle、deepClone、Promise系列手写ES6 新特性解构赋值、Set/Map、reduce常用手法框架与组件化Vue3 响应式原理、生命周期与组合式APIReact HooksuseState、useEffect依赖、useRef的用法组件通信的几种方案key 的作用与索引 key 的缺陷浏览器与服务端输入URL到页面渲染的完整过程HTTP 缓存机制与优先级跨域方案与预检请求前端安全XSS 与 CSRF 的原理与防御手写代码重点手写debounce、throttle手写深拷贝考虑循环引用手写Promise.all/Promise.race手写发布订阅事件总线手写简单虚拟 DOM 渲染函数手写对象扁平化上面这个清单基本覆盖了小米集团2024秋招前端岗第一批笔试的大部分考点。前端岗位的笔试其实是非常考验“扎实度”的它不完全看你刷过多少题而是看你在有限时间内能不能准确、稳定地输出答案。这句话我在多场笔试后感受越来越深。如果你能在基础题上不丢分、编程题上稳住边界、问答题上表达清晰那这场笔试你大概率能稳稳过关。希望这篇文章能帮你在考场上心态更稳发挥更从容。
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻