先不说自身技术水平如何,面试一个中大厂的时候一定要刷近期的面经,和自己的技术栈、项目结合,八股这部分理念是必须要准备的,例如:
JavaScript 核心:异步编程、ES6+ 新特性、闭包与作用域、手写常见函数
框架类:
1.vue.js:Vue 3、Composition API 的优势与核心用法、响应式原理、性能优化等
2.react.js:Hooks、状态管理、新特性与优化、
工程化与构建工具:Webpack/Vite、微前端的概念、价值以及 qiankun 等框架是如何实现样式隔离、JS 沙箱、应用间通信的
场景题:面试官会描述一个真实业务场景,考察你的解决问题的思路和能力。例如:
- “如何实现一个大文件上传(支持断点续传、秒传)?”
- “如何设计一个前端监控系统?”
- “如何统计用户在线时长?”
- “如何实现一个完整的前端灰度发布方案?”
以上内容:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material5
场景题今年问的居多,整理了一些大厂会问的:
51.前端如何实现截图?
52.当QPS达到峰值时,该如何处理?
53.js 超过Number最大值的数怎么处理?
54.使用同一个链接,如何实现PC打开是web应用、手机打开是-个H5应用?【腾讯二面】
55.如何保证用户的使用体验【字节一面】
56.如何解决页面请求接口大规模并发问题【必会】
57.设计一套全站请求耗时统计工具
58.大文件上传了解多少【百度一面】
59.H5如何解决移动端适配问题【美团一面】
60.站点一键换肤的实现方式有哪些?【美团一面】
61.如何实现网页加载进度条?【百度一面】
62.常见图片懒加载方式有哪些?【京东一面】
63.cookie 构成部分有哪些【百度一面】
64.扫码登录实现方式【腾讯一面]
65.DNS协议了解多少【字节一面】
66.函数式编程了解多少?【京东一面】
67.前端水印了解多少?【腾讯一面】
68.什么是领域模型【必会】
69.一直在window上面挂东西是否有什么风险【百度一面】
70.深度SEO优化的方式有哪些,从技术层面来说
71.小程序为什么会有两个线程【腾讯一面】
72.web应用中如何对静态资源加载失败的场景做降级处理
73.html中前缀为data-开头的元素厘性是什么?
74.移动端如何实现上拉加载,下拉刷新?【字节一面】
75.如何判断dom元素是否在可视区域【字节一面】
76.前端如何用canvas来做电影院选票功能【美团一面】
77.如何通过设置失效时间清除本地存储的数据?【腾讯二面】
78.如果不使用脚手架,如果用webpack构建一个自己的react应用
79.用nodejs实现一个命令行工具,统计输入目录下面指定代码的行数
80.packagejson里面sideffects厘性的作用是啥【必会】
81.script标签上有那些厘性,分别作用是啥?【必会】
82.为什么SPA应用都会提供一个hash路由,好处是什么?
83.[React]如何进行路由变化监听【字节一面】
84.单点登录是是什么,具体流程是什么【腾讯一面】
85.web网页如何禁止别人移除水印【百度一面】
86.用户访问页面白屏了,原因是啥,如何排查?
87.[代码实现]s中如何实现大对象深度对比
88.如何理解数据驱动视图,有哪些核心要素?【腾讯二面】
89.vue-cli都做了哪些事儿,有哪些功能?
90.JS执行100万个任务,如何保证浏览器不卡顿?【百度一面】
91.JS放在head里和放在body里有什么区别?
92.Eslint代码检查的过程是啥?【必会】
93.虚拟混动加载原理是什么,用Js代码简单实现一个虚拟滚动加加载
94.[React]react-router和原生路由区别
95.html的行内元素和块级元素的区别【京东一面】
96.介绍-下 requestlIdleCallback api
97.documentfragment api是什么,有哪些使用场景?[必会】
98. git pull和 git fetch 有啥区别?
99.前端如何做页面主题色切换【腾讯一面】
100.前端视角-如何保证系统稳定性【字节一面]
101.如何统计长任务时间、长任务执行次数【腾讯二面】
102.V8里面的JT是什么?【京东一面]
103.用Js写一个cookies解析函数,输出结果为一个对象
104.vue中Scoped Styles是如何实现样式隔离的,原理是啥
105.样式阿商方式有哪些【字节一面】
106.在JS中,如何解决递归导致栈溢出问题?
107.站点如何防止爬虫?【百度一面】
108.ts项目中,如何使用nodemodules里面定义的全局类型包到自己项目src下面使用?【百度二面】
109.不同标签页或窗口间的【主动推送消息机制】的方式有哪些?(不借助服务端)
110.【React】在react项目开发过程中,是否可以不用reactrouter使用浏览器原生history路由来组织页面路由?
111.在表单校验场景中,如何实现页面视口滚动到报错的位置
112,如何一次性渲染十万条数据还能保证页面不卡顿【百度二面】
113.【webpack】打包时hash码是如何生成的【必会】
114.如何从0到1搭建前端基建【京东一面】
115.你在开发过程中,使用过哪些TS的特性或者能力?【美团一面】
116.JS的加载会阻塞浏览器渲染吗?【百度一面】
117.浏览器对队头阻寒有什么优化?【百度一面)
118.Webpack项目中通过script标签引入资源,在项目中如何处理?
119.应用上线后,怎么通知用户刷新当前页面?【腾讯一面】
120.Eslint代码检查的过程是啥?
121.HTTP是一个无状态的协议,那么Web应用要怎么保持用户的登录态呢?
122.如何检测网页空闲状态(一定时间内无操作)【百度二面】
123.为什么Vite速度比Webpack快?
124.列表分页,快速翻页下的竟态问题【百度二面】
125.JS执行100万个任务,如何保证浏览器不卡顿?
126.git仓库迁移应该怎么操作
127.如何禁止别人调试自己的前端页面代码?【字节二面】
128.web系统里面,如何对图片进行优化?【必会】
129.0Auth2.0是什么登录方式
130.单点登录是如何实现的?
后面也整理了一些框架类的面试常问
react:
20.setState是同步,还是异步的?
21.简述下React的事件代理机制?
22.简述下React的生命周期?每个生命周期都做了什么?
23.为什么不能在循环、条件或嵌套函数中调用Hooks?
24.说说你对useContext的理解
25.说说你对useMemo的理解
26.说说你对自定义hook的理解
27. 如何让 useEffect 支持 async/await?
28.我们应该在什么场景下使用useMemo和useCallback?
29.说说你对ReactHook的闭包陷阱的理解,有哪些解决方案?
30. React19新特性
31.React中,怎么实现父组件调用子组件中的方法?
32.你常用的 React Hooks 有哪些?
33.说说你对useReducer的理解
34.useMemo 和 useCallback 有什么区别?
35.怎么在代码中判断一个React组件是class component还是functio...
36.useRef / ref /forwardsRef 的区别是什么?
37.useEffect的第二个参数,传空数组和传依赖数组有什么区别
38.如果在useEffect 的第一个参数中return了一个函数,那么第二个...
39.讲讲 React.memo 和JS 的 memorize 函数的区别
40.怎么判断一个对象是否是React元素?
41.说说对 React 中Element、Component、Node、Instance 四个概念...
42.React 和Vue 在技术层面有哪些区别?
43.实现useUpdate方法,调用时强制组件重新渲染
44.taro的实现原理是怎么样的?
45.taro 2.x和 taro3 最大区别是什么?
46.单页应用如何提高加载速度?
47.React 中的 ref有什么用?
48.react-router里的<Link>标签和<a>标签有什么区别?
49.说说你对React Router的理解?常用的Router组件有哪些?
50.说说React Router有几种模式,以及实现原理?
51. 使用 useState (const [test, setTest] = useState([]))时,为什么...
52.实现个useTimeout Hook
53.react 中怎么捕获异常?
54. 最大子序和
55.说说https的握手过程
56.HTTP2中,多路复用的原理是什么?
57.说说你对”三次握手”、“四次挥手”的理解
58.如何确保你的构造函数只能被new调用,而不能被普通调用?
59.为什么推荐将静态资源放到cdn上?
60.说说React事件和原生事件的执行顺序
61.Vue2.0为什么不能检查数组的变化,该怎么解决?
62.说说Vue页面渲染流程
63.请简述==的机制
64.怎么做移动端的样式适配?
65.说说sourcemap的原理?
Vue类面试框架题
20.如果使用Vue3.0实现一个Modal,你会怎么进行设计?
21.Vue3.0中Treeshaking特性是什么,并举例进行说明?
22.Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有...
23.Vue3.0性能提升主要是通过哪几方面体现的?
24.Vue3.0的设计目标是什么?做了哪些优化?
25.你是怎么处理vue项目中的错误的?
26.Vue项目如何进行部署?是否有遇到部署服务器后刷新404问题?
27.Vue项目中如何解决跨域问题?
28.Vue怎么实现权限管理?控制到按钮级别的权限怎么做?
29.大型项目中,Vue项目怎么划分结构和划分组件比较合理呢?
30.Vue项目中有封装过axios吗?怎么封装的?
31.说说vue中的diff算法
32.什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路
33.说说你对Vue中 keep-alive 的理解
34. Vue.observable是什么?
35.说说你对slot的理解?slot使用场景有哪些?
36.说说你对vue的mixin的理解,以及有哪些应用场景?
37.Vue中的$nextTick有什么作用?
38.Vue组件间通信方式都有哪些?
39.Vue中组件和插件有什么区别?
40.为什么Vue中的data属性是一个函数而不是一个对象?
41.说说你对Vue生命周期的理解
42.Vue实例挂载的过程中发生了什么?
43.谈谈对Vue中双向绑定的理解
44.Vue 模板是如何编译的
45.说说 Vue 中 CSS scoped 的原理
46.说说你对渐进式框架的理解
46,说说你对渐进式框架的理解
47.Vue中的 v-show 和v-if有什么区别
48.Vue3.0里为什么要用 Proxy API 替代 defineProperty API?
49.SSR是什么?Vue中怎么实现?
50.vue的祖孙组件的通信方案有哪些?
51.如何打破scope对样式隔离的限制?
52.Scoped Styles为什么可以实现样式隔离?
53.vue中怎么实现样式隔离?
54.created 和mounted有什么区别?
55.Vue是怎么把template模版编译成render函数的?
56.v-model的原理是什么样的?
57.说说Vuex 的原理
58.Vue中给对象添加新属性时,界面不刷新怎么办?
59.Vue3有了解过吗?能说说跟Vue2的区别吗?
60.自定义指令是什么?有哪些应用场景?
61.说说vue中,key的原理
62.Vue常用的修饰符有哪些?分别有什么应用场景?
63.vue的响应式开发比命令式有哪些优势?
64.vue 中$route 和$router有什么区别?
65.React 和Vue在技术层面有哪些区别?
66.单页应用如何提高加载速度?
67.为什么Vue中的v-if和v-for不建议一起用?
68.vue3中怎么设置全局变量?
69.刷新浏览器后,Vuex的数据是否存在?如何解决?
工程化内容
1. package.json 文件中的 devDependencies 和dependencies 对象有什...
2.webpack 5的主要升级点有哪些?
3.说下Vite的原理
4.与webpack类似的工具还有哪些?区别?
5.说说如何借助webpack来优化前端性能?
6.说说webpackproxy工作原理?为什么能解决跨域?
7.说说webpack的热更新是如何做到的?原理是什么?
8.面试官:说说Loader和Plugin的区别?编写Loader,Plugin的思路?
9.说说webpack中常见的Plugin?解决了什么问题?
10.说说webpack中常见的Loader?解决了什么问题?
11.说说webpack的构建流程?
12.说说你对webpack的理解?解决了什么问题?
13.webpackloader 和 plugin实现原理
14.如何提高webpack的构建速度?
15.说说webpack-dev-server 的原理
16.你对babel了解吗,能不能说说几个stage代表什么意思?
17.webpack的module、bundle、chunk分别指的是什么?
18.什么是CI/CD?
19.说说你对前端工程化的理解
20.说说你对SSG的理解
21.聊聊 vite 和webpack 的区别
22.webpack treeShaking机制的原理是什么?
23.介绍一下tree shaking及其工作原理
24.前后端分离是什么?
25.Babel的原理是什么
26.webpack的热更新是如何做到的?说明其原理
27.如何提高webpack的打包速度
28.如何用webpack来优化前端性能
29.webpack的构建流程是什么
30. webpack的Loader和Plugin的不同
31.webpack有哪些常见的Plugin
32. webpack、rollup、parcel优劣
33.Webpack中 loader的作用是什么,以及常用loader有哪些
34.谈谈你对Webpack的认识
因为篇幅原因不一一展示了,9月是今年找工作最快的时候,希望还是不要浪费自己的时间,如果你能力强的话,早就找到工作了。
以上内容:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material5
最后祝每个刷到的都会以一个神奇的方式,入职一个薪资嘎嘎高,事情嘎嘎少的公司!!!!