题目总结

195 阅读3分钟

电话面试

  1. 流式布局
  2. 盒模型
  3. js数据类型
  4. es6介绍
  5. 介绍vue-router的生命周期
  6. 聊一下前端工程化

3.8号 二面

  1. 介绍一下你开发过的一个项目
  2. 讲一下vue3和vue2的区别
  3. 聊一下vue的组件通信props,bus,vuex区别
  4. 聊一下react中的hooks和react高级组件(HOC)
  5. 讲一下react中的diff算法
  6. 对个人职业发展的展望

周六技术一面

  1. 介绍一下react中的受控组件,为什么form.item绑定了name,input就不需要绑定
  2. 讲一下hooks的了解,为什么react hooks中的useState,会保存下来。
  3. 讲一下react的高级组件
  4. 介绍一下vue中的$nextTick,结合js事件循环讲
  5. 怎么实现一个async await
  6. 讲一下vue的响应式原理
  7. 聊一下webpack源码。
    1. 首先webpack模块化类似于commonJS,通过ast语法树转化import,exportt为webpack_require,模块的依赖收集,使用for of实现深度遍历(DFS),生成Module等,套进webpack模版
    2. loader,就是一个方法,通过loader-utils获取一些额外参数,可以做一个字符串替换操作等
    3. plugins,基于tabable的事件流,在十几个生命周期中,做一下想做的事情,比如emit文件打包完成阶段,做一个gzip压缩,压缩打包文件

涂鸦电话一面

  1. 讲一下你熟悉的es6语法有那些
  2. 用什么遍历set数据结构,for of能遍历对象吗, for in遍历对象有什么问题
  3. weakMap, WeakSet弱引用,聊一下垃圾回收
  4. 讲一下js的事件队列
  5. 浏览器的渲染过程是怎么样的
  6. 聊一下重绘,回流
  7. es5中的继承, 怎么判断实例化的原型链上存在某个原型,不用instanceOf还有什么办法
  8. http1.1和http2.0的区别, 二进制分层属于哪一层
  9. UDP和TCP的区别
  10. 讲一下了解那些数据结构, 二叉树遍历有哪些(没听清楚,就回答了先序,后序,深度,广度)
  11. 有什么想问的

有赞一面

  1. 讲一下对vue源码的了解,简单的讲下:VUE 响应式原理,批量异步更新,diff 算法原理
  2. diff算法同层对比的时候,有key和无key分别是什么样子
  3. http的缓存讲一下
  4. 301,302状态码有没有了解
  5. UDP和TCP的区别
  6. 有写过webpack的loader嘛,怎么写一个异步的loader
  7. 有写过webpack的plugins嘛, 讲一下你知道的几个hooks
  8. 讲一下babel
  9. 看你简历上写了好多模块化,CJS /ES6 Module / UMD /AMD /CMD,能聊一下CMD的依赖就近实现原理嘛
  10. 既然有了CommonJs,为什么需要Es6 module
  11. webpack5中是怎么实现对CommonJS模块化 Tree shaking支持的
  12. 聊了TypeScript在开发过程中问题,泛型
  13. 聊了 Puppeteer能做一些事情,自动化测试之类,还有同类产品selenium
  14. 实现一个lowCode, 兼容依赖于AntD, Vant样式框架的不同组件,在一个页面中