适合普通大学生的前端学习路线

假如你没有明确的目标,或许能够按照我说的学习路线来学习一波,我写的每一份学习路线,不会很全面,由于我认为,东西列的太多,反而不利于新手的学习,因此我列举的,都是比较必要的知识,当你把这些知识学了的时候,我相信你不须要别人的学习路线,也能知道本身接下来须要学啥了。javascript

1、入门前端三剑客

前端和后端相比,须要学习的知识仍是要少不少,若是你要入门后端,你能够要学习一大堆只是,可是你入门前端,只要把 HTML + CSS + JavaScript 这三门知识学习了,就基本差很少入门前端了,而且能够利用这三门知识,写出不少漂亮的交互页面,下面讲一讲这三门知识的学习。css

一、HTMLhtml

html 学起来仍是挺简单的,不管你是否有编程基础,我以为均可以快速入门,对于新手,我推荐找个入门的视频看一下,而后跟着视频打代码就能够了,入门教程随便在慕课网啥找个免费的视频就能够了,随便搜索「html入门」便可,或者看菜鸟教程的一个入门教程也行.前端

看完视频,也能够看一下文字版的教程,不知道你们有没有看过阮一峰写过的教程,我以为他写的教程都很棒,因此这里我也推荐下你们看一下阮一峰写的这份 HTML 入门教程,可能可让你理解的更加透彻:https://wangdoc.com/html/vue

你们切勿眼高手低,必定要跟着视频或者书籍上的案例打代码,写代码的编辑器,我推荐 VS-Code,反正选一款你喜欢的编辑器就行,如今这些编辑器都有不少插件,像 VS-Code 这些编辑器,用好一款就能够写各类语言的代码了。java

二、CSSnode

没啥好说的,和 HTML 相辅相成,你在学习 HTML 的过程当中,其实也一直都在接触 CSS,因此你学了 HTML 以后,感受几个小时就能够学完 CSS 了,仍是同样,推荐找个视频快速入门,很少说。webpack

html 是一门标签语言,里面有各类各样的标签,不少初学者学了以后可能就把这些标签忘了,有人可能会问,总是忘了怎么办?es6

忘了就忘了,没事的,不须要强行记住这些标签,你须要的是:脑子里有个印象,当你这实现某个功能的时候,你知道 HTML 有某个标签能够实现这样的功能就能够了,而后翻开对应的教程,你可以根据教程使用这个标签便可。web

用的次数多了,也就记住了,因此学完 HTML 和 CSS,必定要多多实践,随便打开一个网页,对着葫芦画瓢,本身写一个和它相似的就能够了。

三、JavaScript

比起 HTML 和 CSS,JavaScript 会难一些,不过若是你有其余编程语言基础,例如学过 C 语言,Python 或者 Java 啥的,那学期 JavaScript 也是分分钟的事。

前面的 HTML 和 CSS,个人推荐你们找个视频快速入门便可,可是对于 JavaScript,假如你时间不是很紧,那么我推荐你用书籍系统学一下,有些知识,趁着有时间,必定要系统学,这样能够打下很深的底子,若是你以为难的话,也能够先用视频快速入门,以后再回过头来钻研书籍,系统过一遍,经过系统学习,你会明白不少原理,学到不少设计思想,我看过一本《JavaScript 高级程序设计》,感受还好,就推荐这一本吧。

学了 JavaScript 以后,能够学一学 ES6,面试貌似也常常会问到,能够看一看阮一峰写的一份入门教程:https://wangdoc.com/es6/

书籍这里看这里

image-20210611114857332

少走弯路,必读计算机经典书籍推荐(含下载方式)

2、框架

目前前端用的比较多的主要有 Vue 和 React ,在学习框架以前,必定要先用 HTML + CSS + JavaScript 这些作一些项目,由于这些框架的底层实现,其实就是 JavaScript 实现的,然而,竟然还有人知道如何使用 Vue,但没学过 JavaScript,这显然不合适,只有你体验过 HTML + CSS + JavaScript ,你才能更好着明白 Vue 和 React 的好处。

