实习|腾讯前端日常实习面经,总共五面

实习|腾讯前端日常实习面经,总共五面
最新回答
♂请叫我包子﹌

2026-03-18 05:38:42

腾讯前端日常实习五面面经总结如下:

一面(半小时笔试+半小时面试)
  • 笔试内容:

    基础类型判断:console.log(typeof null, typeof []),考察对JS类型的理解。

    CSS布局:display属性取值、两栏固定宽中间自适应布局。

    HTTP状态码:需熟悉常见状态码(如200、404、500等)及其含义。

    手写Promise:考察异步编程能力,需实现基础Promise逻辑。

    React/Vue组件:编写反馈鼠标位置的组件,涉及事件监听与状态管理。

    TypeScript数组去重:利用类型系统实现去重逻辑。

    XSS防范:需说明XSS攻击原理及防御措施(如输入过滤、CSP策略)。

    跨域解决方案:列举CORS、JSONP、代理等常见方法。

    输出题:考察this指向与作用域链的理解。

    Node特性:如事件驱动、非阻塞I/O等。

    正则表达式:将英文句子中除首单词外的首字母改为小写。

  • 拓展问题:

    React事件绑定:若在render中直接绑定事件,每次渲染会创建新函数,导致子组件不必要的重渲染。

    ES6特性:如箭头函数、let/const、解构赋值等。

    Async/Await原理:基于Promise的语法糖,通过生成器函数实现同步写法。

    ES5实现Promise:需模拟Promise的链式调用与状态管理。

    小程序云开发优势:如免服务器运维、快速开发等。

    团队角色:需结合项目经验说明自身定位(如核心开发、协调沟通等)。

    CDN原理:通过分布式节点缓存静态资源,减少源站压力。

二面(简历面 1.5小时)
  • 框架原理:

    Vue/React双向绑定:Vue通过数据劫持(Object.defineProperty或Proxy)结合发布-订阅模式实现;React需手动通过setState更新状态。

    Redux原理:基于单向数据流,通过dispatch(action)触发reducer更新状态,再通知视图渲染。

    虚拟DOM:通过JS对象模拟DOM结构,减少直接操作真实DOM的开销。

  • 项目细节:

    鉴权方案:如使用openid(微信生态)或JWT(无状态令牌)实现用户身份验证。

    爬虫原理:需说明请求发送、数据解析与存储逻辑,以及定时任务实现(如node-schedule)。

    Koa中间件:基于洋葱圈模型,通过async/await处理异步流程。

  • 问题排查:

    页面白屏:检查控制台报错、网络请求、资源加载情况,结合前端监控工具(如Sentry)定位问题。

  • 性能优化:

    懒加载:通过IntersectionObserver或滚动事件监听实现图片/组件的延迟加载。

    其他优化:如代码分割、缓存策略、减少重绘回流等。

  • 概率题:

    红球概率最大化:将一个红球单独放入一个袋子,其余球放入另一个袋子,此时拿到红球的概率为1/2 + 49/100 = 74.5%。

  • 数据库选择:

    MySQL vs MongoDB:需说明关系型数据库与非关系型数据库的适用场景(如事务支持、数据结构灵活性)。

三面(Leader面 30分钟)
  • 开发流程:

    Git Flow:需熟悉分支管理策略(如feature、release、hotfix分支的使用)。

  • 性能优化深入:

    React按需加载:通过React.lazy与Suspense实现代码分割。

    服务端渲染(SSR):需说明首屏渲染原理与SEO优势。

  • 测试与接口设计:

    测试方法:除手动测试外,可提及单元测试(Jest)、E2E测试(Cypress)等。

    RESTful API设计:需遵循资源命名、HTTP方法使用规范,并编写接口文档(如Swagger)。

  • 浏览器渲染:

    过程解析:从HTML解析、DOM树构建、CSSOM生成到渲染树绘制与布局。

  • 职业规划:

    实习动机:需结合个人发展目标说明(如技术提升、职业方向探索)。

  • 前端趋势:

    云开发:如Serverless架构、低代码平台的兴起。

四面(大Leader电话面 7分钟)
  • 框架特性:

    Vue特性:如响应式数据、组件化、指令系统等。

    虚拟DOM与Diff算法:需说明同层比较与优化策略(如key的作用)。

  • 源码阅读:

    Vue源码:可提及响应式原理、组件生命周期等模块的实现逻辑。

总结与建议
  • 优势:项目经验丰富,对框架原理与实际开发有深入理解,面试官认可其动手能力与学习态度。
  • 不足:基础薄弱(如算法、网络知识),部分原理性问题回答不完整。
  • 建议:

    夯实基础:重点补全JS高级特性、网络协议、数据结构与算法等知识。

    深入原理:对框架源码、浏览器机制等核心内容需进一步学习。

    项目复盘:总结项目中的技术难点与解决方案,形成可复用的经验。

    模拟面试:通过高频问题练习提升表达逻辑与应变能力。