一面
面试+笔试一共半小时吧,没怎么问问题
一: es6相关问题
Symbol、模板字符串、Iterator、Proxy 答案:二: 笔试
underscore的方法includes和get源码(简洁版),如下:/*** 1. 判断一个数组array在fromIndex之后是否含有value值,*/function includes(array,value,fromIndex){}/* **2. 根据路径取obj的值* 比如 get({a:[{c:{d:123}}]}, 'a[0].c.d')*/function get(obj,path) {}
二面
问的都是简历上项目经验问题,一共一个半小时
项目中使用的技术,出于什么考虑选择了这些技术,有没有想过这些技术的优缺点(体现个人主动思考)
介绍一下你的项目从开始搭建框架到上线都经历了哪些步骤
项目中使用的vue-cli工具,有没有自己使用webpack构建一个项目?
- 你的项目中使用了哪些cdn的优化
答案: 不知道面试官想听什么样的答案,项目中使用cdn就是为了节省打包体积, 所以从之前优化打包时间和打包体积的工作上说了下:https://www.cnblogs.com/XHappyness/p/10343010.html
一个特别复杂的项目,需要多个团队进行分工,技术方面怎么做
(微前端)- 接口后端接受到一个html片段,怎么插入到文档中? 如果里面含有script标签,怎么插入? 如果script标签有多个,怎么保证执行顺序? 后端直接返回一整个文件,和这种后面单独返回html片段和script标签,有什么不同?
答案: (1)创建一个html标签,使用appendChild()插入原html文档中去 (2)使用正则或者其他方法,将html片段和js片段分开,分别进行插入 (3)使用Promise完成一个后then另一个 (4)说了,这种后面请求的方式,会使页面加载更快,不阻塞浏览器渲染(答错了,面试官说答反了,想了想,可能面试官想听的答案是,后面这种会操作dom,发生重绘,影响性能)
三面
后来不到一个星期来了三面电话,约了周末三面,面试内容和二面类似,问的更深项目架构和业务相关的问题,总体感觉一般,最后也如期收到了谢绝信 。°(°¯᷄◠¯᷅°)°。
总结: 整体感觉难度挺大的。总体来说,是自己在项目这块准备不足,没有好好去回顾做过的项目细节。再接再厉吧。
塞翁失马焉知非福,冲鸭₍•ʚ•₎