整个面试过程持续了1个小时,里面有很多问题都没回答起来,但面试官却一直在引导我,换一种方式的问题再问我,可能平时写业务代码太不注重原理和架构方面的东西了吧。我大概还记得问了什么,记录下,空了得好好去看看。

小程序篇:
1、小程序如何做到数据和view层事实变更的。
这个基本回答出来了
setdata的js逻辑层和view层通过jsbrage

2、小程序是如何拿到原生api比如vieo 和 相册功能的
算是回答出来了吧
通过小程序暴露出来的js-sdk,如何拿到没回答上,
继续问:
拿到的是手机原生自带的还是小程序自己封装的呢?

3、小程序加载主包的页面,和加载分包的页面分别经历了什么?

4、template最多能嵌套几层。

5、路由最多能跳转几层

6、如何实现mixin

vue篇:

1、父组件嵌套子组件,加载他们的触发哪些钩子以及顺序

2、provide 和 inject的 数据具有双向绑定的作用吗

3、如果有一个长数组,不想全部监听所有的数据,如果做到
提示:有听过object.freeze吗

4、a嵌套b,b嵌套c,c嵌套d,如果要监听d里面的某一个数据变化,需要怎么设计(此题应该算js篇,大概是这么问的,有点忘记了,也没太听懂)
一开始是问,比如一个场景是可视化动态加载组件,
如何能知道一个嵌套比较深的组件被更改了。

5、vue.nexttick的实现原理
这个被问过两次了,之前去搜索了下,发现都是什么eventloop啊,异步更新这样的,或者更多是是使用场景,实际原理,我真没去看过,
后来又问,有没有一个降级的方案
害,,,
还是不知道
痛定思痛,今天开车等红绿灯的时候,都忍不住去搜索下这个api的源码,确实看见了降级的说法。
大概看了下有这么一个api,该属性提供一个构造函数MutationObserver()
通过new MutationObserver()可以得到一个新的观察器,它会在触发指定 DOM 事件时,调用指定的回调函数。
哎,有空再去看吧,今天超忙,还要对接口呢。。。

6.computed和watch的使用场景
幸亏没问源码,如果问源码,估计又gg了

js篇:

1、promise的实现原理

2、class的实现原理

3、继承中常见的组合继承,为何要手动修改constructor,其作用是什么

最后的结局问题:
webpack或者gulp等打包工具,或者web-app的性能优化问题
9点准时进入umeet视频面试,大约前面20分钟的时候,就有问题就回答不上了,但面试官没有立刻结束,还是不停的会其他问题,真的很感动,最后问了几个简单的基础问题,幸亏都回答上了。
接下来大概聊了下,说我已经6年开发经验了,所以他是按照p7的标准来面试我的,不仅要会用,更要用架构和原理上面的东西。我说虽然有6年,但由于是转行,前面1年基本是布局,第2年开始慢慢接触跟后端对接口,用jq写小插件,所以进步会比别人慢很多,哎,当然这些都是借口啦。。。
不管是自己是否是业务场景不够,还是半路出家,人家不会管的哦,只会看你确实已经有6年开发经验了。
结果晚上做梦,梦见也在面试。。。
一晚上没睡好。。。
家里两只猫一只猫还在打呼噜把我吵醒,心累的生活。

不管怎么样,第一次面试滴滴,虽然1面感觉比阿里的1面难太多了,但遇见一个这么好的面试官,一切都是值得的。


健儿
79 声望4 粉丝

掌握好原生js。