三月九次前端面试复盘:当场景题成为通关密钥

news2025/3/21 1:34:18

三月初集中面了包括字节、美团、滴滴在内的9家公司,经历7场技术面+2场Leader面后,发现如今的面试逻辑已发生根本转变。这里分享真实经历与题目,供近期求职者参考。

一、面试形态变化:从理论背诵到实战推演

1. 八股文边缘化:

被问及事件循环、原型链等基础理论的频率不足20%

仅阿里二面要求手写Promise.all,但随后立即追问“如何优化该方法的错误处理机制?”

2. 场景题占比激增:

所有面试均涉及真实业务场景推演

高频题型:性能优化、技术选型、异常排查

二、真实场景题案例与应对思路

案例1:性能优化(美团外卖H5页)

题目:

“某城市页首屏加载3秒,如何优化至1秒内?需考虑弱网环境与低端机型。”

回答要点:

1. 诊断方向:

Lighthouse分析阻塞资源(发现未压缩的商家logo图集)

Performance录制Long Tasks(定位到第三方SDY执行耗时)

2. 优化策略:

图片转WebP并配置CDN自适应分辨率

使用动态导入延迟加载非核心SDY

植入骨架屏提升感知速度

面试官追问:

“如何验证优化方案的有效性?”

→ 接入内部监控平台对比优化前后核心指标(LCP、FID)

案例2:技术债务处理(滴滴祖传代码重构)

题目:

“现有React Class组件项目含500+文件,如何设计渐进式迁移至Hooks方案?”

技术方案:

1. 渐进策略:

新组件强制使用Hooks,旧组件通过HOC封装

使用jscodeshift自动化转换基础组件

2. 质量保障:

配置ESLint规则集限制Class语法新增

建立Code Review Checklist审查关键模式

3. 风险控制:

新旧方案AB测试对比渲染性能

Sentry异常监控专项看板

案例3:前沿技术融合(字节直播场景)

题目:

“直播间礼物特效导致部分安卓机闪退,如何快速定位并解决?”

排查路径:

1. 现象分析:

通过用户行为埋点锁定崩溃机型(集中在骁龙888+Chrome 90)

使用Charles重放请求复现问题

2. 技术手段:

开启WebGL调试扩展捕捉渲染异常

使用Perfetto分析GPU指令流

3. 解决方案:

特效分级:低端机禁用粒子系统

内存控制:植入WebAssembly内存预警机制

三、场景题备战建议

1. 构建案例库:

整理过往项目的技术决策文档(含利弊分析)

收集大厂技术博客中的事故复盘(如《B站容灾方案设计》)

2. 模拟推演训练:

用真实线上问题练习(如“某页面iOS滚动卡顿”)

尝试从多维度拆解:技术方案、数据验证、风险评估

3. 技术表达升级:

使用STAR法则结构化表达(Situation-Task-Action-Result)

关键指标量化:“通过懒加载节省带宽30%”优于“性能提升明显”

四、可分享资源说明

在准备过程中,我整理了高频场景题集(含解题思路),覆盖性能优化、架构设计、异常排查等方向,全总结成了PDF,都可以直接拿去背,有需要的点击【传送门】免费领取文档。建议结合自身项目经历调整答案,避免生搬硬套。

