Skip to content

一面1小时23分钟

  1. 自我介绍
  2. flex:1代表什么
  3. 移动端响应式策略,rem原理,简单写一下 flexible 这个文件
  4. 如何兼容浏览器,postcss用过哪些插件;如何兼容js,除了 babel 的其他方法;简单讲 下babel 做了哪几个层面的优化,用过 babel 做过什么;了解过 polyfill 的原理吗,举个 开发中使用 polyfill 的具体例子
  5. 讲下提升 seo 的手段;简单介绍下 ssr 的原理;简单聊下 nuxt 或者 next,他们之间的区 别
  6. 搭建过 node 客户端吗;express 和 koa 介绍与区别,两者中间件原理的区别有了解吗; 简单介绍下洋葱模型;讲下 express 常用的中间件,跨域用的中间件什么原理;如何部署 后端上线,部署后怎么和前端做联系(这个没理解他的意思) 7.实习项目为什么用vue2,为什么迁移到 vue2.7而不是直接迁移 vue3.X,迁移过程中做了 哪些具体替换,怎么解决冲突
  7. vue2 和vue3 的区别(这里讲了好久,被打断了);vue3兄弟组件间通信方式,vue 常 用状态库介绍
  8. pinia 和 vuex 介绍与区别;怎么解决全局变量太多的问题,怎么做模块化,模块化具体的 操作与代码(这里问很细,就差让我一行一行写了);pinia的原理简单介绍
  9. vue 源码中flushjob 具体实现,理由。父子组件间生命周期顺序,理由,好处
  10. 用过哪些构建工具;vite 和 webpack 插件原理介绍与区别,投屏看看曾经自己写的 vite 和webpack 插件;webpack loader 和 plugin 区别与原理;常用loader有哪些,投屏看 自己看写过的loader;webpack 工程化具体的优化介绍以及成效的具体数值;讲一下文 件指纹,webpack 的 hash 类型介绍与区别,具体强缓存和协商缓存类型判断;讲下 webpack 流水线;vite 原理简单介绍;rollup 介绍,同 webpack 和 vite 做对比,简单说 明为什么会有这些差异
  11. 如何手动发布 npm 包
  12. 手写数组扁平化,增加深度要求,写出来后试试除了递归外的其他方式(这里没想到,后 来发现可以 while + some 实现)
  13. 本地运行ts演示给面试官看,讲下 tsC 编译的一些细节
  14. 手写call,写完问了个问题,说我直接挂载函数到context上,发生原有属性冲突怎么办 (我提出用symbol解决,他也没让我跑测试用例了,然后让我简单介绍下 symbol)
  15. 本地演示下断点调试
  16. 为什么从公司跑路

二面 1小时3分钟 1. 自我介绍; 2. vue 生命周期介绍;源码中 setup 和 options 写法生命周期实现细节区别;keepalive 生 命周期介绍,keepalive 原理;还写过源码中哪些内置组件(我说除了suspense都写过他 就没继续问了);简单讲下 ShapeFlags 在源码中的使用,说明一下 patchFlags(讲 ShapeFlags 时提了一嘴,跟他说了是编译优化用的就打断没追问了);介绍下位运算; 3.ipv4 转数字(leetcode原题),写完尝试不使用split 和 parseInt 实现; 4. css 兼容,移动端响应式策略,移动端特有事件处理; 5. canvas 和 svg 介绍与区别;为什么 transform 性能要好,简述一下浏览器渲染流程不需 要太详细了;这些过程中涉及哪些线程,会出现跨进程操作吗,栅格化操作简单介绍一 下; 6. tcp 三次握手介绍与理由,首部细节; 7. 性能优化(常规结合项目简单介绍包含具体数值效果) 8. 跨域 9.查找数组中某数字第一次出现的索引(leetcode原题,不过leetcode写明了用二分) 10.觉得sort 函数内部使用的排序算法是什么,写一下归并排序和快排,说明他们的时间复杂 度和缺陷;列举其他你知道的排序算法,并说明时间复杂度

  1. 自我介绍 2.版本号比较 (leetcode原题,这次我直接就没用split了,他也没继续让我改了)
  2. 时针秒针角度输出(leetcode原题)
  3. rag 和大模型介绍
  4. 思考题:100个球,两人参与游戏,每次可以拿1-2个球,轮流拿球,你先开始,拿到最后 一个球的人获胜,怎么必胜?并讲下理由
  5. 第一个项目详细介绍,中间简单问了下多语言不同环境下的不同策略是什么,封装的多语 言高阶组件思路并如何实现的按需加载
本站访客数 人次 本站总访问量