不过对于初学者,能够先学习 Vue,Vue 可能更好入门一些,以前实习的时候,被迫学习了几天的 vue,我是在慕课网先快速入门看的,学起来不难,就是细节容易忘,入门课程直达: https://www.imooc.com/coursescore/980

或者百度云我也搞好了一份,vue入门+实战:Vue 入门教程

不过你看了课程以后,你去作项目的话,其实仍是会遇到好多问题的,特别是在网络请求那块,在解决问题的过程当中,你就能更加理解一些原理了。

学到什么程度?

对于初学者,个人一半建议就是,跟着一份教程,过一遍,而后作对应的项目便可,以后遇到啥,就去搜索啥,不用纠结这个学到什么程度。

Vue 和 React 随便选一个重点学习便可,我推荐 vue,不过学了 Vue 以后,有时间的话,我建议能够了解下 React,快入经过视频了解,感受几个小时或者一两天就够了。

3、数据结构

不管你是走什么岗位,数据结构都是必须学习的一门课程,从面试的角度来说,面试基本比问,特别是校招;从我的的提高上来看,学好数据结构与算法,可让你走的更远。

可是,数据结构与算法这玩意,可深可浅,不过我以为至少得掌握以下基础知识:

一、时间复杂度、空间复杂度

二、链表、队列、栈

三、树:初级:二叉树,查找二叉树,进阶:AVL树,红黑树等,至少掌握初级吧。

四、图(图有好多种算法,深度/广度搜索,最短路径、最小生存树等),对于图,其实不管是面试仍是工做,都挺少用到,学起来也有必定难度,假如你时间很少,我以为能够先不学。

不过若是你是科班的,那么这些我以为你大一第二学期把这些都学完是最好的了,没学完也问题不大,有些人多是先教《离散数学》这本课,为数据结构与算法作铺垫。

书籍推荐:你学过 JavaScript,因此能够用 Javascript 来写这些数据结构,至于书籍,其实我也不知道推荐啥,网上根据目录找一本:

把基础数据结构学了以后,我以为你要保持刷题,这个仍是挺重要的,例如能够天天保持刷一两道,刚开始刷会挺吃力,但后面熟练了,就会快不少,不过不少人在吃力的那会,就放弃了,因此也就有了人与人之间的差距。

我以为至少把《剑指 offer》刷完吧,刷完以后,能够去把 leetcode 中 top 100 的热门题作了。

固然,若是你想更加系统着学习算法,能够看我以前写的算法学习路线:谈一谈算法学习之路

另外就是强烈推荐这份 GitHub 80+K 的刷题笔记:

图片

两个月斩获 70k star,前字节大神刷题笔记

4、计算机网络

不管是前端开发仍是后端开发,说到底都是数据经过网络在多台主机之间的交互,并且对于前端,计算机网络的知识,用的可能比后端还多,特别是 HTTP 这块,因此呢,计算机网络必须好好学,并且还得重点学。

入门我推荐《图解 HTTP》,不过看完这本我以为还不够,能够看《计算机网络:自顶向下》这本书,多看两遍,之后面试就能够和面试杆上了。

一边看一边犯困怎么办?

个人建议是,硬着头皮死磕一边,由于根据读者的反馈,确实有挺多人跟我说这玩意看着好困,不过我当时学习的时候,看着好带劲,就是了解了不少缘由,很爽,然而事实是,有些人,看着倒是一种煎熬,,,,学计算机网络,就一条主线:理解一台计算机是如何找到另一台计算机,而且把数据交付给他的,或者你能够看我这篇科普文章:一文读懂一台计算机是如何把数据发送给另外一台计算机的

书籍都整理好了:少走弯路,必读计算机经典书籍推荐(含下载方式)

