字节跳动前端开发工程师岗
一面
- 平时负责或深入的技术栈与业务方向,核心用户场景与技术价值主张
- 前端开发生命周期管理,从需求分析、UI/UX 协作到开发测试、性能优化的全流程实践与质量保障
- 技术选型调研与用户体验数据应用,如何验证框架/方案选择并定位体验瓶颈
- 项目开发中如何实现高效跨职能协同(产品、设计、后端、测试),关键协作流程与工具链
- 竞品或业界方案分析框架与技术差异化策略制定,关注性能体验、工程效率与可维护性
- 用户交互路径分析与体验优化项目(如加载性能、交互动效、无障碍访问)的构建机制
- 关键性能指标监控与项目质量评估体系(如 LCP、FCP、CLS、错误率)
- 现代前端开发与传统网页开发模式区别,业务在不同阶段(初创、增长、复杂化)的技术重点与架构演进
- 案例分析:给定新业务场景(如互动玩法、复杂中后台),设计技术方案并评估资源与排期优先级
二面
(侧重架构设计与工程实践)
- 常用的前端架构模式与设计思路(如组件化、状态管理、微前端),在实际业务中的应用场景与取舍
- 手写复杂模块设计或系统重构方案框架,应对业务迭代与技术升级的协同策略
- 案例分析:针对现有成熟项目,设计性能体验提升与多端适配策略
- 案例分析:为新项目设计多端一体(Web、小程序、Native Hybrid)的技术方案,考虑工程化、组件复用与智能化工具链应用
- 数据分析:如何通过埋点、性能监控与业务数据调整技术方案,并评估技术投入的产出价值
- 设计一个面向团队的前端基建或提效项目(如低代码平台、物料体系),并阐述落地路径与协作要点
三面
(开放性问题与系统级思考)
- 对前端工程师在互联网业务价值链中作用的理解,如何通过技术驱动用户体验提升与业务增长
- 前端方案全球化落地实践(多语言、多时区、本地化合规、网络差异化适配)
- 介绍资深前端工程师与技术负责人的核心差异,跨团队项目推动与技术领导力体现
- 如何设计一个基于 AI 的前端智能化平台,结合微调大模型与 RAG 技术处理设计系统、代码规范与业务逻辑 设计支持智能 UI 生成、代码审查辅助、体验问题自动排查的技术方案 结合代码安全、隐私合规与权限管控进行技术实现与管理
- 项目全生命周期体验与效率最大化方案(从技术选型、开发提效到长期维护与体验监控)
高频场景题总结
- 请求失败会弹出一个 toast,如何保证批量请求失败,只弹出一个 toast
- 如何减少项目里面 if-else
- babel-runtime 作用是啥
- 如何实现预览 PDF 文件
- 如何在划词选择的文本上添加右键菜单 (划词:鼠标滑动选择一组字符,对组字符进行操作)
- 富文本里面,是如何做到划词的 (鼠标滑动选择一组字符,对组字符进行操作)?
- 如何做好前端监控方案
- 如何标准化处理线上用户反馈的问题
- px 如何转为 rem
- 浏览器有同源策略,但是为何 cdn 请求资源的时候不会有跨域限制
- cookie 可以实现不同域共享吗
- axios 是否可以取消请求
- 前端如何实现折叠面板效果?
- dom 里面,如何判定 a 元素是否是 b 元素的子元素
- 判断一个对象是否为空,包含了其原型链上是否有自定义数据或者方法。该如何判定?
- js 如何判空?「空」包含了:空数组、空对象、空字符串、0、undefined、null、空 map、空 set,都属于为空的数据
- css 实现翻牌效果
- flex:1 代表什么
- 一般是怎么做代码重构的
- 如何清理源码里面没有被应用的代码,主要是 JS、TS、CSS 代码
- 前端应用如何做国际化?
- 应用如何做应用灰度发布
- [微前端] 为何通常在微前端应用隔离,不选择 iframe 方案
- [微前端] Qiankun 是如何做 JS 隔离的
- [微前端] 微前端架构一般是如何做 JavaScript 隔离
- [React] 循环渲染中为什么推荐不用 index 做 key
- [React] 如何避免使用 context 的时候,引起整个挂载节点树的重新渲染
- 前端如何实现截图?
- 当 QPS 达到峰值时,该如何处理?
- js 超过 Number 最大值的数怎么处理?
- 使用同一个链接,如何实现 PC 打开是 web 应用、手机打开是一个 H5 应用?
- 如何保证用户的使用体验
- 如何解决页面请求接口大规模并发问题
- 设计一套全站请求耗时统计工具
- 大文件上传了解多少
- H5 如何解决移动端适配问题
- 站点一键换肤的实现方式有哪些?
- 如何实现网页加载进度条?
- 常见图片懒加载方式有哪些?
- cookie 构成部分有哪些
- 扫码登录实现方式
- DNS 协议了解多少
- 函数式编程了解多少?
- 前端水印了解多少?
- 什么是领域模型
- 一直在 window 上面挂东西是否有什么风险
- 深度 SEO 优化的方式有哪些,从技术层面来说
- 小程序为什么会有两个线程
- web 应用中如何对静态资源加载失败的场景做降级处理
- html 中前缀为 data-开头的元素属性是什么?
- 移动端如何实现上拉加载,下拉刷新?
- 如何判断 dom 元素是否在可视区域
- 前端如何用 canvas 来做电影院选票功能
- 如何通过设置失效时间清除本地存储的数据?
- 如果不使用脚手架,如果用 webpack 构建一个自己的 react 应用
- 用 nodejs 实现一个命令行工具,统计输入目录下面指定代码的行数
- package.json 里面 sideEffects 属性的作用是啥
- script 标签上有那些属性,分别作用是啥?
- 为什么 SPA 应用都会提供一个 hash 路由,好处是什么?
- [React] 如何进行路由变化监听
- 单点登录是是什么,具体流程是什么
- web 网页如何禁止别人移除水印
- 用户访问页面白屏了,原因是啥,如何排查?
- [代码实现] JS 中如何实现大对象深度对比
- 如何理解数据驱动视图,有哪些核心要素?
- vue-cli 都做了哪些事儿,有哪些功能?
- JS 执行 100 万个任务,如何保证浏览器不卡顿?
- JS 放在 head 里和放在 body 里有什么区别?
- Eslint 代码检查的过程是啥?
- 虚拟混动加载原理是什么,用 JS 代码简单实现一个虚拟滚动加载。
- [React] react-router 和原生路由区别
- html 的行内元素和块级元素的区别
- 介绍一下 requestIdleCallback api
- documentFragment api 是什么,有哪些使用场景?
- git pull 和 git fetch 有啥区别?
前端项目中的难点亮点解析
- 测试和调试
- 跨域请求问题
- 数据安全和隐私保护
- 移动端触摸事件处理
- 性能优化
- 响应式布局的挑战
- 浏览器兼容性问题
- 获取首页链接里面的参数问题。
- 更新文件缓存的坑。
- 解析后端返回的 map 格式数据的坑。
- vue 组件动态加载的坑。
- 页面缓存的坑。
- 路由传参的功能的坑。
- axios 请求中 post 请求的坑。
- 为什么需要二次封装组件库?
- 请结合一个组件库设计的过程,谈谈前端工程化的思想
- 如何对一个组件库进行测试?
- 在使用 qiankun 时,你如何处理多个子项目的调试问题?
- 你能解释一下 qiankun 如何实现 keep-alive 的需求吗?
- 在使用 qiankun 时,你如何处理 js 沙箱不能解决的 js 污染问题?
- 在项目中有没有单独封装组件
- 在项目中发送请求怎么携带 token
- 工作中有用到 git 吗
- git 版本发生冲突你怎么解决的
- 如何快速让一个盒子水平垂直居中
- 首屏加载白屏怎么进行优化
- 路由传参 query 与 params 区别
- 项目基础优化
- 对 nextTick 异步渲染的理解
- 你是怎么对 axios 进行二次封装的,有什么作用
- 用户 token 失效你是怎么处理的
- 说一下项目的流程
- 商品和增删改查
- Element−UI 的 form 表单验证你是怎么使用的
- 项目中的商品详情页你是怎么实现的
- 什么是数组扁平化
- 你这个项目登陆是怎么实现的
- 项目中的权限管理怎么实现的
- Vue 的 nextTick 异步渲染的理解


