电话面试
- 流式布局
- 盒模型
- js数据类型
- es6介绍
- 介绍vue-router的生命周期
- 聊一下前端工程化
3.8号 二面
- 介绍一下你开发过的一个项目
- 讲一下vue3和vue2的区别
- 聊一下vue的组件通信props,bus,vuex区别
- 聊一下react中的hooks和react高级组件(HOC)
- 讲一下react中的diff算法
- 对个人职业发展的展望
周六技术一面
- 介绍一下react中的受控组件,为什么form.item绑定了name,input就不需要绑定
- 讲一下hooks的了解,为什么react hooks中的useState,会保存下来。
- 讲一下react的高级组件
- 介绍一下vue中的$nextTick,结合js事件循环讲
- 怎么实现一个async await
- 讲一下vue的响应式原理
- 聊一下webpack源码。
- 首先webpack模块化类似于commonJS,通过ast语法树转化import,exportt为webpack_require,模块的依赖收集,使用for of实现深度遍历(DFS),生成Module等,套进webpack模版
- loader,就是一个方法,通过loader-utils获取一些额外参数,可以做一个字符串替换操作等
- plugins,基于tabable的事件流,在十几个生命周期中,做一下想做的事情,比如emit文件打包完成阶段,做一个gzip压缩,压缩打包文件
涂鸦电话一面
- 讲一下你熟悉的es6语法有那些
- 用什么遍历set数据结构,for of能遍历对象吗, for in遍历对象有什么问题
- weakMap, WeakSet弱引用,聊一下垃圾回收
- 讲一下js的事件队列
- 浏览器的渲染过程是怎么样的
- 聊一下重绘,回流
- es5中的继承, 怎么判断实例化的原型链上存在某个原型,不用instanceOf还有什么办法
- http1.1和http2.0的区别, 二进制分层属于哪一层
- UDP和TCP的区别
- 讲一下了解那些数据结构, 二叉树遍历有哪些(没听清楚,就回答了先序,后序,深度,广度)
- 有什么想问的
有赞一面
- 讲一下对vue源码的了解,简单的讲下:VUE 响应式原理,批量异步更新,diff 算法原理
- diff算法同层对比的时候,有key和无key分别是什么样子
- http的缓存讲一下
- 301,302状态码有没有了解
- UDP和TCP的区别
- 有写过webpack的loader嘛,怎么写一个异步的loader
- 有写过webpack的plugins嘛, 讲一下你知道的几个hooks
- 讲一下babel
- 看你简历上写了好多模块化,CJS /ES6 Module / UMD /AMD /CMD,能聊一下CMD的依赖就近实现原理嘛
- 既然有了CommonJs,为什么需要Es6 module
- webpack5中是怎么实现对CommonJS模块化 Tree shaking支持的
- 聊了TypeScript在开发过程中问题,泛型
- 聊了 Puppeteer能做一些事情,自动化测试之类,还有同类产品selenium
- 实现一个lowCode, 兼容依赖于AntD, Vant样式框架的不同组件,在一个页面中