Skip to content

鼓励作者:欢迎打赏犒劳

五年以上前端面试

笔者背景:八年前端、无大厂经验、广告转前端、本科

我在做了八年前端时,公司裁员,就开始了我的面试之旅,在这期间,我面试了一些公司,得到一些经验。发现他们很少问我与 CSS 相关的问题,甚至有些为了不浪费时间直接贴编程题,在此笔者将面试时的题目贴出来,供大家参考

因为笔者比较菜,所有面试一面就挂了,以下题目都是一面时遇到的(部分遗漏)

  • [x] React18 有什么新特性
  • [x] 有做过性能优化吗
  • [ ] Taro 怎么把 React 代码转换成跨平台的(笔者上一家公司用过 Taro ,与此公司技术栈相关)
  • [ ] var [a,b] = {a:1,b:2}怎么才能成立
  • [x] React Fiber 的作用和原理
  • [x] React 渲染经历了什么(如何调度、如何做Diff)
  • [ ] solidjs 是什么
  • [x] React中父组件如何调用子组件中的方法?
  • [x] 深拷贝 -> json.stringify 缺点 -> 怎么解决
  • [x] 讲一下 promise,口述一下实现原理
  • [x] 讲一下事件循环
  • [x] 知道web worker吗,展示说说
  • [x] web socket呢?
  • [x] React Hooks 是什么?怎么实现的
  • [x] 写过自定义 Hooks 吗,讲一下
  • [x] typescript 的类型问题(具体忘记了)
  • [x] Redux 是什么以及实现原理
  • [x] flex 有多少属性,flex:1代表什么意思
  • [x] css 有多少方法让元素隐藏
  • [x] seo有哪些优化(比较另类)
  • [x] 性能优化
  • [x] a b测试(没涉猎)
  • [x] useCallback、useMemo 使用场景
  • [x] react 是如何优化的
  • [ ] webpack 的优化(工程化优化)
  • [x] 手写 progress(进度条)
  • [x] 编码题:一个数组中获取最大的值,至少两种方法
  • [x] 编码题:求两个数组的交集和并集
  • [x] 虚拟滚动
  • [x] 防抖
  • [x] 让一个动画动起来
  • [x] 乾坤技术原理
  • [x] 为什么不用 iframe
  • [x] sso 是什么
  • [x] 父子应用如何通讯
  • [x] 乾坤的生命周期(微前端)
  • [x] 中国平安算法题,数组对象去重
  • [x] useEffect 第二个参数是对象如何处理
    • 将对象转成字符串
  • [x] vite 和 webpack 的区别
    • vite 是用 ES 模块构建,无需预先打包应用程序
  • [ ] state 为1,button 点击之后为2,能描述一下 react 的执行过程吗
  • [x] 从 url 输入到返回请求的过程
    • [x] 协商缓存时,有发送HTTP请求吗
      • ETag的话发送条件性请求:if-None-Match
      • Last-Modified的话发送:if-Modified-Since
  • [x] qiankun 怎么通信
  • [ ] promise.all 中一个接口坏了,怎么保证其他两个正常调用(Promise.allSettled())
  • [ ] 白屏性能优化
  • [ ] 快排
  • [ ] 数组去重(不能使用js原生方法和es6语法)
  • [ ] ssr的缺点
  • [ ] foreach 跳出循环
  • [ ] CSS3新特性
  • [ ] ES6新特性
  1. React为什么要使用Fiber,它解决了那些问题
  2. 你说到了并发模式与时间分片,它怎么做的时间分片,用了什么方法。scheduler 为什么要使用宏任务去执行,你说到了任务合并,它是怎么去区分是不是同一个任务的。
  3. 它为什么不用requestIdleCallback
  4. 你了解优先级嘛,你说到高优打断低优,它是如何打断的。如果一直插入高优任务,低优任务会一直得不到执行嘛,它是怎么解决这个问题的
  5. 说一下合成事件吧,它解决了哪些问题。
  6. 合成事件的事件委托 在新版本与老版本都绑定到了哪些? 老版本为什么绑定到document,而新的绑定到根节点上

讨厌八股文,我就问三个实际的,又快又准:

1,讲讲你的项目,就选你做得最满意的。

2,讲讲你的技术,就选你准备得最好的。

3,我给你一个场景,你有哪些思考和方案。

这三个问题谁都能答,但答好不容易。

基本可以覆盖80%的工作要求。