前端大厂高频面试真题(最常见版)

#面试问题记录#

一、JS 基础(必问)

1. 变量提升、作用域、闭包原理与场景

2. this 指向规则(普通函数/箭头函数/构造函数/绑定)

3. 原型与原型链、继承实现

4. 异步:Promise、async/await、宏任务微任务

5. 防抖节流原理、手写与应用

二、浏览器 & 网络(高频)

1. 从输入 URL 到页面展示全过程

2. 浏览器渲染流程、重排重绘优化

3. HTTP/HTTPS、HTTP2、HTTPS 握手流程

4. 缓存策略:强缓存 / 协商缓存

5. 跨域原因与解决方案

三、Vue / React(二选一必深问)

Vue

1. 响应式原理(数据劫持 + 发布订阅)

2. 虚拟 DOM、diff 算法

3. computed / watch 区别

4. 生命周期执行顺序

5. Vue3 组合式 API 优势

React

1. Hooks 规则、useState/useEffect 原理

2. 类组件 vs 函数组件

3. Fiber 架构、调和流程

4. 状态提升、Context、Redux 流程

四、工程化 & 性能优化(大厂最爱)

1. Webpack 构建流程、loader/plugin 区别

2. 常见优化:代码分割、tree shaking、懒加载

3. 前端性能指标:LCP、FCP、FP 等

4. 首屏优化方案

5. 移动端适配、兼容性处理

五、手写代码(高频现场题)

1. 手写 Promise

2. 手写防抖 / 节流

3. 手写深拷贝

4. 手写 call/apply/bind

5. 数组去重、flat 扁平化

六、场景题 & 逻辑题

1. 如何定位线上卡顿/白屏问题

2. 大量列表渲染优化(虚拟列表)

3. 如何设计一个弹窗组件

4. 前端监控与错误捕获
#牛客AI配图神器#
全部评论
是不是现在前端的岗位比较少了
点赞 回复 分享
发布于 03-29 17:38 陕西
mark一下
点赞 回复 分享
发布于 03-22 22:27 江苏
可以的,总结的很好
点赞 回复 分享
发布于 03-13 23:23 北京

相关推荐

4.14投递,4.30被捞,打电话约面1. 自我介绍2. Java的JDK跟JVM是什么关系3. 基本数据类型long有几个字节4. Java里的Integer和int类型相比有什么优点5. List比如ArrayList后面跟的泛型,能用基本数据类型int吗?6. Java里的抽象类是什么? 抽象类是为了解决什么问题产生的?7. 抽象类跟接口有什么区别?能不能完全用接口取代抽象类?什么情况下不能用接口取代抽象类?8. Java的泛型是什么?泛型解决了什么问题?9. 反射是什么?你在平时的学习或者简历里的两个项目里用过反射吗?11. 刚才你说了ArrayList,还用过什么集合吗?12. ArrayList的底层的数据结构13. 往ArrayList中间插入一个元素,时间复杂度是多少?n是什么含义?14. LinkedList的底层数据结构,它的插入和查找时间复杂度分别是多少?这里的1代表什么含义?15. 用过Map吗?介绍一下HashMap的底层实现16. 你项目里用的Java是哪个版本?Java17版本的HashMap插入一个元素的时间复杂度,以及查找的时间复杂度17. 刚才说的ArrayList、LinkedList、HashMap这些集合是线程安全的吗?18. 什么叫线程安全?19. 怎么理解脏数据?20. 如果要把ArrayList变成线程安全的,可以怎么做?(答了加锁,但是扯到乐观锁了,后面就狠狠拷打ArrayList怎么加乐观锁)21. 什么叫乐观锁?22. 以ArrayList举例,CAS的Compare是比较的什么和什么?23. 读取这个值的动作本身有锁吗?24. 如果比较之后两个值不等呢?25. 这种实现方式在ArrayList的任意操作下都满足线程安全的要求吗?26. 比如现在想往数组末尾追加一个元素,在这种实现下应该怎么实现?27. Java的GC有了解吗?以你项目里用的Java17版本为例,它的主要GC算法是什么?28. GC怎么知道某一个对象应该被回收?29. 你的两个项目都是后端服务跑在服务器上,会跟前端有交互,前后端交互是用的什么协议?(不知道)30. 前端怎么找到对应的后端服务?比如用户有你的前端页面,怎么才能访问到你的后端服务?(应该是DNS,但是我想着我的项目都在本地跑的没有域名啊啊,就把DNS,ARP,TCP,HTTP,TLS全吟唱了一遍)31. SSE是建立在TCP之上的,TCP本身也是流式传输,也有长连接,为什么还要用SSE而不是直接用TCP?(完全忘了)32. MySQL的索引分类33. B+树的叶子节点和非叶子节点分别存的是什么?34. 如果建了100个索引,这100个索引都在同一棵B+树上吗?35. 索引本身有什么用途?索引的结构是什么36. 没有索引,数据库能不能用?37. MySQL的事务是什么?38. 事务的原子性是怎么实现的?39. 比如我在同一个事务里插两条数据,第二条插入失败了,怎么通过undo log去保证原子性?40. 如果在执行回滚操作的时候断电了,重新启动MySQL进程后,去查这个记录能查到什么?41. MySQL的隔离级别是什么?42. 可重复读是什么含义?43. Redis在你的第二个项目里存的是什么?用的是什么数据结构?key和value分别是什么?44. 通过key查找String类型的数据,时间复杂度是多少(以为是二分答了logn,,,)45. Redis你还用过其他的数据结构吗?46. 你用的是哪个MQ?为什么使用MQ?手撕:lc437二叉树路径总和反问:1.部门干啥的:对接上游,发布广告2.后续流程:不清楚还好录音了,不然都不知道自己错的那么离谱八股就是背了忘忘了背,什么时候才是个头啊
点赞 评论 收藏
分享
评论
32
150
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务