个人前端面试

前言

此次找工做也面了好几家公司,也经过了好几家公司的面试,毕竟以前也准备了一段时间,因此面试的时候内心也不是很虚。css

这里记录一下面试过程当中被问到的问题,不过从面试第一家公司开始到最终入职,已经有一个多月的时间了,因此有些问题已经想不起来了,这里只记录一些我还记得的问题。html

一家创业公司(鱼泡泡)

一、问怎么判断数据类型?前端

instanceof, Object.prototype.toString().call()vue

二、问instanceof是什么意思?接着问原型链等等react

三、什么是闭包?webpack

四、柯里化了不了解?es6

五、怎么实现 new 方法?web

六、用过promise 哪些方法?promise怎么实现的?面试

七、解释一下eventloopajax

八、ajax 怎么实现的?

九、解释一下koa洋葱模型

只记得这些了。。

贝壳找房

先作一套题,主要考察this、eventloop、dom的事件机制,还有一些编程题(字符串去重,继承, es6, css等等),而后对着这套题,各个都延伸问了一下。

后面是对着简历开始问了:

一、作的项目介绍一下,聊了很久。。。

二、vue的mvvm的实现原理

主要就是双向绑定的依赖收集,触发更新的实现

三、vue虚拟dom的diff算法原理

四、双向绑定的触发更新到真实dom更新这个过程是怎么实现的?(当时没答出来)能够参考这里

五、问了一些react的问题,我react不熟。。

六、问了webpack的一些loader以及plugin的用法,好比处理less文件须要哪些loader,url-loader和file-loader是干嘛用的,用过哪些plugin,干吗用的。

七、聊了一下babel和Node

八、有什么须要问的?面试官介绍了一下贝壳找房上海侧的业务

触宝

一、实现es6的flat()方法

二、实现dom的事件委托

三、0.5px的竖线怎么实现?

四、promise相关问题

五、es6 哪些新特性?聊了一下解构赋值,async、await等等,let 和 var的区别(变量提高)

六、性能优化有哪些方法?扯了一堆

七、CommonJS和es6 module区别

八、浏览器强缓存和协商缓存

九、三栏布局怎么实现?圣杯布局和双飞翼布局,BFC

还有一些问题暂时想不起来了。。。

二面 就聊了一下项目和经历、以及兴趣等等,面试官介绍了一下触宝的业务

小红书

一面

一、聊项目,聊了好久

二、import 按需加载问题,按需加载的组件chunk什么时候加载,经过什么方式加载?

按需加载的chunk在dom更新时须要加载这个组件的时候才会去服务器上请求这个chunk文件,经过相似jsonp的方式进行加载。

三、打开页面时,若是app.js已经加载完成,而vendor文件尚未加载好,而app.js显然是依赖vendor, 为何执行app.js不会报错?

这个是由webpack打包以后chunk文件中掺杂的webpack runtime代码控制实现的(后面又聊了一下webpack runtime)

四、作一些编程题,主要是es6以及原生js相关的

五、聊了一下前端性能优化

六、css Module了解吗?less的scoped怎么实现的

还有一些记不得了。。。

二面

一、Vue的MVVM原理,动态组件

二、vuex用法和原理,vuex和mvvm的不一样(双向数据流和单向数据流)

三、聊了一下Vue和react的区别

四、babel的原理

五、前端优化的思想,比较抽象,瞎聊。。

三面

一、介绍项目,聊了一会。

二、一些功能设计的题目,就是给一个具体需求的场景,怎么实现这个功能,不是很难。

三、各类聊。。

ps: 整体上,小红书的面试体验是最好的,面试官都很客气,聊得也很愉快。

拼多多

一面

一、实现sleep()方法

二、Vue router有哪些模式? 是怎么实现的?为何切换路由,页面不会刷新?

hash和history两种模式,实现原理主要仍是从依赖收集和触发更新两个方面说。

三、webpack的代码分割怎么实现的?

四、说说刚才提到的CommonsChunkPlugin和splitChunks的区别

五、前端缓存怎么实现?(扯扯强缓存和协商缓存,重点问了ETag如何实现缓存)

二面

一、就聊了项目。。。

ps: 拼多多的面试体验应该是最差的,特别是二面(是个leader吧)很是高冷,交流上很不畅,有点不耐烦。。

头条

一面

一、先作一套题,css、eventloop、this、算法题(不是很难)等等,而后一题一题挨个问,作一些延伸。

二、new 的实现

三、promise的原理

四、写一个类,简单实现Vue的event bus的发布订阅功能

五、webpack相关的,loader和plugin,代码分割,跟以前几家公司问到的相似

六、babel原理,还问了一些es6语法转es5怎么实现

七、Node相关的,作过哪些项目

二面

一、聊项目

二、Vue 的MVVM原理

三、一些组件功能设计的问题

四、实现二叉树的宽度优先遍历

五、元素水平垂直居中有哪些方法

六、ajax的原理,以及XMLHttpRequest

七、Vue和react的区别

八、各类聊。。

三面(北京视频面)

一、聊项目

二、各类聊。。

相关文章
相关标签/搜索