Fork me on GitHub

《BAT前端进阶[师徒班]》学习总结

这是一个培训课

是的,这是一个面向中级前端的培训班,但明显跟传统的填鸭式培训班不太一样。这边的老师都是大牛这是毫无疑问的,而且都是一线开发人员。而且课程一开始就说明了面向了是有1-3年有工作经验的前端,所以课程难度还是有些的,信息量也很大,需要自己充分消化吸收。

总体感受

说实话,由于课程难度比较大,我在试听了两节课之后有考虑过要不要继续下去(这边承若前几节课觉得不合适是可以全额退款的)。深思熟虑之后我还是想挑战一下自己。其实经过了前几节讲测试的课的懵逼状态之后慢慢感觉还好。主要是块过年放假了,有比较多的时间预习与复习。其中印象深刻就是有个练习要分别用ES5和ES6实现简单的观察者模式,那次的代码琢磨了好久,当然收获也不少。

由于过年之后换工作来杭州了,中间有一个月的课是没有充足准备的,这就使得听课效果非常不理想。由于整个课是面向中级前段的,每周只有周末上几个小时,所以很多东西不会讲那么细,需要自己提前充分预习,在课上提出自己的疑问,这样的学习效果才是最佳的。

课程内容回顾和知识点总结

  • 我在回顾的过程中把课程上所有的主要知识点列了出来,其中有些是有一定的理解了的,但自己还没系统总结过的,我定义为【待总结】,就是还需要写篇文章沉淀一下自己的理解的,另外有些是目前自己都还不能够说出个大概来的,我定义为【待深入理解】,我觉得凡是不能用自己的话讲出的知识点都不算是自己的,最后还有一类就是目前没有使用过的技术或者框架,暂时定义为【待学习】。
  • Javascript测试(待总结)
    • 因为之前几乎没接触过js测试相关的知识,刚开始还是挺懵逼的,不过随着课程的深入,知道了第一节课先讲测试是因为整个课程是以测试驱动的,我们之后的很多练习和作业都是以测试用例的形式完成,所以长见识了。
  • JS难点梳理一
    • this & 变量提升
    • 继承 (待总结)
    • 跨域 (待总结)
    • 模块化 (待总结)
    • 上面几个点是JS最最基础也是最核心的一些点,入行前端这么久肯定都或多或少接触过了,有些也零零散散做过一些笔记,但某某一个知识点总结性的笔记还没做过,所以想通过一片片文章来总结。
  • JS难点梳理二
    • 设计模式 (待深入理解)
    • 事件模型、事件处理机制
    • AJAX & fetch (待总结)
    • 这一块就AJAX理解的稍微清楚一点,设计模式概念理解上还比较抽象,事件模型和机制的文章之前有总结过一两篇
  • 前端模版和webpack
    • 前端模版 (待深入理解)
    • webpack (待总结)
  • 异步操作&正则表达式
  • 前端性能优化
    • HTTP 缓存相关 (待总结)
    • 客户端缓存
  • 加载相关前端性能优化和对象池设计模式
    • 加载相关前端性能优 (待总结)
    • 对象池设计模式 (待深入理解)
  • 上报&安全
    • 上报相关
    • 安全 (待总结)
      • XSS
      • CSRF
  • React
    • 这块目前没有实践过,没什么概念
  • Node.js
    • 这个就讲的比较泛了,有很多的内容,目前没有深入研究过,之后如果对其中某一个点有研究的话会写文章总结一下的
  • React深入
    • 由于没有实际用过React,所以其实挺无感的,之后有实际使用过之后再回来看吧
  • 面试
    • 关于面试,准备肯定是必要的
    • 关于之前工作经历,可能的话尽量用STAR面试法叙述,就是工作经验描述中包含情境(situation)、任务(task)、行动(action)、结果(result),要充分发掘自己所做项目的STAR,尤其是自己负责的某个细分领域,同时,在一个新项目到来时自己可以尝试做技术选型,你不是leader但你可以考虑leader要做的事,并可以跟leader沟通为什么要那样选型
    • 一定要有目标,并且要知道怎么做才能不断接近自己的目标,然后知行合一落地实践。人都是有惰性的,下意识的选择肯定是舒适安逸的。自己要有意识地克服。向上的路并不拥挤,只是大多数人都选择的安逸,真的是这样的,放任自己的本我下意识的选择就是安逸!
    • 选择比努力重要,现实中知道怎么努力比简简单单地努力更重要
    • 站在一个技术面试官的角度来说,基本要求就是:你进来我不累,你不会天天烦我,说白了就是能马上上手写代码
    • 还有,在描述自己优势的时候,你学习能力很强这不算是亮点,但是你能够讲出如何快速将一个陌生知识转化为自己知识并能够产生生产力的套路的话这就是一个很重要的能力

接下来的路

  • 记得之前某一节课上文坚老师有布置过一个作业,让我们思考自己的长期目标是什么,短期目标是什么,短期目标是否有助于长期目标的实现。我在之前的一篇文章中有总结过,现在想想,大体目标是没什么问题的,但是还应该更细化和落地。比如我的短期目标,就是完善前端的知识体系,那就是要多学、多实践、多沉淀。不要再仅仅做一个API工程师,得往里面深究原理了,落实到具体的行为就是每天要坚持看书、看技术博客,看源码分析了,没什么别的捷径,唯有坚持,别人之所以能当老师在上面吹牛逼因为人家曾经坚持每天学习三四个小时坚持三年,说实话挺厉害的。就目前来说就算加班晚一点每天一个小时的学习是绝对要办证的,目标不落实到行动那就永远是遥远的目标!
  • 要警惕马太效应,强者愈强,弱者愈弱,这都是一次次选择早就的!
  • 上面的每个大点基本上对应了每一节课的主要内容,后面的小点就是具体知识点。目前课程虽然已经结束,自己学到了多少通过总结心里是清清楚楚的,凡是那些连基本的总结都做不出来的肯定是没学好没理解的,我希望在接下来的4个月里沿着本课程的学习路径把这些知识点分别深入学习一下,保证每个知识点至少有一篇总结性文章,加油!
  • 其实整体回顾来看,课程结束了虽然我绝对算不上学的好的,而且当时我是鼓起勇气才花了差不多一个月工资报的这个名,但我不后悔当时选择继续坚持学了下来,因为整个课程收获的不仅仅是前端知识还有眼界和这个一起学习和交流的同行圈子。上课的两位老师无疑都是大牛级别的,但我这个愚钝的学生还是吸收的不够,所以接下来的时间就是一个一个的知识点去回顾,去吸收与总结。整个课程下来指出的那些个细化的知识点,对我来说也算是指引了一条道路。
  • 接下来的路不用考虑太多,既然当初选择了吃技术这碗饭,就先踏踏实实把底子打好先,等达到了技术的baseline才有资格考虑其他,加油!