微盛一面
自我介绍了以后,面试官就针对课程学过的一些内容进行提问,问的比较广泛,对校招生比较注重基础
1.数据库想查询某个日期区间(根据创建时间查询),想要查询速度更快,该怎么处理
2.一个大数组(一千万)里面选出最大的10个数,数组是无序的,怎样做更快
3.有个大文件2G,想从里面检索你的姓名是否存在(姓名3个字),但是你的内存比较小,内存500M该怎么检索(分段检索)
4.排序算法知道哪些,这些排序算法的一个时间复杂度分别是怎么样的
5.假设想实现element-ui中的el-dialog想怎么实现,需要在页面正中弹起来,且在页面的最上方,且里面可以放内容(我想的内容使用slot插槽实现)
6.假设有两个类,A继承自B,那么如何写一个等式,考察原型 A.prototype.__proto__ = B.prototype
7.https可以做到防篡改防监听,是怎么做到的,原理是什么
8.commonJS和umd有什么区别
9.webpack怎么写插件和loader
10.想做到组件的样式隔离该如何做
11.样式隔离了,A组件嵌入了B组件,两个组件都加入了scoped,但是A想要修改B组件样式该如何修改
12.scoped背后是做了写什么事情,为什么可以实现这个隔离
13.写一个自定义vue组件,希望使用这个组件的人可以使用v-model实现双向绑定需要做些什么处理呢
14.打包分析工具分析出来了什么问题,优化了以后项目整体体积小了多少呢?
15.如何做到按需引入
16.有没有一种方式在开发阶段可以使用mockjs,但是在打包阶段可以不打包mockjs
17.如何封装的自定义指令实现图片懒加载的,如何监听什么时候加载 (在滚动的时候滚动到可视区域),如何监听元素到了可视区
18.template里面写了一个大胡子语法使用到了计算属性的值,计算属性其实是vuex的一个state,页面上点击的时候更改state的值,视图会进行更新,是为什么更新呢
19.响应式原理,说一下依赖收集是怎么收集的,在哪个阶段收集的,怎么判断页面是否引用了data里面的属性,什么时候遍历data中的属性实现数据劫持
这次感觉面试被碾压,也蛮多不会的,但是面试官会进行引导,如果问的题比较难的我不会的地方,面试官会降低难度一点点加深,考察一个思维能力,另外这次的面试体验很不错的地方就是面试官不是直接抛出一个问题,而是说给出一个场景题,然后引导我说出一些原理性的东西
另外非常棒的一点就是面试结束面试官直接说通过啦~~