腾讯前端工程师面试指南 2026
腾讯前端面试以手写代码能力和框架原理深度著称。面试覆盖 JavaScript 核心机制、CSS 布局、框架原理和性能优化,并重视小程序和跨端开发经验。本指南整理了完整面试流程和高频题目。
面试流程
在线笔试
包含算法题和前端基础题,时长约 120 分钟。算法题 2-3 道(LeetCode 中等难度),前端题涉及 JS 输出题、CSS 布局题等。
技术一面(基础面)
60 分钟左右。深入考察 JavaScript 基础:原型链、闭包、异步编程、事件循环。穿插手写代码题(如实现 Promise、深拷贝等)。
技术二面(综合面)
60 分钟。考察框架原理(Vue/React)、性能优化方案、工程化实践。会结合项目经验讨论技术选型和架构设计。
技术三面(总监面/交叉面)
由部门总监或其他团队高级工程师面试。偏重技术视野、架构思维和解决复杂问题的能力。可能包含开放性技术讨论。
HR 面
了解职业规划、离职原因、期望薪资等。腾讯 HR 面相对标准化,重点考察稳定性和团队匹配度。
题型分布
| 题型 | 占比 | 说明 |
|---|---|---|
| JavaScript/CSS 基础与手写代码 | ~35% | 腾讯前端面试最核心的部分。高频手写题:Promise、防抖节流、深拷贝、EventEmitter、柯里化。CSS 考 BFC、层叠上下文、Flex/Grid。 |
| 框架原理(Vue/React) | ~25% | 不只是会用——要理解原理。Vue 响应式原理(Proxy/defineProperty)、虚拟 DOM diff 算法、React Fiber 架构和 Hooks 实现机制。 |
| 性能优化与工程化 | ~20% | 首屏加载优化(SSR、Code Splitting、懒加载)、Webpack/Vite 构建优化、前端监控体系搭建。重视可落地的工程化方案。 |
| 项目经验与场景设计 | ~20% | 围绕你做过的项目深入追问。可能给出业务场景让你现场设计前端方案。小程序/跨端相关经验是加分项。 |
精选 10 题及思路
手写 Promise.all 和 Promise.race
Promise.all 要处理空数组和非 Promise 值(Promise.resolve 包装)。Promise.race 注意一旦 settled 后续结果忽略。分析边界情况和错误处理。
事件循环(Event Loop)与宏/微任务
宏任务(setTimeout、setInterval、I/O)vs 微任务(Promise.then、MutationObserver)。每次宏任务后清空微任务队列。能分析复杂嵌套的执行顺序。
Vue3 响应式原理(Proxy vs Object.defineProperty)
Vue2 的 defineProperty 无法检测属性增删和数组索引变化;Vue3 的 Proxy 可以。讲清 reactive/ref 的实现、依赖收集(track)和触发更新(trigger)机制。
手写函数节流(throttle)与防抖(debounce)
防抖:最后一次触发后等待 delay 执行;节流:固定间隔内最多执行一次。注意 leading/trailing 选项、this 绑定和取消功能。
Webpack/Vite 构建原理与优化
Webpack:模块依赖图 → Loader 转换 → Plugin 处理 → Bundle 输出。Vite:Dev 用原生 ESM + esbuild,Build 用 Rollup。优化:Tree-shaking、代码分割、缓存策略。
CSS BFC、层叠上下文与 Flex 布局
BFC 触发条件和应用(清除浮动、防止 margin 重叠)。层叠上下文的形成条件和 z-index 比较规则。Flex 的主轴/交叉轴、flex-grow/shrink/basis。
小程序架构原理与跨平台方案
微信小程序双线程模型(渲染线程 + 逻辑线程)、通信机制。跨端方案对比:Taro、uni-app、React Native。讨论各方案的性能差异和适用场景。
首屏加载优化方案设计
SSR/SSG、路由懒加载、资源预加载(preload/prefetch)、图片优化(WebP/懒加载)、CDN 部署、关键 CSS 内联。给出可量化的优化指标。
手写深拷贝(处理循环引用)
递归遍历 + WeakMap 记录已拷贝对象处理循环引用。需要处理 Date、RegExp、Map、Set 等特殊类型。讨论 structuredClone 的优劣。
设计一个前端监控 SDK
错误监控(JS 异常/Promise 未处理/资源加载失败)、性能监控(FCP/LCP/CLS)、行为监控(PV/点击/路由)。讨论数据上报策略(批量/采样)和 SDK 体积控制。
常见误区
手写代码能力不扎实
腾讯前端面试几乎每轮都有手写代码环节。Promise、防抖节流、深拷贝这些经典题必须能快速且正确地写出来。只背思路不动手练习是通不过的。
只会用框架不理解底层原理
「用 Vue 做过项目」不等于理解 Vue。面试官会追问响应式原理、虚拟 DOM diff、编译器优化。建议阅读核心源码或 mini 版本实现加深理解。
忽视 CSS 和浏览器渲染基础
很多候选人只准备 JS 忽略 CSS。腾讯会考 BFC、层叠上下文、重排重绘、合成层等知识。浏览器渲染流水线(Parse → Style → Layout → Paint → Composite)要能讲清。
不关注小程序和跨端技术
腾讯是微信小程序的母公司。即使你面试的不是 WXG,了解小程序架构原理(双线程模型、通信机制)和跨端方案也是加分项。
如何用 InterviewCC 实战
常见问题
本指南基于公开面试经验和信息整理,面试流程可能随时调整,不保证面试结果。所有商标归其各自所有者所有。