instanceof,Object.prototype.toString().call()
2、问instanceof是什么意思?接着问原型链等等
3、什么是闭包?
4、柯里化了不了解?
5、怎么实现new方法?
6、用过promise哪些方法?promise怎么实现的?
7、解释一下eventloop
8、ajax怎么实现的?
9、解释一下koa洋葱模型
只记得这些了。。
先做一套题,主要考察this、eventloop、dom的事件机制,还有一些编程题(字符串去重,继承,es6,css等等),然后对着这套题,各个都延伸问了一下。
后面是对着简历开始问了:
1、做的项目介绍一下,聊了好久。。。
2、vue的mvvm的实现原理
主要就是双向绑定的依赖收集,触发更新的实现
3、vue虚拟dom的diff算法原理
5、问了一些react的问题,我react不熟。。
6、问了webpack的一些loader以及plugin的用法,比如处理less文件需要哪些loader,url-loader和file-loader是干吗用的,用过哪些plugin,干嘛用的。
7、聊了一下babel和Node
8、有什么需要问的?面试官介绍了一下贝壳找房上海侧的业务
1、实现es6的flat()方法
2、实现dom的事件委托
3、0.5px的竖线怎么实现?
5、es6哪些新特性?聊了一下解构赋值,async、await等等,let和var的区别(变量提升)
6、性能优化有哪些方法?扯了一堆
7、CommonJS和es6module区别
8、浏览器强缓存和协商缓存
9、三栏布局怎么实现?圣杯布局和双飞翼布局,BFC
还有一些问题暂时想不起来了。。。
二面就聊了一下项目和经历、以及兴趣等等,面试官介绍了一下触宝的业务
一面
1、聊项目,聊了很久
2、import按需加载问题,按需加载的组件chunk何时加载,通过什么方式加载?
按需加载的chunk在dom更新时需要加载这个组件的时候才会去服务器上请求这个chunk文件,通过类似jsonp的方式进行加载。
3、打开页面时,如果app.js已经加载完成,而vendor文件还没有加载好,而app.js显然是依赖vendor,为什么执行app.js不会报错
这个是由webpack打包之后chunk文件中掺杂的webpackruntime代码控制实现的(后面又聊了一下webpackruntime)
5、聊了一下前端性能优化
6、cssModule了解吗?less的scoped怎么实现的
还有一些记不得了。。。
二面
1、Vue的MVVM原理,动态组件
2、vuex用法和原理,vuex和mvvm的不同(双向数据流和单向数据流)
3、聊了一下Vue和react的区别
4、babel的原理
5、前端优化的思想,比较抽象,瞎聊。。
三面
1、介绍项目,聊了一会。
2、一些功能设计的题目,就是给一个具体需求的场景,怎么实现这个功能,不是很难。
3、各种聊。。
ps:总体上,小红书的面试体验是最好的,面试官都很客气,聊得也很愉快。
1、实现sleep()方法
2、Vuerouter有哪些模式?是怎么实现的?为什么切换路由,页面不会刷新?
hash和history两种模式,实现原理主要还是从依赖收集和触发更新两个方面说。
3、webpack的代码分割怎么实现的?
4、说说刚才提到的CommonsChunkPlugin和splitChunks的区别
5、前端缓存怎么实现?(扯扯强缓存和协商缓存,重点问了ETag如何实现缓存)
1、就聊了项目。。。
ps:拼多多的面试体验应该是最差的,特别是二面(是个leader吧)非常高冷,交流上很不顺畅,有点不耐烦。。
1、先做一套题,css、eventloop、this、算法题(不是很难)等等,然后一题一题挨个问,做一些延伸。