Don't ask me what books and online courses I recommend, this time I have contributed all the materials I have kept for a long time (part 1), I recommend collecting!

Usually, many readers and friends ask if there are any online courses recommended for study books? Today, I summarized a programmer-related book and online course based on my own learning experience and the experience of a few friends around me.

1. C language


The first book "C Programming Language" , Machinery Industry Press, author Brian W. Kernighan / (United States) Dennis M. Ritchie. Written by the father of the C language, an introduction classic book, I suggest that you be the first book for introduction to C language.

"C Primer Plus" , People's Posts and Telecommunications Press, author Stephen Prata. It can be used as a C language reference book, or as an introduction. The content is step-by-step and can exercise programming ideas.

"C and pointers" have a deep understanding of pointers, and no longer be afraid of pointers after reading it.

"C Pitfalls and Defects" as the book said, "The knowledge disclosed in this book can at least help you reduce 90% of the bugs in C code and elementary C++ code." After reading it, you can avoid some pitfalls in C language development.

Online class

1. "Hao Bin C Language Self-study Course"

2. "Introduction to Programming-C Language" (Zhe Da Weng Kai)

2. C++


"C++ Primer Chinese Edition" , this book is for beginners of C++ language, it is a very friendly self-study textbook. The author clearly stated the basic concepts of the C language and the programming details that need to be paid attention to, and the routines and exercises are rich. I believe that after reading it carefully, you can complete the goal of getting started with the C language.

"Guide to high-quality programming" , recommended by cracked walls, this book is more enjoyable to read. There are some programming specifications in the book, which is good for programmers. It can cultivate good coding habits and deepen it. Some consolidation of knowledge. It is more practical and suitable for taking a look before the interview.

"Essential C++ Chinese Edition" is a small but practical C++ introductory book, emphasizing quick start and understanding of C++ programming. This book mainly focuses on a series of increasingly complex program problems and the language features used to solve these problems. You will not only learn C++ functions and structures, but also their design purpose and basic principles.

"More Effective C++ (Chinese Edition)" , the book revolves around 55 principles, each of which introduces a method that allows you to write better C++ program codes, and discusses them in detail with specially designed examples.

"Programming Techniques to Improve C++ Performance" , this book believes that 20% of performance defects will take up 80% of our time. So we focus our energy on the most valuable places. This book discusses in detail the details of temporary objects, memory management, inheritance, virtual functions, inlining, reference counting, and STL that may improve the efficiency of C++. Whether you are a practitioner in a related field, a C++ programming enthusiast, or a programming enthusiast who is eager to break through programming bottlenecks and greatly improve your self-improvement, this book will definitely benefit you a lot.

"Learning C/C++ from Defects", in essence, this is a collection of C/C++ wrong questions. The book includes 63 errors caused by problems, that is, defects in the title of the book. It is also a guide to avoiding pits.

"C++ Templates Chinese Edition" , a practical book for in-depth understanding of modern C++ templates. This book is not only an authoritative explanation of C++ templates, but also an in-depth introduction to other general C++ ideas.

"STL Source Code Analysis", to understand the underlying implementation mechanism of STL in detail, and at the same time, you can have a deeper understanding of commonly used data structures and C++ memory management.

Online class

1. Tsinghua University-Zheng Li-C++ Language Programming (Basics)

2. Eight Steps by Teacher Hou Jie (Recommended by Cracked Wall)

3. QT video tutorial

Related materials in the article, click to download

3. Java


"Head First Java, 2nd Edition (Chinese Edition)" This book is not only rich in content, interesting and easy to understand, but also covers all the basic knowledge related to Java. If you are a Java beginner, this book is for you. ,

The writing style of "Java Core Technology (Volumes 1, 2)" is more traditional than Head First. It covers basic knowledge of Java and advanced applications, which is another choice for entry.

"Java Programming Thoughts (4th Edition)" must-read, not only covers all Java basics, but is also very helpful for the improvement of programming thinking.

"Head First Design Patterns" continues the vivid and interesting writing style of Head First, introduces 23 design patterns, and is recommended as an introductory book of design patterns.

"Effective Java Chinese Edition (Second Edition)" 78 practical and valuable experience rules in Java programming, these rules of experience cover the solutions to the problems that most developers face every day.

"Refactoring: Improving the Design of Existing Code" comes from Martin Fowler  's masterpiece, the only way to write excellent code.

"In-Depth Understanding of Java Virtual Machine " comes from icyfenix and can be used as an introductory book to understand JVM and Java memory management.

The author of "Java Virtual Machine Specification (Java SE 7 Edition)" is one of the main contributors to the Java programming language. If you want to learn JVM systematically, comprehensively, and in-depth, you must not miss this book.

"Enterprise Application Architecture Mode" comes from Martin Fowler 's masterpiece, a classic work of software design and architecture.

"Distributed Java Application: Basics and Practice" comes from Taobao Daniel bluedavy , recommended as an introductory book for learning distributed applications.

Online class

1. A zero-based introductory tutorial for Java that you can learn (designed for Java novices, and made by Master Kong with all his strength)

2. Weng Kai Java programming

3. Shang Silicon Valley Maven Video (Introduction to Maven Zero Foundation)

4. [Crazy God speaks Java] The latest and complete Spring5 tutorial IDEA version is easy to understand

4. Python


"Python programming, from entry to practice", this should be the world's best-selling Python programming book, not one of them. The English name is "Python crash course". The author, Eric Matthes, is a high school teacher. It is precisely because of his rich teaching experience that he wrote such a popular book. After reading the catalog of this book, I have basically covered the core grammar of python. After learning, you can do some small things, such as data analysis, visual programming, web development, etc.

