瓴岳信息社招前端岗面试经历

一面

1、讲项目

2、怎么配 webpack

3、vue-lazyloader 的原理

1vue-lazyload是通过指令的方式实现的,定义的指令是v-lazy指令;

2)指令被bind时会创建一个listener,并将其添加到listener queue里面, 并且搜索target dom节点,为其注册dom事件(scroll事件)

3)上面的dom事件回调中,会遍历 listener queue里的listener,判断此listener绑定的dom是否处于页面中perload的位置,如果处于则加载异步加载当前图片的资源;

4)同时listener会在当前图片加载的过程的loadingloadederror三种状态触发当前dom渲染的函数,分别渲染三种状态下dom的内容;


4、前端持久化的方式、区别

5、手写 vue 双向绑定;

6、讲 es6 的一些特性,并且现场出了几个代码片段,说结果

1letconst命令:let命令,用来声明变量。类似于var,但是所声明的变量,只在let命令所在的代码块内有效。const命令的用法和let相似,最大不同点就是:const声明一个只读的常量。一旦声明,常量的值就不能改变。(提示:这个不可改变的是指针,所以对于const声明的对象和数组还是可以改变的。如果真的想将对象冻结,应该使用Object.freeze方法。)

2)变量的解构赋值:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。

3ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。



7、手写一道算法题

8、http 状态码


二面

1、讲项目

2、vue-router 的原理

3、项目中怎么用的 webpack,怎么优化

4、讲一讲 express 的实现原理

1express的所有服务端逻辑处理都是通过中间件来实现的,中间件是一个函数,而app.use()方法就是去装载这些函数,并放入一个数组中。

2)当前端一个请求传到服务器的时候,首先会经过request,然后是一系列的服务端处理,也就是中间件处理,存放于数组中的中间件采用后进先出的栈模式处理请求,最先入栈的中间件处理完请求之后,通过next将执行权交给第二个入栈的中间件,依次类推,直到数组末尾或者中间某个中间件没有调用next()函数,最后再将处理完的结果response回前端。


5、手写一道算法题

#面经##社招##前端工程师##洋钱罐(瓴岳科技)#
全部评论

相关推荐

2 10 评论
分享
牛客网
牛客企业服务