他写出了 Vue,却作不对这十道 Vue 笔试题

 是新朋友吗?记得先点web前端学习圈关注我哦~

请原谅我起了这么个浓浓营销号味道的标题。但这可丝毫没有夸大宣传,而是前端娱乐圈今日份的瓜——
前端

有十道关于 Vue 的选择题,在群里引出了一众社区知名人士竞折腰,最后钓出了 Evan You 本人亲自挑战……vue

而后他本身也作错了(其中的某两道)。web

鲁迅会作错鲁迅文选的阅读理解?有截图为证:面试

因此,只要答对这十道题里的九道以上,你就实打实地(在作题这个维度上)超越了尤大,比他更懂 Vue 了噢!是否是很心动?算法

其实要求都不用这么高,只要作对六七道,就已经能够吊打一群小有名气的社区选手了。vue-router

因此到底都是些什么问题呢?你能够点击 [原题传送门] 前往观光,但为了表示敬意,这里特意手打了一遍搬运过来:shell

1. Vue 实例的 data 属性,能够在哪些生命周期中获取到?A. beforeCreateB. createdC. beforeMountD. mounted  
2. 下列对 Vue 原理的叙述,哪些是正确的?A. Vue 中的数组变动通知,经过拦截数组操做方法而实现B. 编译器目标是建立渲染函数,渲染函数执行后将获得 VNode 树C. 组件内 data 发生变化时会通知其对应 watcher,执行异步更新D. patching 算法首先进行同层级比较,可能执行的操做是节点的增长、删除和更新
3. 对于 Vue 中响应式数据原理的说法,下列哪项是不正确的?A. 采用数据劫持方式,即 Object.defineProperty() 劫持 data 中各属性,实现响应式数据B. 视图中的变化会经过 watcher 更新 data 中的数据C. 若 data 中某属性屡次发生变化,watcher 仅会进入更新队列一次D. 经过编译过程进行依赖收集
4. 下列说法不正确的是哪项?A. key 的做用主要是为了高效地更新虚拟 DOMB. 若指定了组件的 template 选项,render 函数不会执行C. 使用 vm.$nextTick 能够确保得到 DOM 异步更新的结果D. 若没有 el 选项,vm.$mount(dom) 可将 Vue 实例挂载于指定元素上
5. 下列关于 Vuex 的描述,不正确的是哪项?A. Vuex 经过 Vue 实现响应式状态,所以只能用于 VueB. Vuex 是一个状态管理模式C. Vuex 主要用于多视图间状态全局共享与管理D. 在 Vuex 中改变状态,能够经过 mutations 和 actions
6. 关于 Vue 组件间的参数传递,下列哪项是不正确的?A. 若子组件给父组件传值,可以使用 $emit 方法B. 祖孙组件之间可使用 provide 和 inject 方式跨层级相互传值C. 若子组件使用 $emit('say') 派发事件,父组件可以使用 @say 监听D. 若父组件给子组件传值,子组件可经过 props 接受数据
7. 下列关于 vue-router 的描述,不正确的是哪项?A. vue-router 的经常使用模式有 hash 和 history 两种B. 可经过 addRoutes 方法动态添加路由C. 可经过 beforeEnter 对单个组件进行路由守卫D. vue-router 借助 Vue 实现响应式的路由,所以只能用于 Vue
8. 下列说法不正确的是哪项?A. 可经过 this.$parent 查找当前组件的父组件B. 可以使用 this.$refs 查找命名子组件C. 可以使用 this.$children 按顺序查找当前组件的直接子组件D. 可以使用 $root 查找根组件,并可配合 children 遍历所有组件
9. 下列关于 v-model 的说法,哪项是不正确的?A. v-model 能实现双向绑定B. v-model 本质上是语法糖,它负责监听用户的输入事件以更新数据C. v-model 是内置指令,不能用在自定义组件上D. 对 input 使用 v-model,其实是指定其 :value 和 :input
10. 关于 Vue 的生命周期,下列哪项是不正确的?A. DOM 渲染在 mounted 中就已经完成了B. Vue 实例从建立到销毁的过程,就是生命周期C. created 表示完成数据观测、属性和方法的运算和初始化事件,此时 $el 属性还未显示出来D. 页面首次加载过程当中,会依次触发 beforeCreate,created,beforeMount,mounted,beforeUpdate,updated