"Python Learning Manual", the book has been published in the fifth edition, the explanation of the grammar is very detailed, and there are rich illustrations and sample codes. Details sometimes mean long-winded. Many people think the author is too trivial, but in fact they don't understand the author's good intentions. If you want to learn python well, you really have to think about the grammar carefully.

"The Stupid Way to Learn Python", the book guides beginners step by step from downloading the software, to installation, configuration, writing the first hello world, and finally implementing a useful little software or interesting little game, and finally learn and like it Go to python.

"Smooth Python", Douban 9.4 points! This book is not a python grammar book in a popular sense, but teaches you to write more concise, more standardized, and smarter python code.

"Effective Python: 59 effective ways to write high-quality Python code", there are 59 Python programming skills and shortcuts in the book, and they are explained with real code examples. Of course, there are some barriers to reading, suitable for those basic children's shoes.

"Python Cookbook", the cookbook series has always been a boutique, python is no exception, suitable for friends with basics, it talks about a lot of python programming skills and tricks, and it can be read for a long time for senior developers.

Online class

1. Getting started with python on Mukenet

2. Advanced Python

3. Use python to play with data

4. Python3 data analysis tutorial actual data

5. Go


"Go Programming Language" , Allen AA Donovan. Just think of this book as a textbook, many of which are written in great detail.

"GO Web Programming" mainly introduces how to use GO for web development. It is a book translated from abroad. It introduces how to develop web projects in Go through the net/http standard library. It is very pure and you can read this book soon. Finished, it is not difficult, but it is necessary to read it.

"Go Study Notes" , Yuhen's book, is really study notes. It summarizes the Go language very well. Each chapter is very exciting, but it is best to read this book with some Go experience, otherwise it will be a bit boring, because The text descriptions are all click-to-stop;

"GO Language Advanced Programming" , covering high-level topics such as CGO, Go assembly, RPC implementation, Web framework, distributed system, etc.;

"Go Language Actual Combat" , read this book after you have a certain GO foundation;

Online class

1. Golang Learning Manual: Take you through the Go language in 21 weeks

2. The full set of Go language core programming tutorials in Silicon Valley (from theory to practice)

3. Dark Horse Go Language Basic + Advanced + Advanced Employment Class

6. Data structure and algorithm


"Algorithm Graphic" , this graphic book does have a breakthrough, it is easy to understand and not boring. Although they are all entry-level algorithms, it becomes clear after the author sorts them out. I think this is a good introduction to algorithms.

"Dahua Data Structure ", to do line-by-line analysis and multi-algorithm comparison of some classic algorithms involved in data structure. Compared with similar data structure books on the market, the content of this book is interesting and easy to read, and the algorithm explanation is meticulous and profound. It is a book very suitable for self-study.

"Algorithms (4th Edition)" , the latest edition of Sedgewick's best-selling book, comprehensively discusses the algorithms and data structures of sorting, search, graph processing, and string processing, covering 50 algorithms that every programmer should know and understand.

"Data Structure and Algorithm C++ Edition" is a classic textbook for data structure and algorithm analysis. The mainstream programming language C++ is used as the specific implementation language in the book. The content of the book includes tables, stacks, queues, trees, hash tables, priority queues, sorting, disjoint set algorithms, graph theory algorithms, algorithm analysis, algorithm design, amortization analysis, search tree algorithms, kd trees and paired heaps, etc. It is suitable as a textbook for computer-related undergraduates' data structure courses and postgraduates' algorithm analysis courses.

"Challenge Programming Competition" , this book is suitable for all programmers, programming competition enthusiasts, and college computer professional teachers and students to read.

"Introduction to Algorithms" , in the career of IT professionals, this book is a necessary reference book or engineering practice manual for the desk.


1. Hao Bin data structure

2. Data structure and algorithm foundation

3. Data structure-Zhejiang University

7. Computer network


"Illustrated TCP/IP" , a network management technology book with both pictures and texts, is suitable for getting started. It simplifies complicated knowledge points so that readers can understand the basic knowledge of TCP/IP and master the basic skills of TCP/IP.

"Illustrated HTTP" is suitable for getting started. The HTTP knowledge point is a necessary test point for school recruitment. With a large number of vivid communication legends, it can better help readers to deeply understand the interaction between the client and the server in the HTTP communication process. Readers can use this book to quickly understand and master the basics of the HTTP protocol. The front-end engineers analyze the captured data, and the back-end engineers implement REST API and implement their own HTTP server. The HTTP related knowledge points required in the process are introduced in this book.

"How does the computer run" , "How does the program run" , "How does the network connect" , author Yazawa Hisao, these three books are Turing classic computer basic books, all of which are in the same style. And the representative of beauty. It is more friendly to beginners, and the pictures are quite rich and easy to understand.

"Computer Network: Top-Down Method" , this book is one of the classic computer network textbooks. It uses the author's top-down method to teach the principles and protocols of computer networks, focusing on principles and practices.

"TCP/IP Detailed Explanation Volume 1" , the first edition of Volume 1 is better, the first edition is not as thick as the second edition, the content of the first edition is completely sufficient, and the second edition has been expanded, it seems to be a book" Big head book".


1. Computer network micro classroom

2. Han Ligang Computer Network Xie Xiren 7th Edition

At last

Share a PDF summary of a friend’s boss, 15W words, and a total of 500 hand-painted pictures, more than 440 pages, gained the recognition and support of many readers, this PDF helped many people in the interview, many people got it Offers from major manufacturers such as Ali, Tencent, and Byte.

Graphical network, click to get

Graphical network, click to get

Related materials in the article, click to download