假如你没有明确的目标,或许能够按照我说的学习路线来学习一波,我写的每一份学习路线,不会很全面,由于我认为,东西列的太多,反而不利于新手的学习,因此我列举的,都是比较必要的知识,当你把这些知识学了的时候,我相信你不须要别人的学习路线,也能知道本身接下来须要学啥了。javascript
前端和后端相比,须要学习的知识仍是要少不少,若是你要入门后端,你能够要学习一大堆只是,可是你入门前端,只要把 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/
书籍这里看这里
目前前端用的比较多的主要有 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,快入经过视频了解,感受几个小时或者一两天就够了。
不管你是走什么岗位,数据结构都是必须学习的一门课程,从面试的角度来说,面试基本比问,特别是校招;从我的的提高上来看,学好数据结构与算法,可让你走的更远。
可是,数据结构与算法这玩意,可深可浅,不过我以为至少得掌握以下基础知识:
一、时间复杂度、空间复杂度
二、链表、队列、栈
三、树:初级:二叉树,查找二叉树,进阶:AVL树,红黑树等,至少掌握初级吧。
四、图(图有好多种算法,深度/广度搜索,最短路径、最小生存树等),对于图,其实不管是面试仍是工做,都挺少用到,学起来也有必定难度,假如你时间很少,我以为能够先不学。
不过若是你是科班的,那么这些我以为你大一第二学期把这些都学完是最好的了,没学完也问题不大,有些人多是先教《离散数学》这本课,为数据结构与算法作铺垫。
书籍推荐:你学过 JavaScript,因此能够用 Javascript 来写这些数据结构,至于书籍,其实我也不知道推荐啥,网上根据目录找一本:
把基础数据结构学了以后,我以为你要保持刷题,这个仍是挺重要的,例如能够天天保持刷一两道,刚开始刷会挺吃力,但后面熟练了,就会快不少,不过不少人在吃力的那会,就放弃了,因此也就有了人与人之间的差距。
我以为至少把《剑指 offer》刷完吧,刷完以后,能够去把 leetcode 中 top 100 的热门题作了。
固然,若是你想更加系统着学习算法,能够看我以前写的算法学习路线:谈一谈算法学习之路
另外就是强烈推荐这份 GitHub 80+K 的刷题笔记:
不管是前端开发仍是后端开发,说到底都是数据经过网络在多台主机之间的交互,并且对于前端,计算机网络的知识,用的可能比后端还多,特别是 HTTP 这块,因此呢,计算机网络必须好好学,并且还得重点学。
入门我推荐《图解 HTTP》,不过看完这本我以为还不够,能够看《计算机网络:自顶向下》这本书,多看两遍,之后面试就能够和面试杆上了。
一边看一边犯困怎么办?
个人建议是,硬着头皮死磕一边,由于根据读者的反馈,确实有挺多人跟我说这玩意看着好困,不过我当时学习的时候,看着好带劲,就是了解了不少缘由,很爽,然而事实是,有些人,看着倒是一种煎熬,,,,学计算机网络,就一条主线:理解一台计算机是如何找到另一台计算机,而且把数据交付给他的,或者你能够看我这篇科普文章:一文读懂一台计算机是如何把数据发送给另外一台计算机的
书籍都整理好了:少走弯路,必读计算机经典书籍推荐(含下载方式)
我也写过一份计算机网络的入门教程:
学前端,基本每天和浏览器打交道,由于网页上的各类界面,都是由浏览器来渲染的,因此仍是很是有必要学习一下浏览器相关的知识。
若是你在浏览器按 F12,会出现一个「调试」的界面
里面有不少东西,例如各类网络请求数据,各类脚本数据,感兴趣的话,能够去研究研究。
那么具体要学习哪些呢?
我以为至少得了解一下本地 cookie ,localStorage,SessionStorage 存储吧,还有就是,如何查看一个 http 的请求状态,浏览器关闭后会作哪些处理之类的。
总的来讲,就是,从咱们发起一个 http 请求,到页面展现如初,浏览器都经历了哪些逻辑处理?
学完了上面这些,能够学一些帮助咱们更好着构建一个前端项目的工具,比较常见的有以下几种:
Node.js:这个必须学,主要就是能够帮助咱们很快着构建出一个 web 项目,一条命令就搞定了,入门能够在慕课网看视频,我以前看过一个,顺便推荐一下:
进阶或者更甚层次了解,通常都得看书,本身网上搜一本吧。
Webpack:不一样浏览器对 JavaScript 的特性支持的不一致,能够经过构建工具把 JavaScript 代码转换成浏览器能支持的。使用构建工具也可以作到性能优化,好比压缩代码,这个 webpack 能够了解一下,在之后作项目的过程当中,仍是常常用到 node.js 和 webpack 的,我以为刚开始会使用就好,后面遇到问题了,在经过问题驱动的方式去深刻了家。
这里讲一下学习顺序的问题,就是说学习了 html + css + javascript 以后,我是先学习前端的一些框架好啊,仍是学习数据结构与算法好啊,仍是学习计算机网络,浏览器工做原理好呢?
我以为这个和你时间有关,假如你仍是大一大二的话,学校会有数据结构,计算机网络的课程,我以为跟着学校的顺序学就行,而后的话,像刷题,我以为有些东西同时作并不会存在矛盾,例如我就建议刷题这个时期,长期保持,而后一边作其余的。
总的来讲,我以为也能够按照我说的这个学习顺序来学,而后算法那一块,当你学习了 Javascript 以后,就能够穿拆整个过程了。
学完这些,均可以去面试了,固然,也别忘了刷一刷八股文,能够看看这些PDF,跟着学:图解操做系统、网络、计算机组成 PDF 下载!
再次强调,这篇文章不是让你成为大神的,学完也不是多厉害,而是,给处于大学迷茫、不知道学啥的你,一个方向,不管你是不是科班,如标题所说,普通/大众。不过我相信,当你学完了这些,你应该会有本身的学习方向了。
最后,是但愿各位还在校的学生,大一能够好好浪,但也要保持应有的学习时间,以后,就好好学习吧。无论你是名校仍是非名校,我以为你在只要这几年认真学,进大公司的概率,真的很是大,这绝对不是鸡汤。
还有就是,以上说到的书籍,均可以在这个 GitHub 上无套路下载到:编程的优质书籍整理