二面
上来做自我介绍一分钟
1.防抖节流的区别
2.讲一下闭包
3.JS垃圾回收机制
回答了标记清除、和引用计数,又问引用计数法有什么缺点
4.只用过Vue本身吗?回答用过VueX和Vue-router,让介绍一下Vue-router
5.Vue是怎么个根据Vue-router的路由实现渲染组件的?
6.直接修改Vue中data的数据,界面和dom会不会相应改变?如果修改的data是一个简单数据类型会怎么样?如果修改的是对象内的一个数据呢?
7.用的是Vue的什么版本?Vue2的数据监听是怎么监听的?
回答了Vue的响应式原理,主要介绍了Object.defineProperty和发布/订阅者模式两个方面
8.有用过发布/订阅者模式吗?大概怎么实现的
9.如何遍历一棵树?
10.一棵树改了一个值,怎么找到改了哪个节点?两棵相同的树其中一个改了一个节点,怎么查找?时间复杂度多少?
11.不告诉改变了几个节点,怎么找?时间复杂度多少
如果要修改会是O(n3)
12.Vue怎么判断dom节点发生了改变?又让介绍一下diff算法
13.diff一定可以节约性能吗?
由于Vue的diff算法是同层级比较的,所以如果是不同层级出现可复用的组件就不能被复用,所以此时性能会低
14.手写快排,写完之后说一下思路
15.手写树的遍历,写完之后说一下思路
最后反问了一下上海这边部门的主要技术栈
三面
聊天为主,问平时的学习以及前端一些基础知识
没有算法题,问了一道24点的智力题
全部评论
(7) 回帖