明码标价,童叟无欺!作对九题便可成为前端懂王,比 Evan 懂,更比他们懂:数组

  • TC39 的 @贺师俊 50 分,他是否是走后门送礼进的 TC39 啊?微信

  • Vue Core Team 的 @胖茶 40 分,可能说明带他的 mentor 不懂 Vue?不过他第二次作就拿了 90 分……这很赘婿逆袭啊。markdown

  • 搞 React lite 的 @工业聚 作了两次,第一次 50 分第二次 30 分。怪不得他最近这么低调,看来是愈来愈作不动题了。

  • 久仰的白学家程序媛 @敖天羽 第一次拿了 60 分,而后持之以恒(没有灵魂)地刷到了 100 分。这种精益求精的态度值得赞扬。

  • 我(纯属厚脸皮凑数)60 分。

好在拜天哥所赐,咱们仍是刷出了「权威的」参考答案,请查收:

1. BCD2. ABCD3. BD4. B5. C // 据出题人勘误称答案应该是 D6. B7. C8. C9. C10. D

对照参考答案,尤大还进行了认真的复盘检讨,查缺补漏:

唉,身为 Vue 的做者,竟然连 Vue 的原理都没有搞清楚,实在太不该该了。应该让出题人好好教育一下他,帮他分析一下 Vue 的源码,教他怎么经过笔试面试,趁如今金九银十找份 P6 的好工做。工做之后也要记得充电,没事多关注一下掘金,学一学 Vue 3.0 的视频教程(狗头)。

因此按照今天的掘金体,本文彻底能够起这么个标题:《一步登天!答对这十道 Vue 题,你就能超越尤雨溪,傲视前端群雄!》

——但这不是很荒唐吗?

若是一我的某道题没答对,就能证实他不懂 Vue 了吗?

看看这些题,它们能准确反映答题者的水平吗?使用它们做为考察依据时,这两种状况都再常见不过了:

  • 假阳性 - 只会背题库的作题家也能混到好 offer。

  • 假阴性 - 公认的资深人士没法体现出优点。

这里不会去展开讨论具体哪题应该选什么,由于这早已不是这几道题的问题,而是国内整个「造火箭、拧螺丝」式面试文化的问题了。我曾经写过一个回答,逐条断定为何 Dan Abramov 配不上阿里 P7。你看身为 Redux 做者的 Dan 就很乐意告诉你:「我其实不懂不少东西,这没有什么关系」。而今天的例子里,咱们则收集到了更多国内一线的业界玩家们坦诚地告诉你:「这些题我也不会,这没有什么关系」——毕竟他们的核心竞争力,可都不是作题呀。

并非否定这些题目对初学者有必定的帮助做用。然而实际上,越是高级和资深的岗位,须要的越不是作题,而是对开放性(技术与非技术)问题的 Problem Solving 技能:

  • 应该怎样在框架设计上有所突破?

  • 应该怎样在几个性能指标间取舍平衡?

  • 应该怎样靠本身的开源项目盈利?

  • 应该怎样带领团队设定计划,完成目标?

你固然能够逃避这些「灵魂的拷问」,一直靠研究(或制造)那些已经被翻来覆去解答过无数遍的题来「磨练水平」。但无能否认的是,正是靠一群不停迎接真实世界挑战,持续解决开放问题的人们,才创造了今天业界繁荣生态的辉煌。

作题对于锻炼思惟固然重要,但它终归只是个跳板,不要把应试教育的思惟套用在职业生涯上。比作题更有价值的,最终必定仍是去作事——

  • 去业界前沿,去落地灵感!

  • 去参与社区,去贡献代码!

  • 去解决问题,去把手弄脏!

相比之下,十道咬文嚼字的题里对了几道错了几道,又有什么关系呢?

作题不至于误国,但必定是实干才能兴邦。

文中几位参与者的分数,公开前均征求过本人赞成。但愿不要所以误解他们的真实水平 :D

源自:https://juejin.im/post/6870737289736093710

声明:文章著做权归做者全部,若有侵权,请联系小编删除。

感谢 · 转发欢迎你们留言

本文分享自微信公众号 - web前端学习圈(web-xxq)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索