我也写过一份计算机网络的入门教程:

0. 计算机网络入门简介

1. 计算机网络五层模型入门

2. 通讯双方如何保证消息不丢失?

3. 集线器、交换机与路由器有什么区别?

4. 什么是 TCP 拥塞控制?

5. 什么是 TCP 流量控制

6. 什么是 TCP 三次握手?

7. 什么是 TCP 四次挥手?

8. 什么是 HTTP?

9. 什么是 HTTPS?

10. 什么是 SSL/TLS 协议?

11. 什么是 DNS?

12. 什么是 DHCP ?

13. 什么是广播路由算法?

14. 什么是数字签名?

15. 什么是 SQL 注入攻击?

16. 什么是 XSS 攻击?

5、浏览器工做原理

学前端,基本每天和浏览器打交道,由于网页上的各类界面,都是由浏览器来渲染的,因此仍是很是有必要学习一下浏览器相关的知识。

若是你在浏览器按 F12,会出现一个「调试」的界面

image-20210409131708209

里面有不少东西,例如各类网络请求数据,各类脚本数据,感兴趣的话,能够去研究研究。

那么具体要学习哪些呢?

我以为至少得了解一下本地 cookie ,localStorage,SessionStorage 存储吧,还有就是,如何查看一个 http 的请求状态,浏览器关闭后会作哪些处理之类的。

总的来讲,就是,从咱们发起一个 http 请求,到页面展现如初,浏览器都经历了哪些逻辑处理?

6、进阶

学完了上面这些,能够学一些帮助咱们更好着构建一个前端项目的工具,比较常见的有以下几种:

Node.js:这个必须学,主要就是能够帮助咱们很快着构建出一个 web 项目,一条命令就搞定了,入门能够在慕课网看视频,我以前看过一个,顺便推荐一下:

进阶或者更甚层次了解,通常都得看书,本身网上搜一本吧。

Webpack:不一样浏览器对 JavaScript 的特性支持的不一致,能够经过构建工具把 JavaScript 代码转换成浏览器能支持的。使用构建工具也可以作到性能优化,好比压缩代码,这个 webpack 能够了解一下,在之后作项目的过程当中,仍是常常用到 node.js 和 webpack 的,我以为刚开始会使用就好,后面遇到问题了,在经过问题驱动的方式去深刻了家。

7、学习顺序问题

这里讲一下学习顺序的问题,就是说学习了 html + css + javascript 以后,我是先学习前端的一些框架好啊,仍是学习数据结构与算法好啊,仍是学习计算机网络,浏览器工做原理好呢?

我以为这个和你时间有关,假如你仍是大一大二的话,学校会有数据结构,计算机网络的课程,我以为跟着学校的顺序学就行,而后的话,像刷题,我以为有些东西同时作并不会存在矛盾,例如我就建议刷题这个时期,长期保持,而后一边作其余的。

总的来讲,我以为也能够按照我说的这个学习顺序来学,而后算法那一块,当你学习了 Javascript 以后,就能够穿拆整个过程了。

学完这些,均可以去面试了,固然,也别忘了刷一刷八股文,能够看看这些PDF,跟着学:图解操做系统、网络、计算机组成 PDF 下载!

最后

再次强调,这篇文章不是让你成为大神的,学完也不是多厉害,而是,给处于大学迷茫、不知道学啥的你,一个方向,不管你是不是科班,如标题所说,普通/大众。不过我相信,当你学完了这些,你应该会有本身的学习方向了。

最后,是但愿各位还在校的学生,大一能够好好浪,但也要保持应有的学习时间,以后,就好好学习吧。无论你是名校仍是非名校,我以为你在只要这几年认真学,进大公司的概率,真的很是大,这绝对不是鸡汤。

还有就是,以上说到的书籍,均可以在这个 GitHub 上无套路下载到:编程的优质书籍整理

相关文章
相关标签/搜索