Objective
I decided to write a passage, that is, for this article. The reason to write this article, due to the microblog often friends asked, to graduate to find a job, how to prepare for the algorithm. Although it has been simply combed on Weibo, as shown:
But because of the word limit, this article focuses on the following: How to quickly prepare the algorithm in the interview, by the way, recommend some related books or materials.
Five steps to prepare for the algorithm in an interview
Overall, the algorithm for preparing for a job interview is divided into five steps, as follows:
1, preferred you have to make sure you have mastered a programming language.
In the case of C, it is recommended to Dennis M. Ritchie & Brian W. Kernighan, "C programming Language", and "C and pointers";
C + + recommends "C + + Primer", "Deep Exploration of C + + object Model", "effective C + +".
It is not easy to master a language, not to finish a book, the details of the language needs to be skilled in the constant programming practice.
2, over the Microsoft interview 100 series
Since 2010, I began to organize Microsoft interview 100 series, see the topic is not much, but no matter how the change, still is those common questions and research points, of course, do not examine any knowledge points, purely to examine the topic of programming ability is not uncommon. However, regardless of the ever-changing, always two points: ① to see your basic knowledge of the situation; ② programming basic skills.
And when you look at Microsoft Interview 100 (not required to finish), you will realize: the importance of data structure and algorithm in the written interview.
3. The basis of the bitter complement data structure
If you learn the data structure, you can see that we study in the University of any of the data structure of the textbook, if you feel really not enough on the grade, then you can see the "STL Source analysis."
4, look at the introduction of algorithms
Most of the chapters in the introduction to the algorithm explain some of the classic data structures and typical algorithms (such as binary search, quick sort, hash table), and some advanced data structures (such as red-black trees, B-trees), and if you've learned a data structure textbook, it's recommended that you focus on greed, dynamic planning, Graph theory and so on, each of these 3 topics is subject to great problems.
If the algorithmic introduction is not understood, you can read this blog.
5, brush Leetcode or cc150 or programming art Series
such as mainly in foreign search for work, recommended two interview programming site: One is Http://leetcode.com/,leetcode is a foreign site, it has a lot of programming problems; one is http://www.careercup.com/, The founder of the site then wrote a book called "Careercup Cracking coding Interview", which was eventually published by Turing's educational translation as "Programmer's interview with the Golden Code".
If you are looking for a job in China, then solemnly recommend me to write the "Programmer's programming Art", there is the Programming art blog version, as well as in the blog version of the streamlined programming art of the GitHub version. In addition, we can also look at "The beauty of Programming", and "sword Point offer".
Whether the preparation of domestic or foreign mass data processing interview questions, this article must see: teach you how to quickly kill: 99% of the massive data processing surface questions.
Postscript
Learning the most bogey impatient, quick success, even practice the algorithm, not necessarily representative can be foolproof through the written interview, because generally speaking, in the general written interview, 70% basis + 30%coding ability (including algorithm), so if the above 5 steps, is not enough, and finally, I recommend a list of books, so as to check the gaps for everyone (do not have to read all, welcome to add):
"In-depth understanding of computer systems"
W.richard Stevens "TCP/IP detailed three volume", "UNIX Network programming Two volume", "UNIX Environment Advanced Programming: 2nd Edition", see this watercress page;
..
Overall: The above-mentioned process is short, half a year long, three years. The last sentence: Quick success will be defeated, the more fast the more gradual, practical progress.
How programmers can quickly prepare for the algorithm in an interview