前端第一课4-如何制定学习路径?
本系列课程连续更新中~(周更),历史文章:
前端第一课1-导读:https://www.nowcoder.com/discuss/591374637926191104
前端第一课2-如何制定合适自己的目标:https://www.nowcoder.com/discuss/593945680381558784
前端第一课3-如何调整好心态:https://www.nowcoder.com/discuss/598575031895048192
前端学习网站:https://fe-journey.cn
在开始我们的正式课程内容之前,我们先花一点点时间梳理一下学习路径。“工欲善其事必先利其器”,我们不妨先思考一下,面试过程中,面试官关注候选人的哪些素质:
1. 候选人的考察维度
面试过程中,面试官主要的考察内容其实包括以下几个维度:
- 专业知识
- 个人素质
2. 学习路径
由于前端领域的知识在大学里面的相关课程比较少,所以很多需要依赖我们自学。而我们自学的途径主要包括视频、书本、知识点、项目、实习和刷题。下面我们将分别详细地介绍一下这几种学习途径:
2.1. 视频
近几年前端相关的视频课程越来越丰富,主要的视频来源有Bilibili、网易云课堂和MOOC等,由于B站上资源比较丰富,最近“学习在B站”的说法也越来越流行。
(1)优势
- 时效性:视频学习的方式优势就是有讲师讲解演示,对于编程类学习,通过视频跟练的方式,学习效率也更高。同时由于有些书本的出版年份较为久远,书本内的样例和知识跟不上技术迭代的速度。
- 学习效率:视频课程由于是视觉、听觉两方面的刺激,相对于书本来说,更容易专注,且专注学习的时长也会更久。
(2)如何学习
- 倍速和回看:视频课程的另外一个优势是可以倍速和反复观看,不懂的地方可以反复琢磨
2.2. 书本
如果想要深入、系统地学习某一个领域知识的话,那么我的答案一定就是书本。这里可以推荐几本我读过前端领域比较优秀的书:《你不知道的JavaScript》、《JavaScript DOM编程艺术》、《高性能JavaScript》、《深入浅出Node.js》、《编程之美》、《代码整洁之道》等。
(1)优势
- 知识深度:书本一般都是围绕一个话题深入探讨,因此在知识深度上相对于视频或者文章上有着不可取代的优势。围绕书本命题能够给出全面且详细地解答。
(2)如何学习
- 带着问题阅读:可以找自己感兴趣的话题去阅读书籍,比如想要对如何开发高性能的JS代码感兴趣,那么可以带着这个命题去阅读,并且根据书本和自己的理解给出自己的答案。
- 应用:“纸上学来终觉浅,绝知此事要躬行”,书本里面介绍的一些技巧和方案最好要结合实践的应用,以达到最佳的学习效果。
2.3. 知识点(八股文)
很多面试中,基础知识点的考察是必不可少的一环,对于很多同学来说,对知识点(八股文)的学习方式非常熟悉,就像是考前老师画的重点一样,xx是必考题,答案就在那,爱背不背。
对于面试官而言,知识点上来不会加分,但是没回答上来妥妥的扣分。对于部分面试官,则可能会在问知识点的基础上深挖关联的知识点,或者给出一些场景问题来考察候选人对知识点是否真的理解。
举个简单的例子,JS的事件循环基本属于必考题,部分面试官会直接问,部分面试官会顺着事件循环问一些JS执行、垃圾回收等问题,还有一些面试官会问setTimeout定时器为什么会不准确。这些都是常见的考察方式。
(1)优势
- 面向知识点学习最大的优势就是,面试真的会考,也算是效率(投入产出比)最高的学习路径了。
(2)如何学习
- 理解:知识点就在那,理解了背后的机制就理解了。一个问题不管换什么样的方式考察,背后指向的依旧是这个知识点。只有真正掌握了,才可以对答如流。
- 关联起来:知识点的提问方式虽然多变,但好处是可枚举,如果面经刷的多了,也可以直接暴力破解:问问题的方式就那么多,我都看了,你还能咋问?
2.4. 项目/实习经验
项目或者实习工作经验其实是面试中主要考察的环节。因为项目是众多知识点实践的集合,在项目中可以直接考察候选人的基础、技术深度。
(1)优势
- 做项目/实习:项目是技术应用的最佳场地,通过项目能够将知识点应用到实际的场景,解决实际的问题。如果只是知识点背好,并没有特别大的优势,但如果基础好的前提下,项目有挑战度、有思考,则是和其他候选人拉开差距的根本。
(2)如何学习
- 技术规范:由于公司内项目由团队开发完成,因此编写高质量、可维护的代码是候选人的基本要求,项目过程中需要注重代码的简洁、美观和可读性。
- 技术应用:本质来说,产品是技术的应用场地,技术让产品更好的服务用户。因此,项目应该关注如何用技术更好地解决实际问题,因此,技术预研、实践、甚至创新是项目中最重要的部分。
2.5. 刷题
日常开发工作中,算法的应用是比较常见的,小到数据结构的基本处理,大到系统的算法实现,算法复杂度和项目的性能体验高度相关。刷题的话可以先从《剑指offer》入手,里面比较详细地介绍了一些基础的数据结构和常见的算法题。且书本内有比较详细的原理介绍,对于新手是比较友好的上手方式。
进阶的话可以从LeetCode的Easy和Medium难度刷起来,Hard的场景出现的比较少,如果你很感兴趣的话可以做一做,面试如果出现Hard问题,可能是一种劝退的信号。
(1)优势
- 代码性能:刷题不仅关注能否实现,也要关注算法复杂度,是高性能代码的最佳实践,刷题有助于理解语言特性,对以后工作大有帮助。
(2)如何学习
- 无他,唯手熟尔:算法刷题只能够通过大量的练习和理解实现,所以只能够通过频繁练习实现。
3. 总结
本节介绍了学习前端和应对前端面试常见的途径以及各自的优点和方式,那么日常应该如何组合这些学习途径,如何安排他们的顺序呢?我们将在下一节中介绍。
#23届找工作求助阵地##我发现了面试通关密码##牛客解忧铺##牛客在线求职答疑中心##前端#此专刊的名为《前端开发Offer全攻略》,我希望这个专刊能够“一站式”解决新人技术小白到拿到校招offer顺利入职的全部攻略~ 前端开发岗位在校招过程中会有学习路径规划、学习方向、简历制作、面试知识点、面试攻略到offer选择这些流程,里面会遇到各种困难和瓶颈。我希望这篇专刊能够对求职前端开发岗位的同学提供一些我的知识点总结和想法,帮助大家获得心仪的offer!