场景题目预览

  • 请求失败会弹出一个 toast,如何保证批量请求失败,只弹出一个 toast

  • 如何减少项目里面 if-els

  • babel-runtime 作用是啥

  • 如何实现预览 PDF 文件

  • 如何在划词选择的文本上添加右键菜单(划词:鼠标滑动选 择一组字符,对组字符进行操作)

  • 富文本里面,是如何做到划词的(鼠标滑动选择一组字 符,对组字符进行操作)?

  • 如何做好前端监控方案

  • 如何标准化处理线上用户反馈的问题

  • px 如何转为 rem

  • 浏览器有同源策略,但是为何 cdn 请求资源的时候不会有 跨域限制

  • cookie 可以实现不同域共享吗

  • axios 是否可以取消请求

  • 前端如何实现折叠面板效果?

  • dom 里面,如何判定a元素是否是b元素的子元

  • 判断一个对象是否为空,包含了其原型链上是否有自定义 数据或者方法。该如何判定?

  • js 如何判空? 「空」包含了:空数组、空对象、空字符 串、0、undefined、null、空 map、空set,都属于为空的数据

  • css 实现翻牌效果

  • 如何清理源码里面没有被应用的代码, 主要是 JS、TS、 CSS 代码

  • 前端应用 如何做国际化?

  • 应用如何做应用灰度发

  • [微前端] 为何通常在 微前端 应用隔离, 不选择 iframe 方案

  • [微前端] Qiankun 是如何做 JS 隔离的

  • [微前端] 微前端架构一般是如何做 JavaScript隔离

  • [React]循环渲染中 为什么推荐不用 index 做 key

  • [React]如何避免使用 context 的时候,引起整个挂载节 点树的重新渲染

  • 前端如何实现截图?

  • 当QPS达到峰值时,该如何处理?

  • JS 超过 Number 最大值的数怎么处理?

  • 使用同一个链接,如何实现 PC 打开是 web 应用、手机打开是一个 H5 应用?

  • 如何保证用户的使用体验

  • 如何解决页面请求接口大规模并发问题

  • 设计一套全站请求耗时统计工具

  • 大文件上传了解多少

  • H5 如何解决移动端适配问题

  • 站点一键换肤的实现方式有哪些?

  • 如何实现网页加载进度条?

  • 常见图片懒加载方式有哪些?

  • cookie 构成部分有哪些

  • 什么是领域模型

  • 一直在 window 上面挂东西是否有什么风险

  • 深度 SEO优化的方式有哪些,从技术层面来说

  • 小程序为什么会有两个线程

  • web 应用中如何对静态资源加载失败的场景做降级处理

  • html中前缀为 data-开头的元素属性是什么?

  • 移动端如何实现上拉加载,下拉刷新

  • 如何判断dom元素是否在可视区域

  • 前端如何用 canvas 来做电影院选票功能

  • 如何通过设置失效时间清除本地存储的数据?

  • 如果不使用脚手架,如果用 webpack 构建一个自己的 react 应用

  • 用 nodejs 实现一个命令行工具,统计输入目录下面指定代码的行数

  • package.json 里面 sideEffects 属性的作用是啥

  • script 标签上有那些属性,分别作用是啥?

  • 为什么 SPA应用都会提供一个 hash 路由,好处是什么?

  • [React]如何进行路由变化监听

  • 单点登录是是什么,具体流程是什么

  • web 网页如何禁止别人移除水印

  • 用户访问页面白屏了,原因是啥,如何排查?

  • [代码实现] JS 中如何实现大对象深度对比

  • 如何理解数据驱动视图,有哪些核心要素?vue-cli 都做了哪些事儿,有哪些功能?

  • JS 执行 100万个任务,如何保证浏览器不卡顿?

  • Eslint 代码检查的过程是啥?

  • 虚拟混动加载原理是什么, 用 JS 代码简单实现一个虚拟滚动加加载

  • [React]react-router和 原生路由区别

  • html的行内元素和块级元素的区别

  • 介绍-下requestldleCallback api

  • documentFragment api是什么,有哪些使用场景?

  • git pull 和 git fetch 有啥区别?

  • 前端如何做 页面主题色切换

  • 前端视角-如何保证系统稳定性

  • 用 JS 写一个 cookies 解析函数,输出结果为一个对象

  • vue 中 Scoped Styles 是如何实现样式隔离的, 原理是 啥?

  • 样式隔离方式有哪些

  • ts 项目中,如何使用 node_modules 里面定义的全局类型 包到自己项目 src 下面使用?

  • 不同标签页或窗口间的 【主动推送消息机制】 的方式有哪 (不借助服务端) ?

  • [React]在 react 项目开发过程中,是否可以不用 react- router,使用浏览器原生 history 路由来组织页面路由?

  • 在表单校验场景中,如何实现页面视口滚动到报错的位置

  • 如何一次性渲染十万条数据还能保证页面不卡顿

  • [webpack]打包时 hash 码是如何生成的

  • 如何从 0到1搭建前端基建

  • 你在开发过程中,使用过哪些 TS 的特性或者能力?

  • JS 的加载会阻塞浏览器渲染吗?

  • 浏览器对队头阻塞有什么优化?

  • Webpack 项目中通过 script 标签引入资源,在项目中如何 处理?

  • 应用上线后,怎么通知用户刷新当前页面?

  • Eslint 代码检查的过程是啥?

  • 如何检测网页空闲状态(一定时间内无操作)

  • 为什么 Vite 速度比 Webpack 快?

  • 列表分页,快速翻页下的竞态问题

  • JS 执行 100 万个任务, 如何保证浏览器不卡顿?

  • git 仓库迁移应该怎么操作

  • 如何禁止别人调试自己的前端页面代

  • web 系统里面,如何对图片进行优化?

  • OAuth2.0 是什么登录方式 单点登录是如何实现的? 常见的登录鉴权方式有哪些?

  • 需要在跨域请求中携带另外一个域名下的 Cookie 该如何 操作?

  • vite 和 webpack 在热更新上有啥区别?

  • 封装一个请求超时,发起重试的代码

  • 前端如何设置请求超时时间 timeout

  • nodejs 如何充分利用多核 CPU?

  • 后端一次性返回树形结构数据,数据量非常大,前端该如 何处理?

  • 你认为组件封装的一些基本准则是什么?

  • 页面加载速度提升(性能优化) 应该从哪些反向来思考?

  • 前端日志埋点 SDK 设计思路

  • token 进行身份验证了解多少?

  • 在前端应用如何进行权限设计?

  • [低代码】代码平台一般渲染是如何设计的?

  • [低代码】代码平台一般底层协议是怎么设计的

  • [Webpack]有哪些优化项目的手段?

  • IndexedDB 存储空间大小是如何约束的?

  • 浏览器的存储有哪些

  • [Webpack]如何打包运行时chunk,. 且在项目工程 中,如何去加载这个运行时chunk?

  • 为何现在市面上做表格渲染可视化技术的,大多数都是 canvas ,而很少用svg的?

  • 在你的项目中,使用过哪些 webpack plugin,说一下他 们的作用

  • 在你的项目中,使用过哪些 webpack loader, 说一下他 们的作用

  • [React]如何避免不必要的渲染?

  • 全局样式命名冲突和样式覆盖问题怎么解决?

  • [React]如何实现专场动画?

  • [React]从 React 层面上, 能做的性能优化有哪些?

  • [Vue]中为何不要把 v-if 和 v-for 同时用在同一个元素 上,原理是什么?

  • 将静态资源缓存在本地的方式有哪些?

  • SPA首屏加载速度慢的怎么解决

  • axios 是如何区分是 nodejs 环境还是 浏览器环境的?

  • 如何拦截 web 应用的请求

  • 前端有哪些跨页面通信方式?

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++输入输出流第一弹:标准输入输出流 详解(带测试代码)

目录 C输入输出流 流的四种状态(重点) 标准输入输出流 标准输入流 逗号表达式 1. 逗号表达式的基本规则 示例 2. 图片中的代码分析 关键点解析 3. 常见误区 误区 1:逗号表达式等同于逻辑与 && 误区 2:忽略输入…

鸿蒙NEXT项目实战-百得知识库05

代码仓地址,大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点: 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…

黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)

文章目录 代码示例效果 代码示例 axiosTest.html <!DOCTYPE html> <!-- 文档类型声明&#xff0c;告诉浏览器这是一个HTML5文档 --> <html lang"en"> <!-- HTML根元素&#xff0c;设置文档语言为英语 --><head> <!-- 头部区域&am…

vue 自制列表,循环滚动

需求人员表示&#xff0c;超过高度的表格内容需要滚动展示&#xff0c;所以效果图如下&#xff1a; 自定义列表样式&#xff0c;主要是通过flex布局&#xff0c;控制 类th 与 类td 的宽度保持一致&#xff0c;标签结构还是参考了table的结构&#xff0c;由thead与tbody包裹tr再…

Windows主机、虚拟机Ubuntu、开发板,三者之间文件互传

以下内容源于日常学习的整理&#xff0c;欢迎交流。 下图是Windows主机、虚拟机Ubuntu、开发者三者之间文件互传的方式示意图&#xff1a; 注意&#xff0c;下面谈及的所有方式&#xff0c;都要求两者的IP地址处于同一网段&#xff0c;涉及到的软件资源见felm。 一、Windows主…

Windows Docker 报错: has no HTTPS proxy,换源

pull python 3.7报错&#xff1a; 尝试拉取Docker 测试库hello world也失败 尝试使用临时镜像源&#xff0c;可以成功拉取&#xff1a; sudo docker pull docker.m.daocloud.io/hello-world说明确实是网络问题&#xff0c;需要配置镜像源&#xff0c;为了方便&#xff0c;在d…

Java:Arrays类:操作数组的工具类

文章目录 Arrays类常见方法SetAll(); 代码排序如果数组中存储的是自定义对象 Arrays类 常见方法 SetAll(); 注意&#xff1a; 不能用新的数组接是因为修改的是原数组&#xff0c;所以完了要输出原数组发现会产生变化参数是数组下标变成灰色是因为还能简化&#xff08;Lambda…

只是“更轻更薄”?不!遨游三防平板还选择“更强更韧”

当消费电子领域普遍追求“更轻更薄”的设计美学时&#xff0c;遨游三防平板不止于此&#xff0c;还选择了另一条道路——“更强更韧”。在智能制造的复杂场景中&#xff0c;三防平板需直面高温、油污、撞击与极端气候的考验。普通消费级平板因防护性能不足&#xff0c;常因环境…

基于RAGFlow本地部署DeepSeek-R1大模型与知识库:从配置到应用的全流程解析

作者&#xff1a;后端小肥肠 &#x1f34a; 有疑问可私信或评论区联系我。 &#x1f951; 创作不易未经允许严禁转载。 姊妹篇&#xff1a; DeepSpeek服务器繁忙&#xff1f;这几种替代方案帮你流畅使用&#xff01;&#xff08;附本地部署教程&#xff09;-CSDN博客 10分钟上手…

[蓝桥杯 2023 省 B] 飞机降落(不会dfs的看过来)

[蓝桥杯 2023 省 B] 飞机降落 题目描述 N N N 架飞机准备降落到某个只有一条跑道的机场。其中第 i i i 架飞机在 T i T_{i} Ti​ 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 D i D_{i} Di​ 个单位时间&#xff0c;即它最早可以于 T i T_{i} Ti​ 时刻…

信创系统极速文件查找:locate 命令详解

原文链接&#xff1a;信创系统极速文件查找&#xff1a;locate 命令详解 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇信创终端操作系统上 locate 命令详解的文章。在 Linux 及信创终端操作系统&#xff08;如 统信 UOS、麒麟 KOS&#xff09;中&#xff0c;查找…

C# | 超简单CSV表格读写操作(轻松将数据保存到CSV,并支持读取还原)

C# | 超简单CSV表格读写操作&#xff08;轻松将数据保存到CSV&#xff0c;并支持读取还原&#xff09; 文章目录 C# | 超简单CSV表格读写操作&#xff08;轻松将数据保存到CSV&#xff0c;并支持读取还原&#xff09;一、上位机开发中的CSV应用背景二、CSV读写实战教学1. 基本对…

PostgreSQL:语言基础与数据库操作

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

蓝桥杯学习——二叉树+奇点杯题目解析

基础认知 一、二叉树种类&#xff1a; 1.满二叉树。记深度k&#xff0c;节点数量2^k-1。 2.完全二叉树&#xff1a;除了底层&#xff0c;其余全满&#xff0c;底部从左到右连续。 3&#xff0c;平衡二叉搜索树&#xff1a;左子树和右子树高度差不大于1。 二、存储方式&…

基于django+vue的购物商城系统

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.8数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 系统首页 热卖商品 优惠资讯 个人中心 后台登录 管理员功能界面 用户管理 商品分类管理…

AI安全、大模型安全研究(DeepSeek)

DeepSeek 点燃AI应用革命之火,但安全 “灰犀牛” 正在逼近 DeepSeek-R1国产大模型的发布,以技术创新惊艳了全球,更是极致的性价比推动国内千行百业接入 AI,政府、企业竞速开发智能业务处理、智能客服、代码生成、营销文案等应用,“落地效率” 成为第一关键词。然而与此相…

卷积神经网络 - 汇聚层

卷积神经网络一般由卷积层、汇聚层和全连接层构成&#xff0c;本文我们来学习汇聚层。 汇聚层(Pooling Layer)也叫子采样层(Subsampling Layer)&#xff0c;其作用是进 行特征选择&#xff0c;降低特征数量&#xff0c;从而减少参数数量。 卷积层虽然可以显著减少网络中连接的…

论文分享:PL-ALF框架实现无人机低纹理环境自主飞行

在室内仓库、地下隧道等低纹理复杂场景中&#xff0c;无人机依赖视觉传感器进行自主飞行时&#xff0c;往往会遇到定位精度低、路径规划不稳定等难题。针对这一问题&#xff0c;重庆邮电大学计算机学院雷大江教授团队在IEEE Trans期刊上提出了一种新型自主飞行框架&#xff1a;…

Nodejs使用redis

框架&#xff1a;koa&#xff0c;通过koa-generator创建 redis: 本地搭建&#xff0c;使用默认帐号&#xff0c;安装说明地址以及默认启动设置&#xff1a;https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/ 中间件&#x…

GitHub 超火的开源终端工具——Warp

Warp 作为近年来 GitHub 上备受瞩目的开源终端工具&#xff0c;以其智能化、高性能和协作能力重新定义了命令行操作体验。以下从多个维度深入解析其核心特性、技术架构、用户评价及生态影响力&#xff1a; 一、背景与核心团队 Warp 由前 GitHub CTO Jason Warner 和 Google 前…