游泳健身了解一下:
github
和小伙伴一起搞的日常总结
加油
我们总是听到从五年后看现在,但是我想说从五年后你想要成为的人,看自己,(请你一定不要停下来,成为你想要成为的人)。先2年规划,然后再逐步规划。不要抱怨,反思自己,不埋怨(就算埋怨也是无用功,你改变不了别人,你能改变的只有自己)。持续不断的学习(哪怕是阶段性)(只要持续不断)。我不喜欢别人说是金子一定就会发光的这句话,金子发光也是需要媒介的。所以一定不要急躁,一定不要急躁,一定不要急躁。只要脚不停,那么终点肯定就比别人远一点,(对于某些人正确的废话当然是废话,但是另一些人我觉得还是有说的必要的)
学会算账
假设你会一百个知识点,那么按10年收益计算100个收益对价格,100个知识点可以提高5k来算,那么每个知识点价格 5k1012/100每个题的收益就是 6k,卧槽这么一算是不是感觉很赚,每个知识点就可以赚那么多。
面试
如问vue watch和computed区别 怎么养回答可以让你得到90分呢?(通常回答知其然,知其所以然,可以拿高分)
可以从几个角度去讲,1是否缓存,但是为什么支持缓存,怎么实现的缓存呢?2.computed不能异步,watch可以异步,为什么呢?(其实也是因为,computed缓存了值的问题)
computed 实质上也是new了一个watch 不同的是 多了一个 lazy 的属性
computed 在watch.update 的时候只改变了,dirty 为 true(下面就会讲为啥会缓存)
watch 在队列里添加当前的this,进行一个异步的渲染
只有当dirty 为true 的时候当前才会去watch 里面去取新的值,否则用之前的值,而一调用之后 dirty 就会 false
所以大家会怎么回答呢,首先,回答 watch 和 computed区别 一个不能缓存一个可以缓存,一个可以异步一个不能异步 那么如果面试的人不问为什么可以缓存呢,我觉得你可以说原理是因为当前computed 多了一个lazy 为true 的属性,通过lazy 属性然后赋值dirty通过dirty 进行的一个缓存,而在watch的update里面lazy 为true 就只做了当前dirty为true,所以不能进行异步,而watch进行了一个队列,队列是通过nextTick 进行一个异步的渲染。我觉得这样回答可以拿到高分,知其然知其所以然,单单只说(一个不能缓存一个可以缓存,一个可以异步一个不能异步)就像背面试题,肯定不能拿高分。
最常见的问题是vue的原理知道吗?那么怎么实现的里面做了什么,update 的时候做了什么?依赖收集?我通常做法是画一个图,然后从observe 讲 compiler 里面做了啥,其中几个重要的点(1.发布订阅,2.队列,3.异步渲染),随着转行前端以及培训班越来越多,导致僧多肉少,所以从前几年好找工作,到现在都问原理源码,生活不易,所以大家努力
那么是你vue的原理你会怎么讲?
new vue 做了什么?流程?讲源码做了什么,首先是初始化了一堆set,watch ,emit,_update,destroy,render 等一堆api,初始化之后会初始化当前 initGlobalAPI ,util,use,mixin,extend,等,执行_init 方法,进行组件等初始化 api,root,refs,createElement等 然后就执行 beforeCreate生命周期,初始化data,然后执行 created 生命周期,所以我们在 created 里面可以拿到data 的数据,然后把我们的组件进行 mount 里面也做了很多事情 beforeMount 生命周期 updateComponent 页面渲染 => _render 函数的执行得到 VDOM mounted 生命周期
回答可以精简,希望可以了解
$mount
_init
结尾
不喜勿喷