Yesterday, a fan sent me a message to say that I have been a programmer for more than two years, and the basic is CRUD, I feel that there has been no improvement

Asked me how to get out of this predicament, I believe that this situation is far from a person, before helping fans to do a mock interview, I found that not only one or two years of rookies, a lot of do three to five years of veteran birds are basically only a CRUD.

Cause there are many reasons for this, but I think the most important or after a lot of people into employment has become a company of a brick, where need to move, and no thinking of self-improvement, want to be free from code farming dilemma as architects, just every day to write code is certainly can’t do business, you need to continue to learn to organize to induction.

Based on this fan’s question, THERE are only two books that I recommend for your peers who are stuck in the business code mire, and you don’t have time to read more. I won’t say I’m a new person, but AT least I’ll know what programming really is.

Head First Design Patterns and Data Structures and Algorithm Analysis: Description of the Java Language (3rd edition), these books are all written in The Java language, but they have nothing to do with Java. You can think of these books as inner secrets, that is, these books will help you understand the nature of programming, no matter what language you are using. You’ll see programming on a whole new level.

These books I have a collection of e-book edition, friends need to pay attention to the public number: North you learn Java, reply [722] can be free.

Head First Design Mode

This book is so interesting and illustrated that it is infinitely easier to understand than the one of the Gang of Four.

The head First series in Computer world reminds me of the Nerd series. In the new episode The Big Bang Theory, Lennerd also has a book when he is learning football. The only thing we can do is practice.

Reading this book is not just learning knowledge, but learning a way of thinking, learning a cognitive skills, learning a ladder of growth. In short, use your free time to read the book as much as you are focused on your work or study.

Data Structure and Algorithm Analysis: A Description of the Java Language (3rd edition)

Nowadays, programmers are filled with functions, classes, libraries, and apis that are encapsulated by others, and we think that programming is nothing but building blocks, that other people have provided the materials, and don’t worry about how the materials are made.

Is that true? Anyone who says data structures and algorithms are useless, it’s because they can’t be used. Why not? His hierarchy means that he will not be exposed to the most critical and core part of programming — the algorithm.

Leaving aside the seemingly perverted questions that reflect the power of algorithms, and the 2006 issue of the Programmer, how do we build a mathematical model of a problem? When we want to complete high-speed data processing under limited hardware conditions, how to design? When we develop software for our customers, can we guarantee that the surge in data will not lead to exponential growth in computing over the next few years? When we need to upgrade server memory and hard disk, can we change a few functions to avoid hardware investment?

The answers to these questions are to be found in this book.

Table, stack, queue, tree, graph and other basic data structures the author did not spend much effort to describe, but focus on the application of these data structures, each conclusion is given a detailed mathematical proof, in the process of reading, we can feel the beauty of logical thinking contained in the ingenious. To borrow a feature from GOOGLE’s bulletin board, the algorithm is “the beauty of mathematics.”

Is not to say that this book is very perfect, some chapters to be too general, bouncing feeling is too strong, read chapter 9 of the network flow problems, for example, introduced the too simple, in the process of derivation is omitted many steps, the augmented path algorithm is too thick, as to estimate flow pushing algorithm (Push – Relabel) did not mention, is a small gap.

summary

Want to achieve self improvement in addition to reading good books, but also recommended to read more JDK source code, such as String, StringBuffer, ArrayList, HashMap, etc., etc., these often used in the process of writing code, it is recommended to read the source code.

It’s easy to get rid of the habit of copying code at work, but it’s really a code farmer. You just replace the bricks with code, refactor as you go, rewrite as you go, and think about how to write beautiful, maintainable code.

Three and a half months, and trust me, it won’t make a difference.

Finally, “Head First Design Pattern” and “Data Structure and Algorithm Analysis: Description of Java Language (original book 3rd edition)” ebook attention public number: North You learn Java, reply [722] can get free can get.