前端面经总结

#前端面经##秋招##大厂面试#
一面(1h)

1. 讲一个你参与过的项目,你在项目中的职责、使用的技术栈以及遇到的问题。
2. BFC的作用及触发条件,使用场景讲一下。
3. 在项目中,你使用过哪些ES6特性?
4. 常见的HTTP状态码有哪些?分别表示什么含义?
5. 前端缓存机制讲一下,如何利用前端缓存机制优化性能?
6. HTTPS相较于HTTP有哪些优势?讲一下HTTPS的加密原理。
7. 请求头中包含哪些重要信息?如何通过请求头实现跨域资源共享(CORS)?
8. Vue的响应式原理是什么?如何实现数据的双向绑定?
9. Vue的响应式原理中,为什么直接通过索引修改数组元素无法触发更新?如何解决?  
10. 在使用Webpack时,你采取了哪些优化措施?
11. 地图中大量标记点(Markers)的渲染性能如何优化?
13. 实现一个函数,计算二叉树的最大深度。
● 题目描述:二叉树的深度是指从根节点到最远叶子节点的最长路径上的节点数。请实现一个函数,接收一个二叉树的根节点作为输入,返回该二叉树的最大深度。
● 输入输出要求:输入一个二叉树的根节点,输出一个整数,表示二叉树的最大深度。
● 示例:
// 示例二叉树:
//     3
//    / \
//   9  20
//     /  \
//    15   7
// 最大深度为3
const root = {
  val: 3,
  left: { val: 9, left: null, right: null },
  right: { val: 20, left: { val: 15, left: null, right: null }, right: { val: 7, left: null, right: null } }
};
console.log(maxDepth(root)); // 输出:3

14. 编写一个函数,实现两个二进制数字符串的相加,并返回结果字符串。
● 题目描述:给定两个表示二进制数的字符串,编写一个函数将它们相加,并返回相加后的结果字符串。输入和输出都为字符串,且只包含字符 '0' 和 '1'。
● 输入输出要求:输入两个字符串形式的二进制数,输出一个字符串,表示两个输入二进制数的和。
● 示例:
const a = "1101";
const b = "1011";
console.log(addBinary(a, b)); // 输出:"11000"

二面(1h)
1. 讲一下你的前端模块化的理解。
2. HTTP/2 解决 HTTP/1.1什么问题?
3. 在你的项目中,你是如何设计埋点方案统计用户点击“加入购物车”的行为?
4. Hash 模式和历史模式(History API)的路由跳转差异,如何实现服务端兼容。
5. Vue 2 的 Object.defineProperty 和 Vue 3 的 Proxy 在响应式处理数组时的区别是什么?  
6. 讲一下Vue 的异步更新策略,以及 nextTick 的实现原理。  
7. Loader 和 Plugin 在 Webpack 中的作用有何不同?举例说明常见应用场景。  
8. Webpack 热更新(HMR)的实现原理,包括客户端和服务端的协作流程。
9. 手写一个支持异步链式调用的 Promise 基础版本,需包含 resolve 和 then 方法。 
10. 给定数组 nums,判断是否存在三个元素 a, b, c 使得 a + b + c = 0。 
11. 设计一个地图搜索框的自动补全功能。

三面(40min)
1. 讲一个你觉的最有成就感的项目?
2. 平时用那个地图软件,你觉的百度地图和高德地图有什么区别?
3. 在很多人协作开发中,若遇到接口定义不一致或代码冲突,你会如何推动问题解决?
4. 你有没有团队中主动分享或推动技术方案的经历。
5. 平时是怎么学习前端的?了解的最新的技术是什么 ?
6. 未来3-5年,你希望在前端领域达到什么目标?地图的业务场景实现个人成长?
7. 给定两个非递减整数数组 nums1(长度为 m+n)和 nums2(长度为 n),将 nums2 合并到 nums1 中,保持非递减顺序。
全部评论
求面经
点赞 回复 分享
发布于 昨天 15:28 四川

相关推荐

Rena1ssance_:对的,要是面评没太烂,勤更新简历等捞就行了,腾讯可以无限复活
点赞 评论 收藏
分享
评论
2
5
分享

创作者周榜

更多
牛客网
牛客企业服务