Four years of university, recommended books for each stage of study (necessary for less detours)

Shuaidi has just graduated for a year and has studied computer for four or five years, sharing a wave of computer books that he feels are relatively high-quality.

1. Data structure and algorithm

Getting started: "Aha Algorithm", "Data Structure and Algorithm Analysis: xx Language Description Edition"

Improvement: "The Beauty of Programming", "Sword Finger Offer", "Programmer Code Interview Guide: The Optimal Solution of IT Famous Companies' Algorithms and Data Structure Problems", "Algorithm 4"

2. Computer network

For zero basics, read "How the Network Is Connected" first, and then read "Computer Network Automatic Up", these two books are enough.

3. Operating system

I feel that "Modern Operating System" is enough. If you have zero basics and want to learn the principles of operating systems and computer components, then you can read "How does a program run", then "Modern Operating System", and then "In-depth understanding" "Computer Operating System" is a celestial book, this celestial book contains the knowledge of operating system + computing group, just pick it up and read it.

4. MySQL

Introduction: "MySQL Must Know and Know", Advanced: "MySQL Technology Insider InnoDB Storage Engine", these two books are similar, but I feel that it is not enough to cope with it. Some knowledge points should be combined with some articles. If it is for an interview, I personally feel that there is no need to read "High Performance MySQL".

5. Go language

Getting started: "Learning Go Language", learning Go Web: "Go Web Programming"

6. C language

Getting started: "C Primer Plus" (it may be a bit difficult to have zero foundation, if you think it is difficult, see "C Programmer Involves Language")

Advanced: "C and pointers", I think the core of the C language is to understand pointers

7, C++

Getting started: "C++ Primer"

Advanced: "In-depth exploration of the C++ object model", "more effective C++", "C++ programming ideas"

8. Java

Getting started: "Java Core Technology Volume 1"

Advanced: "Java Programming Thoughts"

Multithreading: "The Art of Java Concurrent Programming", "Java Concurrent Programming Practice"

Virtual machine: "In-depth understanding of the Java virtual machine"


Getting Started: "Bird Brother's Linux Private Kitchen"


Crawler: "Writing Web Crawlers in Python"

Data analysis: "Python Data Processing", "Python Data Analysis Actual Combat"

Python: "Programming Xiaobai's First Python Introductory Book", "Python Network Programming Fundamentals", "Python Advanced Programming"

12. Front end

HTML+css+JS: "HTML5 and CSS3 Basic Tutorial", "JavaScript Advanced Programming"

Other: "Node.js Development Guide"

13. Design patterns

"Illustrated Design Patterns"

14. Artificial Intelligence

"Python Learning Method for Bayesian Thinking Statistical Modeling", "TensorFlow Practice and Intelligent System"

15, compilation

You don’t need to learn too deeply, just get started. Read "Assembly Language" (Wang Shuang is almost there)

16, Git

Getting started: "Quick Start Git", it seems that you don't need to learn Git very deeply, just check it when you need it

Books can be found here: Recommendations of various computer books

Author concise

Author: Hello, everyone, I am Shuai Di. I have come from university and self-study all the way. I know the importance of algorithms and basic computer knowledge . The author of the official account " Handi Play Programming " has 100,000 fans. I specialize in writing these low-level knowledge and improve it. Our internal strength, handsomely look forward to your attention, study with me, click to understand my four-year university study road reprint instructions : without authorization, prohibit reprinting