If you do not have clear goals, may be able to learn as I said route to learning a wave, I write every learning course, is not very comprehensive, because things too much,, I think it is bad for beginners learning, so I listed, are needed to compare knowledge, when you put the knowledge learned, I believe that you don’t need others’ learning route, You’ll know what you need to learn next.
First, the entry front three musketeers
There’s still a lot less to learn about the front end than there is about the back end, so if you want to get started on the back end, you can learn a lot about the back end, but if you get started on the front end, as long as you learn HTML + CSS + JavaScript, you’re pretty much ready to get started on the front end, and you can use those three things, Write a lot of beautiful interactive pages, let’s talk about the learning of these three knowledge.
1, the HTML
HTML is quite simple to learn, no matter whether you have programming foundation, I think can be started quickly, for beginners, I recommend looking for an introductory video to look at, and then follow the video playing code is ok, introductory tutorial casually in class for what it is ok to find a free video network, random search “introduction to HTML”, Or see a beginner tutorial tutorial also line.
After watching the video, you can also take a look at the text version of the tutorial, I don’t know if you have seen ruan Yifeng wrote the tutorial, I think he wrote a great tutorial, so HERE I also recommend you to take a look at ruan Yifeng wrote the HTML tutorial, may let you understand more thoroughly: wangdoc.com/html/
We do not have high eyes, must follow the video or books on the case Code, Code writing editor, I recommend VS-Code, anyway, choose one of your favorite editor, now these editors have a lot of plug-ins, such as VS-Code these editors, with a good one can write a variety of languages of Code.
2, CSS,
There’s nothing to say about it, it’s a complement to HTML, and while you’re learning HTML, you’re also learning CSS all the time, so once you learn HTML, it feels like you can learn CSS in a couple of hours, again, I recommend a quick start video.
HTML is a tag language, and there are all kinds of tags in it. Many beginners may forget these tags after learning them, and some may ask, what if I always forget them?
You don’t need to memorize these tags. You just need to have an idea in your mind that when you implement a function, you know that HTML has a tag that can do that function, and then you can go to the tutorial and use that tag.
Use the number of times, also remember, so learn HTML and CSS, must be a lot of practice, literally open a web page, to the gourd, write a similar to it can be.
3, JavaScript,
JavaScript is a little more difficult than HTML and CSS, but if you have a basic knowledge of other programming languages, such as C, Python, Java, etc., JavaScript can be done in a few minutes during the semester.
In front of HTML and CSS, I recommend you to find a video to get started quickly, but for JavaScript, if you are not very tight time, then I recommend you to use books to learn systematically, some knowledge, while there is time, must be systematic learning, so that you can lay a deep foundation, if you feel difficult, You can also use the video to get started quickly, and then go back to the books, through a system, through systematic learning, you will understand a lot of principles, learn a lot of design ideas, I read a “JavaScript advanced programming”, feel good, recommend this one.
Once you’ve learned JavaScript, you can learn ES6, which seems to be frequently asked in interviews. Check out ruan yifeng’s introductory tutorial: wangdoc.com/es6/
Books here look here
Less detours, must read classic computer books recommended (including download method)
Second, the framework
At present, the main front-end uses are Vue and React. Before learning the framework, you must first use HTML + CSS + JavaScript to do some projects, because the underlying implementation of these frameworks is actually implemented by JavaScript. However, There are people who know how to use Vue but don’t know how to use JavaScript. This is obviously inappropriate. Only if you have experienced HTML + CSS + JavaScript can you better understand the benefits of Vue and React.
But for a beginner, can learn the Vue, Vue might be a better introduction, before internship, Vue was forced to study for a few days, I saw it first in class for net quick start, it is not difficult to learn, is easy to forget the details, an introductory course to: www.imooc.com/coursescore…
Baidu cloud or I also do a good job, VUE entry + actual combat: VUE entry tutorial
But if you look at the course, if you’re going to work on a project, you’re going to have a lot of problems, especially with the web requests, and you’re going to be able to understand some of the principles as you work through them.
To what extent?
Half of my advice for beginners is to follow a tutorial, go through it, work on the project, and then search for whatever you come across without worrying about how much you’ve learned.
I recommend Vue. However, after learning Vue, if there is time, I suggest learning React and fast-forward through videos. I think a few hours or a day or two is enough.
Third, data structure
No matter what position you take, data structure is a course you must learn. From the perspective of interview, the interview is more basic than asking questions, especially in college recruitment; On a personal level, learning data structures and algorithms will go a long way.
However, data structures and algorithms can be deep or shallow, but I think at least the following basics are essential:
1. Time complexity and space complexity
2, linked list, queue, stack
3, tree: primary: binary tree, find binary tree, advanced: AVL tree, red black tree, at least grasp the primary.
4, graph (graph has many kinds of algorithms, depth/breadth search, shortest path, minimum survival tree, etc.), for the graph, in fact, whether it is an interview or a job, very little use, learning also has a certain difficulty, if you do not have much time, I think you can not learn first.
But if you’re in the class, I think it’s best that you finish all of this in the second semester of your first year, and it’s ok if you don’t, and some of you might teach discrete Mathematics first, to prepare for data structures and algorithms.
You’ve learned JavaScript, so you can write these data structures in JavaScript. I don’t know what books to recommend.
After the basic data structure, I think you want to keep brushing, this is very important, for example, you can keep brushing one or two every day, at the beginning of the brush will be very difficult, but after skilled, will be a lot faster, but a lot of people in the difficult that will give up, so there is a gap between people.
I think at least finish “Sword Point Offer”, after brushing, you can go to leetCode top 100 hot topic.
Of course, if you want to be more systematic about learning algorithms, you can see the algorithm Learning Route I wrote earlier: Talking about the Algorithm Learning Path
I highly recommend this GitHub 80+K brushing note:
Two months to get 70K star, the first byte of great god brush notes
4. Computer network
Whether it is front-end development or back-end development, in the final analysis is the data through the network between multiple hosts interaction, and for the front-end, computer network knowledge, may be used more than the back-end, especially HTTP, so computer network must be good to learn, but also focus on learning.
For an introduction, I recommend Illustrated HTTP, but I don’t think that’s enough. You can read Computer Networking: Top To bottom twice, and you’ll be able to get on the interview pole.
See at the same time how to get sleepy?
My advice is to crustily skin of head into one side, because, according to the reader’s feedback, there are quite many people told me this thing looked very sleepy, but when I was learning, good at nip, is to know a lot of reasons, very comfortable, the fact is, however, some people, looking at is a pain,,,, to learn the computer network, is a common thread: To understand how one computer finds another computer and delivers data to it, or you can read my article on how one computer sends data to another computer
The books are all sorted out: Avoid detours and be a must read.
I also wrote an introduction to computer networking tutorial:
0. Introduction to Computer Networking
1. Introduction to the five-layer computer network model
2. How can the communication parties ensure that messages are not lost?
3. What’s the difference between hub, switch and router?
4. What is TCP Congestion Control?
5. What is TCP Flow control
6. What is the TCP three-way handshake?
7. What is TCP four wave?
8. What is HTTP?
9. What is HTTPS?
10. What is SSL/TLS protocol?
11. What is DNS?
12. What is DHCP?
13. What is a broadcast routing algorithm?
What is a digital signature?
15. What are SQL injection attacks?
16. What are XSS attacks?
5. How the browser works
Learn front end, basic daily contact with the browser, because the various interfaces on the web page, are rendered by the browser, so it is very necessary to learn the browser related knowledge.
If you press F12 in your browser, a “Debug” screen will appear
There’s a lot of stuff in there, like all kinds of network request data, all kinds of script data, if you’re interested, you can explore it.
So what exactly are we going to learn?
I think we should at least know about local cookies, localStorage, SessionStorage, and how to check the status of an HTTP request, and what happens when the browser closes, and so on.
Basically, what logic does the browser go through between the time we make an HTTP request and the time the page is displayed?
Six, advanced
After learning the above, you can learn some tools to help us better build a front-end project, the more common are the following:
Node.js: This is a must learn, mainly to help us quickly build a Web project, one command is done, you can get started on moOCs video, I have seen one before, by the way recommend:
Advanced or more level understanding, generally have to read a book, his Internet search.
Webpack: JavaScript features supported by different browsers are inconsistent. Build tools can be used to convert JavaScript code into what browsers can support. In the process of doing projects in the future, I still often use Node.js and Webpack. I think it is good to use them at the beginning. When I encounter problems later, I will go deep into home through the problem driven way.
7. Learning sequence
Here to talk about the problem of learning order, that is to say, after learning HTML + CSS + javascript, I first learn some front-end framework ah, or learning data structure and algorithm ah, or learning computer network, browser working principle is good?
I think this time with you, if you are still a freshman sophomore year, the school will have a data structure, computer network course, I think just follow the order of the school to learn, and then, like a brush, I don’t think there are some things to do at the same time there are contradictions, such as I have suggested to brush the topic in this period, keep for a long time, and then do other side.
In general, I think you can learn it in the same order as I said, and then the algorithms, once you’ve learned Javascript, you can deconstruct the whole process.
After learning these, you can go to the interview, of course, also don’t forget to brush the eight-part essay, you can see these PDF, follow learn: Illustrated operating system, network, computer composition PDF download!
The last
Again, this article is not to make you become a great god, learning is not more powerful, but, in the university confused, do not know what to learn you, a direction, whether you are the class, as the title says, the general/public. But I’m sure that when you’re done with this, you’ll have something to learn.
Finally, I hope that you are still in school students, freshman can be good waves, but also to maintain the due study time, after that, good study. No matter whether you are a famous school or not, I think your chances of getting into a big company are really very big if you study hard in the past few years. This is not chicken soup.
Also, all of the books mentioned above are available for download at GitHub: A great collection of programming books