一面
1、vue 里面的虚拟 dom 是怎么回事?
2、vue 双向绑定讲一讲
3、讲讲常用的 es6 语法,比如 let、promise、class 等等
4、css 实现图片自适应宽高
5、讲 flex,手写出 flex 常用的属性,并且讲出作用
6、BFC 是什么?
(1)BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
(2)BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
7、项目里面的前端鉴权是怎么实现的?
8、浏览器渲染过程,回流重绘等等,load、DOMContentLoaded 等等事件的触发顺序
9、手写函数防抖和函数节流
10、从小米应用商店里面随便找了一个需求让我现场实现,写伪代码
二面
1、express 框架的核心特性
(1)可以设置中间件来响应 HTTP 请求。
(2)定义了路由表用于执行不同的 HTTP 请求动作。
(3)可以通过向模板传递参数来动态渲染 HTML页面。
2、项目里面的鉴权和图片懒加载怎么实现的
3、vue-lazyloader 的原理,手写伪代码
4、事件循环
5、nodejs 的 eventEmitter 的实现
6、手撕代码。牛客题霸上的原题,可以去看看:NC5 二叉树根节点到叶子节点的所有路径和
7、如何更好的处理线上的日志?
(1)日志分级输出,可以分业务日志错误日志等
(2)可以把日志交给spring管理,定期扫描配置文件达到无需重启的目的,定位到原因就可以把级别调回去
(3)把日志放到WEB目录,通过权限限制外网直接访问,达到浏览器就可以查看日志
三面
1、说说项目里面做的事情
2、vue 的响应式原理、依赖收集、监听数组、虚拟 dom 等等
3、express 的中间件系统是如何设计的?
4、现场从小米应用商店中找出一个需求现场实现,说思路,写关键的代码
四面
1、vue-lazyloader 源码以及设计
2、websocket 握手过程
(1)客户端向服务器发送一个SYN J
(2)服务器向客户端响应一个SYN K,并对SYN J进行确认ACK J+1
(3)客户端再想服务器发一个确认ACK K+1
3、使用 es5 实现 es6 的 class
4、浏览器的事件循环和 nodejs 事件循环的区别
全部评论
(2) 回帖