2026-05-02 20:57:29
腾讯春招实习面经总结:作者通过内推获得腾讯Offer,面试流程涵盖4-5轮电话面试,涉及前端基础知识、网络、算法、项目经验及HR综合评估。以下为详细面试问题及经验整理:
一面(技术基础面)JS基础:
字符串转数字的方法(parseInt()、Number()、+运算符)。
深浅拷贝的区别及实现(浅拷贝:Object.assign()、展开运算符;深拷贝:递归复制、JSON.parse(JSON.stringify()))。
JS继承实现(ES5:原型链继承、构造函数继承、组合继承;ES6:class + extends)。
let/const/var的区别(块级作用域、暂时性死区、重复声明限制)。
ES6箭头函数特性(无this绑定、无arguments对象、不能用作构造函数)。
setTimeout与Promise执行顺序(涉及macrotask和microtask队列)。
网络协议:
TCP/IP网络模型(四层:应用层、传输层、网络层、链路层)。
CSRF和XSS攻击及防范(XSS:输入过滤、CSP策略;CSRF:Referer校验、Token验证)。
前端框架:
React生命周期(挂载:constructor→render→componentDidMount;更新:shouldComponentUpdate→render→componentDidUpdate;卸载:componentWillUnmount)。
React组件通信(Props、Context、事件总线、Redux等)。
jQuery源码问题(推荐参考网易云课程《jQuery源码解析》)。
jQuery animate实现原理(通过requestAnimationFrame或setTimeout实现动画,兼容性处理针对不同浏览器内核)。
项目经验:简述项目背景、技术栈及难点解决。
HTTP协议:
HTTP/2特性(二进制分帧、多路复用、头部压缩、服务器推送)。
常见HTTP头部字段(Cache-Control、Content-Type、User-Agent等)。
Cache-Control值(no-cache、max-age、private等)。
数据结构:
B树与B+树区别(B树节点存储数据,B+树数据仅在叶子节点存储且通过指针串联)。
Promise:
Promise状态(pending→fulfilled/rejected)。
已resolved的Promise添加then回调是否执行(会执行,Promise设计上支持异步链式调用)。
项目深度:
项目性能优化(工具:Chrome DevTools的Rendering面板;方法:减少重绘回流、代码分割、懒加载)。
前端安全防范(XSS/CSRF防护、输入校验、HTTPS加密)。
职业规划:
是否读研(明确回答不读,表明对前端开发的专注)。
未来工作方向(如全栈、性能优化、框架开发等)。
家庭背景、个人优缺点(缺点需避免致命项,如“贪玩”可转化为“时间管理需加强”)。
是否参加其他公司招聘(明确表示优先腾讯,体现诚意)。
亲属在腾讯情况(如实回答,避免隐瞒)。
基础为王:
腾讯对JS基础(作用域、继承、异步)和网络协议(TCP/IP、HTTP/2)考察严格,需重点复习《ES6标准入门》《HTTP权威指南》等资料。
数据结构(B树、链表)和算法(排序、动态规划)需保持刷题手感(如LeetCode中等难度题)。
项目深化:
准备1-2个核心项目,从技术选型、性能优化、安全防护等角度展开,避免泛泛而谈。
示例回答:“项目中使用Webpack代码分割减少首屏加载时间,通过CSP策略防御XSS攻击。”
模拟面试:
针对常见问题(如“深浅拷贝”“Promise执行顺序”)进行模拟回答,控制时间在2分钟内,确保逻辑清晰。
对薄弱环节(如网络攻击防范)提前准备话术,避免面试时卡顿。
心态调整:
腾讯内推周期较长(2-3周),需保持耐心,避免因等待焦虑影响后续面试表现。
总监面和HR面注重沟通自然度,可提前练习自我介绍和职业规划陈述。
参考学习资源: