金三银四最新版Web前端面试30万字(附PDF答案版)
2026年的春天,如期而至的“金三银四”,对于前端开发者而言,却带着一丝料峭的寒意。当你打开这份资料时,或许正经历着职业生涯中前所未有的迷茫与焦虑。打开招聘软件,你会发现市场依旧活跃,但属于自己的那个机会似乎变得遥不可及,朋友圈里,充斥着“行业寒冬”、“35岁危机”、“AI抢饭碗”的论调。我们听到了太多真实且扎心的故事:在长沙创业的老齐,眼看着小程序报价从几年前的20万一路跌到2万,甚至还要附赠服
写在前面:这是一份“生存指南”,而不仅仅是一本“面试题”
2026年的春天,如期而至的“金三银四”,对于前端开发者而言,却带着一丝料峭的寒意。
当你打开这份资料时,或许正经历着职业生涯中前所未有的迷茫与焦虑。打开招聘软件,你会发现市场依旧活跃,但属于自己的那个机会似乎变得遥不可及,朋友圈里,充斥着“行业寒冬”、“35岁危机”、“AI抢饭碗”的论调。我们听到了太多真实且扎心的故事:
-
在长沙创业的老齐,眼看着小程序报价从几年前的20万一路跌到2万,甚至还要附赠服务器使用权才能勉强维持竞争力
-
在广州做了12年程序员阿伟,自嘲已经“上不起班”,因为AI的入侵和内卷让IT工程师降薪了约35%,每天的通勤成本都快挣不回来了
-
无数像你我一样的开发者,发现AI几小时就能生成一个基础框架,而自己不仅要修复AI留下的无数漏洞,还要面对客户“AI都能免费做,你怎么还这么贵”的灵魂拷问
这一切,构成了2026年前端人必须面对的新现实:大环境复杂、技术迭代疯狂、AI重塑一切。
我们正面临的“三重门”
1. 大环境之困:从“黄金时代”到“效率为王”
软件行业正处在一个特殊的转折期。曾经驱动大规模招聘的经济狂潮已退去,企业更看重盈利能力而非单纯的增长,更青睐能独当一面的资深人才,而非需要培养的应届生-4。数据显示,大型科技公司的应届生招聘量在过去三年减少了50%,初级开发者的就业率下降了约10%-4。市场不再是普惠的,而是残酷地分层:普通前端增长缓慢,而高技能、工程化的前端人才依然稀缺
2. 技术迭代之痛:永远追不上的“最佳实践”
JavaScript生态以令人眩晕的速度演进。五年前的技术今天已显笨重,昨天刚学会的框架,明天可能就出现了新的“岛屿架构”或“边缘渲染”方案-5。React、Vue依旧强大,但Svelte、Solid、Qwik、Astro等新势力正凭借更小的包体积和更快的性能迅速崛起,你需要关注的不仅是框架本身,还有TypeScript、Serverless、BFF、微前端、AI集成……技术债务的累积效应让每个开发者都在维护旧系统与学习新知识之间疲于奔命
3. AI冲击之惑:被重新定义的“技能价值”
这或许是最深层的焦虑。AI不再是简单的“自动补全”,而是深度嵌入了开发流程。数据显示,84%的开发者已定期使用AI工具,AI参与了约四分之一的代码库输入
-
工作内容变了:程序员的核心任务正从“编写代码”转向“评估与修复代码
-
团队结构变了:以前一个项目需要3个前端,现在AI能包揽60%的基础工作,团队配置变成了“一个资深程序员+AI
-
能力要求变了:“只会写页面”的前端,正在被悄悄淘汰,当组件库、低代码和AI工具吞噬了重复的体力劳动后,仅会“把设计稿变成页面”的边际价值急剧下降
站在十字路口:转行,还是破局?
面对如此复杂的局面,一个念头难免在脑海中浮现:我是不是该转行了?
答案是:前端并非“夕阳行业”,但它正在经历一场深刻的“价值重构。未来的前端,不再是简单的“页面裁缝”,而是要进化为 “产品工程师”或“系统架构师,市场对只会写胶水代码的需求在减少,但对能用技术解决复杂问题、能提升业务指标、能构建高效工程体系的人才需求,从未改变。
因此,比“是否转行”更重要的问题是:“我该如何升级,才能在这场变革中不仅活下来,而且活得更好?”
这份《30万字面试大全》能为你做什么?
正是基于上述的行业痛点与职业困惑,我们倾力打造了这份 《金三银四最新版Web前端面试30万字(附PDF答案版)》 。它不仅仅是一本面试题的集合,更是你应对2026年复杂技术环境的系统性“生存指南”。
-
覆盖最新技术栈:从React 19、Vue 3.5到Next.js 15、Astro,再到TypeScript 5.0和最新的AI辅助开发范式,我们帮你梳理了最核心的知识体系
-
应对AI面试新考法:针对AI带来的变革,我们加入了如何评估AI代码、如何利用AI提升工程效率、如何回答“人与AI协作”等前沿面试问题
-
深度剖析工程化与架构:不再停留于API调用,而是深入性能优化、微前端、低代码设计、监控体系等“硬核”工程能力,帮你构建从“执行者”到“架构师”的能力模型
-
直击职业规划痛点:包含大量关于职业路线选择(业务型/工程型/全栈型)、如何打造个人影响力、如何在复杂的市场环境中进行技术决策的实战建议
2026年的春天,寒意与机遇并存。我们无法改变大环境,但可以武装自己,提升在逆周期中的“不可替代性”。
让这份资料,成为你穿越周期、顺利上岸的坚实阶梯。
以下:https://github.com/encode-studio-fe-coder/natural_traffic/wiki/scan_material4
一、JS基础
1 类型及检测方式
1. JS内置类型
JavaScript 的数据类型有下图所示

其中,前 7 种类型为基础类型,最后
1 种(Object)为引用类型,也是你需要重点关注的,因为它在日常工作中是使用得最频繁,也是需要关注最多技术细节的数据类型
JavaScript一共有8种数据类型,其中有7种基本数据类型:
Undefined、Null、Boolean、Number、String、Symbol(es6新增,表示独一无二的值)和BigInt(es10新增);-
1种引用数据类型——
Object(Object本质上是由一组无序的名值对组成的)。里面包含function、Array、Date等。JavaScript不支持任何创建自定义类型的机制,而所有值最终都将是上述 8 种数据类型之一。- 引用数据类型:
对象
Object(包含普通对象-Object,数组对象-Array,正则对象-RegExp,日期对象-Date,数学函数-Math,函数对象-Function)
- 引用数据类型:
在这里,我想先请你重点了解下面两点,因为各种 JavaScript 的数据类型最后都会在初始化之后放在不同的内存中,因此上面的数据类型大致可以分成两类来进行存储:
- 原始数据类型
:基础类型存储在栈内存,被引用或拷贝时,会创建一个完全相等的变量;占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储。
- 引用数据类型
:引用类型存储在堆内存,存储的是地址,多个引用指向同一个地址,这里会涉及一个“共享”的概念;占据空间大、大小不固定。引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。
JavaScript 中的数据是如何存储在内存中的?
在 JavaScript 中,原始类型的赋值会完整复制变量值,而引用类型的赋值是复制引用地址。
在 JavaScript 的执行过程中, 主要有三种类型内存空间,分别是代码空间、栈空间、堆空间。其中的代码空间主要是存储可执行代码的,原始类型(Number、String、Null、Undefined、Boolean、Symbol、BigInt)的数据值都是直接保存在“栈”中的,引用类型(Object)的值是存放在“堆”中的。因此在栈空间中(执行上下文),原始类型存储的是变量的值,而引用类型存储的是其在"堆空间"中的地址,当 JavaScript 需要访问该数据的时候,是通过栈中的引用地址来访问的,相当于多了一道转手流程。
在编译过程中,如果 JavaScript 引擎判断到一个闭包,也会在堆空间创建换一个“closure(fn)”的对象(这是一个内部对象,JavaScript 是无法访问的),用来保存闭包中的变量。所以闭包中的变量是存储在“堆空间”中的。
JavaScript 引擎需要用栈来维护程序执行期间上下文的状态,如果栈空间大了话,所有的数据都存放在栈空间里面,那么会影响到上下文切换的效率,进而又影响到整个程序的执行效率。通常情况下,栈空间都不会设置太大,主要用来存放一些原始类型的小数据。而引用类型的数据占用的空间都比较大,所以这一类数据会被存放到堆中,堆空间很大,能存放很多大的数据,不过缺点是分配内存和回收内存都会占用一定的时间。因此需要“栈”和“堆”两种空间。
题目一:初出茅庐
let a ={
name:'lee',
age:18
}
let b = a;
console.log(a.name);//第一个console
b.name ='son';
console.log(a.name);//第二个console
console.log(b.name);//第三个console
这道题比较简单,我们可以看到第一个 console 打出来 name 是 'lee',这应该没什么疑问;但是在执行了 b.name='son' 之后,结果你会发现 a 和 b 的属性 name 都是 'son',第二个和第三个打印结果是一样的,这里就体现了引用类型的“共享”的特性,即这两个值都存在同一块内存中共享,一个发生了改变,另外一个也随之跟着变化。
你可以直接在 Chrome 控制台敲一遍,深入理解一下这部分概念。下面我们再看一段代码,它是比题目一稍复杂一些的对象属性变化问题。
题目二:渐入佳境
let a ={
name:'Julia',
age:20
}
functionchange(o){
o.age =24;
o ={
name:'Kath',
age:30
}
return o;
}
let b =change(a);// 注意这里没有new,后面new相关会有专门文章讲解
console.log(b.age);// 第一个console
console.log(a.age);// 第二个console
这道题涉及了 function,你通过上述代码可以看到第一个 console 的结果是 30,b 最后打印结果是 {name: "Kath", age: 30};第二个 console 的返回结果是 24,而 a 最后的打印结果是 {name: "Julia", age: 24}。
是不是和你预想的有些区别?你要注意的是,这里的 function 和 return 带来了不一样的东西。
原因在于:函数传参进来的
o,传递的是对象在堆中的内存地址值,通过调用o.age = 24(第 7 行代码)确实改变了a对象的age属性;但是第 12 行代码的return却又把o变成了另一个内存地址,将{name: "Kath", age: 30}存入其中,最后返回b的值就变成了{name: "Kath", age: 30}。而如果把第 12 行去掉,那么b就会返回undefined
2. 数据类型检测
(1)typeof
typeof 对于原始类型来说,除了 null 都可以显示正确的类型
console.log(typeof2);// number
console.log(typeoftrue);// boolean
console.log(typeof'str');// string
console.log(typeof[]);// object []数组的数据类型在 typeof 中被解释为 object
console.log(typeoffunction(){});// function
console.log(typeof{});// object
console.log(typeofundefined);// undefined
console.log(typeofnull);// object null 的数据类型被 typeof 解释为 object
typeof对于对象来说,除了函数都会显示object,所以说typeof并不能准确判断变量到底是什么类型,所以想判断一个对象的正确类型,这时候可以考虑使用instanceof
篇幅所限本文就只贴一下题目了,各位可以自己先看看有哪些题是会的,答案的话我整理的《Web前端面试八股文》PDF里都有。
甚至今年还收到了两份大佬开源的面试刷题网站,针对1-7年经验,几乎全是重点。

JavaScript 面试题
相比于npm和yarn,pnpm的优势是什么?
如果使用Math.random()计算中奖概率会有什么问题吗?
怎么使用js 实现拖拽功能?
举例说明你对尾递归的理解,以及有哪些应用场景
说说你对 lterator, Generator 和 Async/Await 的理解
说说你对模块化方案的理解,比如CommonJS、AMD、CMD、ESModule分别是什么?
前端跨页面通信,你知道哪些方法?
Javascript脚本延迟加载的方式有哪些?
怎么理解ES6中 Generator的?使用场景有哪些?
导致页面加载白屏时间长的原因有哪些,怎么进行优化?
【Promise第38题】下面代码的输出是什么?
【Promise第40题】下面代码的输出是什么?
微前端中的应用隔离是什么,一般是怎么实现的?
JavaScript 对象的底层数据结构是什么?
浏览器和 Node 中的事件循环有什么区别?
版本号排序
哪些原因会导致js里this指向混乱?

React.js 面试题(源码笔记等)
fiber架构的工作原理?
React Reconciler 为何要采用 fiber 架构?
useState是如何实现的?
React Fiber是什么?
简单介绍下React中的 diff 算法
如何让 useEffect 支持 async/await?
React 中怎么实现状态自动保存(KeepAlive)?
React Fiber 是如何实现更新过程可控?
react中懒加载的实现原理是什么?
React有哪些性能优化的方法?
不同版本的 React 都做过哪些优化?
React19新特性
说说你对 React Hook的闭包陷阱的理解有哪些解决方案?
React 中,怎么给 children 添加额外的属性?
Fiber 为什么是 React 性能的一个飞跃?

Vue.js 面试题(源码笔记等)
Vue 模板是如何编译的
vue3 相比较于 vue2,在编译阶段有哪些改进?
说说Vue 页面渲染流程
Vue 项目中,你做过哪些性能优化?
如果使用Vue3.0实现一个 Modal,你会怎么进行设计?
Vue3.0里为什么要用 Proxy API替代defineProperty APl ?
Vue 有了数据响应式,为何还要 diff ?
说说 vue3 中的响应式设计原理
说说 Vue 中 css scoped 的原理
vue3 的响应式库是独立出来的,如果单独使用是什么样的效果?
手写 vue 的双向绑定
什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路
说下Vite的原理

Node.js 面试题
浏览器和 Node 中的事件循环有什么区别?
如何实现jwt鉴权机制?说说你的思路
怎么进行 Node 服务的内存优化?
为什么Node在使用es module时必须加上文件扩展名?
说说Node中的EventEmitter?如何实现一—个EventEmitter?
说说Node文件查找的优先级以及Require方法的文件查找策略?
两个 Node.js 进程如何通信?
pm2守护进程的原理是什么?
单线程的 nodejs 是如何充分利用计算机CPU 资源的呢?
body-parser 这个中间件是做什么用的?
说说对中间件概念的理解,如何封装 node中间件?

Typescript 面试题
什么是TypeScript Declare关键字?
Typescript 中的 getter/setter 是什么?你如何使用它们?
unknown 是什么类型?
never 是什么类型,详细讲一下
如何在TypeScript中实现继承?
说-说Typescript中的类及其特性。
请实现下面的 sleep 方法
Typescript中的方法重写是什么?
typescript 中的 is 关键字有什么用?
什么是Typescript映射文件?
Typescript中的类型有哪些?
Typescript中interface 和 type 的差别是什么?

编程 面试题
实现深拷贝
请手写“堆排序”
虚拟 dom 原理是什么,手写一个简单的虚拟 dom 实现
请在不使用 setTimeout 的前提下,实现setinterval
实现JSONP
实现一个类,其实例可以链式调用,它有一个sleep 方法,可以sleep一段时间后再...
编写一个vue组件,组件内部使用插槽接收外部内容,v-model双向绑定,实现折叠...
版本号排序
Promise 的 finally 怎么实现的?
实现 Promise
字符串解析问题

工程化 面试题
说说你对前端工程化的理解
webpack loader 和 plugin 实现原理
为什么 webpack 可以通过文件打包,让浏览器可以支持 CommonJs 规范?
webpack tree-shaking 在什么情况下会失效?
微前端中的路由加载流程是怎么样的?
说下Vite的原理
说说你对 source Map 的了解
说说webpack的构建流程?
ES6 代码转成 ES5 代码的实现思路是什么?
webpack的module、bundle、chunk分别指的是什么?
webpack treeshaking机制的原理是什么?
为什么 SPA 应用都会提供一个 hash 路由好处是什么?

前端性能优化(大厂专题篇)
1. script标签放在header里和放在body底部里有什么区别?
2.前端性能优化指标有哪些?怎么进行性能检测?
3.SPA(单页应用)首屏加载速度慢怎么解决?
4.如果使用CSS提高页面性能?
5.怎么进行站点内的图片性能优化?
6.虚拟DOM一定更快吗?
7.有些框架不用虚拟dom,但是他们的性能也不错是为什么?
8,如果某个页面有几百个函数需要执行,可以怎么优化页面的性能?
9.讲一下png8、png16、png32的区别,并简单讲讲png的压缩原理
10.页面加载的过程中,JS 文件是不是一定会阻塞DOM和CSSOM的构建?
11. React.memo()和useMemo(的用法是什么,有哪些区别?
12.导致页面加载白屏时间长的原因有哪些,怎么进行优化?
13.如果一个列表有100000个数据,这个该怎么进行展示?
14.DNS预解析是什么?怎么实现?
15. 在React中可以做哪些性能优化?
16.浏览器为什么要请求并发数限制?
17. 如何确定页面的可用性时间,什么是PerformanceAPI?
18.谈谈对window.requestAnimationFrame 的理解
19. css加载会造成阻塞吗?
20.什么是内存泄漏?什么原因会导致呢?
21.如何用webpack来优化前端性能
22.说说常规的前端性能优化手段
23. 什么是CSS Sprites?
24. CSS优化、提高性能的方法有哪些?
25.script标签中,async和defer两个属性有什么用途和区别?
九、项目场景题(26年面试必考)
1.如何判断用户设备
2.将多次提交压缩成一次提交
3.介绍下navigator.sendBeacon方法
4.混动跟随导航(电梯导航)该如何实现
5退出浏览器之前,发送积压的埋点数据请求,该如何做?
6.如何统计页面的long task(长任务)[热度:140】
7.PerfoemanceObserver如何测量页面性能
移动端如何实现下拉滚动加载(顶部加载)
9.判断页签是否为活跃状态
10.在网络带宽一定的情况下,切片上传感觉和整体上传消费的时间应该是差不多的这种说法正确吗?
11.大文件切片上传的时候,确定切片数量的时候,有那些考量因素
12.页面关闭时执行方法,该如何做
13.如何统计用户pv访问的发起请求数量
14.长文本溢出,展开/收起如何实现
15.如何实现鼠标拖拽
16统计全站每一个静态资源加载耗时,该如何做
17.防止前端页面重复请求
18.ResizeObserver作用是什么
19.要实时统计用户浏览器窗口大小,该如何做
20.当项目报错,你想定位是哪个commit引l入的错误的时,该怎么做
第二部分
怎么在前端页面中添加水印?
如何封装一个请求,让其多次调用的时候,实际只发起一个请求的时候,返回同一份结果
web网页如何禁止别人移除水印
react中怎么实现下拉菜单场景,要求点击区域外能关闭下拉组件
如何搭建一套灰度系统?
React 如何实现vue 中 keep-alive 的功能?
如何监控前端页面的崩溃?
如何在前端团队快速落地代码规范
前端如何实现即时通讯?
用户访问页面白屏了,原因是啥,如何排查?
如何给自己团队的大型前端项目设计单元测试?
如何做一个前端项目工程的自动化部署,有哪些规范和流程设计?
你参与过哪些前端基建方面的建设?
假如让你负责一个商城系统的开发,现在需要统计商品的点击量,你有什么样设计与...
前端怎么做错误监控?
token过期后,页面如何实现无感刷新?
如何解决页面请求接口大规模并发问题
web应用中如何对静态资源加载失败的场景做降级处理?
什么是单点登录,以及如何进行实现?

前端项目难点亮点
1.如何防止重复提交
一般使用的是防抖和节流,节流函数通过控制每次时间执行的时间间隔,控制短时间多次执行方法。防抖函数是推迟每次事件执行的时间减少不必要的查询。但是网络慢的时候,还是会重复提交,没有显示状态,用户不知道有没有真的提交。所以就给按钮添加一个加载状态,查了发现el-button自带了loading属性,传参的时候传一个submit函数,是一个Promise,promise状态改变的时候把loading状态改成false。然后点击按钮会有加载动画,加载的时候,按钮是禁用的。
2.控制ajax执行先后顺序
一个按钮发送2个ajax请求,不会按顺序,因为是异步请求,浏览器可以并行执行,执行快慢看的是响应数据量大小和后台逻辑的复杂程度,为了保证顺序,就是是最后的结果,需要改成同步,ajax请求后台数据,获取数据之后渲染到页面,就需要同步。请求加一个async:false,就可以让ajax会同步执行。但是请求时间比较长需要loading层显示等待状态,但是浏览器渲染线程和js线程互斥,执行js的时候页面渲染会阻塞掉,让ajax函数后面的代码还有渲染线程停止,就算dom操作语句是发起请求的前一句,也会被阻塞,出现假死卡顿现象,所以可以引入JQuery中的对象deferred进行封装异步函数,对多个deferred对象进行并行化操作,当所有deferred对象都得到解决就执行后面添加的回调。
3.解析数据
填写信息的页面,返回的时候填写信息需要留存,要用vue的keep-alive实现
4.axios用post请求数据会被拦截,传不到后端
ajax请求可以拿到数据,axios就拿不到,因为axios的post默认参数格式是字符串,传给后端的数据需要用请求拦截器做处理。可以引入qs库,对data进行处理:qs.stringifyfy。Qs装axios的时候自动安装了。
5.路由懒加载
需要的时候进行加载,把不同路由对应的组件分成不同代码块,路由被访问才加载对应组件。路由会定义很多页面,页面打包后放到单独的js文件会导致非常大,懒加载把页面进行划分,需要时才加载,减少首页加载速度,懒加载主要就是把对应组件打包成js代码块进入首屏不用加载过度的资源,从而减少首屏加载速度。就是用import,在路由配置的router.js,import设置好的组件,from后面写的是组件的路径
6.实现从详情页返回列表页保存上次加载的数据和自动还原上次的浏览位置。
vue2中提供了keep-alive。keep-alive是Vue提供的一个抽象组件,用来对组件进行缓存,从而节省性能,由于是一个抽象组件,所以在v页面渲染完毕后不会被渲染成一个DOM元素,当组件在keep-alive内被切换时组件的activated、deactivated这两个生命周期钩子函数会被执行被包裹在keep-alive中的组件的状态将会被保留,例如我们将某个列表类组件内容滑动到第100条位置,那么我们在切换到一个组件后再次切换回到该组件,该组件的位置状态依旧会保持在第100条列表处。如果要每次进入组件时页面初始位置都是顶部,可以用路由提供的基础功能scrollBehavior

项目细节及疑难点
1.测试和调试
2.跨域请求问题
3.数据安全和隐私保护
4.移动端触摸事件处理
5.性能优化
6.响应式布局的挑战
7.浏览器兼容性问题
8.获取首页链接里面的参数问题
9.更新文件缓存的坑
10.解析后端返回的map格式数据的坑。
11.vue组件动态加载的坑
12.页面缓存的坑,
13.路由传参的功能的坑。
14.axios请求中post请求的坑。
15.为什么需要二次封装组件库?
16.请结合一个组件库设计的过程,谈谈前端工程化的思想
17.如何对一个组件库进行测试?
18.在使用qiankun时,你如何处理多个子项目的调试问题?
19.你能解释一下qiankun如何实现keep-alive的需求 吗?
20.在使用qiankun时,你如何处理js沙箱不能解决的js污染问题?
21.在项目中有没有单独封装组件
22.在项目中发送请求怎么携带token
23.工作中有用到git吗
24.git版本发生冲突你怎么解决的
25.如何快速让一个盒子水平垂直居中
26.首屏加载白屏怎么进行优化
27.路由传参query与params区别
28.项目基础优化
29.对SnextTick异步渲染的理解
30.你是怎么对axios进行二次封装的,有什么作用
31.用戶token失效你是怎么处理的
32.说一下项目的流程
33.商品和增删改查
34.Element-UI的form表单验证你是怎么使用的
35.项目中的商品详情页你是怎么实现的
36.什么是数组扁平化
37.你这个项目登陆是怎么实现的
38.项目中的权限管理怎么实现的
39.Vue的SnextTick0方法有用到过吗
40.深拷贝与浅拷贝
41.在Vue是项目中如何打开新的页面
42.请解释一下微前端的概念以及它的主要优点和挑战?
43.你能详细描述一下qiankun微前端框架的工作原理吗?
44. 在使用qiankun时,如果子应用是基于jQuery的多页应用,你会如何处理静态资源的加载问题?
45.在使用qiankun时,如果子应用动态插入了一些标签,你会如何处理?
46.在使用qiankun时,你如何处理老项目的资源加载问题?你能给出一些具体的解决方案吗?
47.你能解释一下qiankun的start函数的作用和参数吗?如果只有一个子项目,你会如何启用预加载?
48.axios-请求中post请求的坑
49.路由传参的功能的坑
50.页面缓存的坑
51.vue组件动态加载的坑
52.解析后端返回的map格式数据的坑
53.更新文件缓存的坑
54. h5页面打开调试日志
55.获取首页链接里面的参数问题
56. h5里面的搜索
57.登录接口bug
58.封装的请求方法不需要在传入相同的参数。
59. 进来不在index.html文件里面引I入公共的文件
60.你做的项目中都使用过那些中间件呢?
61.你在开发过程中有什么困难点(或者使用了什么技术)
62.会写接口吗?项目你负责什么?
63.你之前做过小程序吗?主要包括哪些功能?
64.这个小程序的具体设计逻辑是怎么样的?有几个人开发?周期多长?在你离职时,这个小程序项目是否还在开发?或者你离职时,你们公司在开发什么?
65.你说你负责支付环节,那么微信支付的流程是否可以简单说一下?
66.那好,既然流程说完了,那么,我问你,你这个项目涉及到了mb,它在用戶点击支付之后的逻辑关系和表关系你是怎么理解的?有多少张表?表关系?
67.你觉得这个小程序项目的细节之处有哪些?
68.如何自定义tabbar?
69.你刚才提到了异步,在这个项目中你是否被异步坑过,最后又是如何解决的?
70.你能描述一下渐进增强和优雅降级之间的不同吗?
71.为什么利用多个域名来存储网站资源会更有效?
72.一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用戶更好的体验。
73.一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?
74. 前端如何进行登录身份的判断
75.电商项目跟其它项目有什么不同?
76.实践题
77.项目开发中有遇到什么挑战没?
78.项目研发流程中作为前端开发一般扮演的啥角色?
79.现在有的项目中觉得哪些项目可以继续优化,为啥没有优化?
80.平时写项目总结么,一般总结哪些东西?
81.请简单绘制登录场景的业务流程图,如不熟悉登录业务,也可以选择自己之前项目的业务简单说明。
82.项目上线后,会将index.html给后端,在地址栏上输入www.abc.com,当在地址后面缀上/layout回车后,页面会报404,是否遇见过这个问题,又该如何去解决?
83.项目中由谁定接口,公司文档如何管理,由谁负责上传代码,怎么上传代码的,项目发布都是怎么做的?
84.请你说说高级前端工程师和初级以及中级有什么区别?
85.用过echars与highchars么,你遇到哪些问题及如何解决的
86.项目开发中是用什么工具来管理代码的:说一下你是用过的工具用法(git、svn)
87.讲一下最近的这个项目中都负责什么
88.怎么判断是开发环境生产环境
89.Vue如何在用戶没登陆的时候重定向登录界面?
90.Vue项目常见优化点
91.异步解决方案有哪些?
92.移动端点击事件300ms延迟如何去掉?原因是什么?
93.如何实现函数的柯里化?比如add(1)(2)(3)
94.什么是反柯里化
95.如何避免回调地狱?
96.开发过程中遇到内存泄漏的问题都有哪些?
97.浏览器有哪些兼容问题,你封装过什么插件
98.假如A页面我定义了一个定时器,然后跳到B页面如果让A页面的定时器暂停
99.深拷贝是什么?项目哪里是用到了深拷贝?
100.swiper插件从后台获取数据没问题,cs代码啥的也没问题,但是图片不动,应该怎么解决?
101.常见内存泄漏
102.插入几万个dom,如何实现页面不卡顿?
以下:https://github.com/encode-studio-fe-coder/natural_traffic/wiki/scan_material4


更多推荐



所有评论(0)