北京前端就业现状,以及 2024 年上半年最新前端面试题

537 阅读5分钟

北京目前的市场现状:非常严峻

  1. 前端岗位肉眼可见的减少,一周一个变化
  2. 大专生除非项目匹配,否则基本没有任何机会
  3. 降薪很严重,在找工作的时候,要大幅度降低自己的期望❗甚至大幅度降薪❗
  4. 岗位基本外包居多,自研岗位是非常非常少的,即使有,竞争也超级激烈
  5. 短期项目很多,基本都是几个月的 (6月28号更新,短期项目基本也没了)
  6. 技术方面:Cesium、Three、gis 等可视化 以及 Electron 等小众岗位比较缺人的
  7. 建议:不要裸辞❗不要裸辞❗不要换工作❗不要换工作❗

这是我在 2024 年 5 月到 7 月 面试的真题,面试了十几家公司,很多题都具有共性,凡是面试频率很高的,我都标注了超高频

时间关系,答案就不一一整理了,大家可以利用 ChatGPT 进行整理,也可以复制题目百度搜索,本篇文章只是想单纯分享面试题,强烈建议:一定要自己整理,只有自己整理了,才能记忆的牢固

1. JavaScript 面试题

  1. 常用的数组方法有哪些,哪些会对自身进行改变
  2. every 和 some 方法的区别 (超高频)
  3. forEach 和 map 方法的区别 (超高频)
  4. script 标签上 async 和 defer 的属性是什么
  5. 事件循环机制、宏任务、微任务 (超高频)
  6. 什么是闭包,解决了什么问题,有哪些使用场景 (超高频)
  7. 如何取消 HTTP 请求 (超高频)
  8. 了解过那些继承方式
  9. 了解过那些设计模式
  10. 如何自己实现一个 Promise
  11. 如何实现一个发布订阅模式

2. TS 面试题

  1. interface 和 type 的区别 (超高频)
  2. 什么是泛型,泛型的作用场景,你在哪里使用过 (超高频)
  3. 你在开发中是如何使用 Ts 的,都在哪些地方使用 (超高频)
  4. 使用了哪些泛型工具类型 (超高频)

3. Vue 面试题

  1. Vuex 和 Pinia 区别
  2. Vue2 和 Vue3 的区别 (超高频)
  3. Vue 中组件传值有那些方式
  4. Vue3 diff 算法
  5. Vue3 diff 算法和 React diff算法的区别
  6. nextTick 原理 (超高频)
  7. Vue2 和 Vue3 响应式原理的具体实现
  8. 计算属性 computed 的原理
  9. 模版解析的过程
  10. scoped 实现原理
  11. ref 和 reactive 的区别 (超高频)
  12. ref 和 reactive 实现原理上的区别 (超高频)
  13. key 的作用 (超超高频)

4. React 面试题:

  1. React Hook 和 Vue Composables 区别
  2. React setState 是同步还是异步
  3. React 中通信的方式有哪些
  4. 有那些 Hook 可以用来进行性能优化
  5. Callback Hook 和 Memo Hook 这两种区别是什么
  6. Hooks 实现原理是什么
  7. 什么是 React fiber,谈一下你的理解
  8. 常用的两种路由模式的区别和实现原理分别是什么
  9. 谈谈单项数据流
  10. style 样式隔离怎么处理的

5. 小程序面试题:

  1. 小程序从 0 到 1 开发完整的流程
  2. 小程序分包加载怎么实现
  3. 小程序做过哪些性能优化
  4. 小程序的静默登录怎么做
  5. 小程序的运行机制

6. Node 面试题:

  1. Node 使用过哪些核心模块 (超高频)
  2. 什么是中间件
  3. 谈一下对洋葱模型的理解
  4. Express 使用过哪些中间件
  5. Node 如何处理异步

7. 微前端相关:

  1. 为什么使用微前端,解决什么问题的
  2. qiankun 中如何实现主应用和子应用的通信
  3. qiankun 如何提取出公共的依赖库
  4. qiankun 中样式统一如何做的
  5. 微应用之间如何跳转
  6. 微前端的原理

8. Webpack 相关题目:

  1. Plugin 和 loader 区别 (超超高频)
  2. Webpack 如何进行打包优化 (超超高频)
  3. 如何解决 Vite 首屏加载慢的问题
  4. Vite 为什么比 Webpack 快 ?
  5. loader 解析处理文件的流程

9. 性能优化:

  1. Webpack 做过哪些性能优化,列举一下
  2. 项目代码中做过哪些性能优化,列举一下
  3. 防抖和节流的区别,如何自己实现

10. 项目相关:

  1. 你是如何从 0 到 1 实现一个项目的,详细描述
  2. 在实际开发中,封装过哪些组件 (超高频)
  3. 具体说了一个,封装的思路和流程是什么
  4. 在实际开发中,封装过那些 hooks、组合式函数 (超高频)
  5. 具体说了一个,封装的思路、流程是什么
  6. 详细描述 RBAC 权限管理实现的流程
  7. 可视化大屏是如何实现自适应的
  8. 单点登录怎么做的
  9. 使用是原生 Git 还是 Git 工作流
  10. 你们项目是如何进行部署上线的,具体流程是什么
  11. 其他....

11. 其他:

  1. 从输入 URL 到展示页面中间的过程 (超高频)
  2. 详细描述浏览器缓存机制 (超高频)
  3. 描述下 JS 垃圾回收机制