程序员如何快速准备面试中的算法

 我决议写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有兄弟问询,要结业找工作了,怎么备战算法。尽管在微博上简略梳理过,如下图所示:

   

    但因字数约束,许多问题无法一次性说清楚,故特撰此文侧重论述下:程序员怎么敏捷预备面试中的算法,继而引荐一些有关的书籍或材料。趁便也供节后换岗、3月春季招聘小高潮、及6月结业找工作的兄弟参阅。

 

备战面试中算法的五个过程

    关于立志进一线互联网公司,一起不满足于一辈子干纯事务使用开发,希望在后端做点事情的同学来说,备战面试中的算法,分为五个过程,如下:

    1、把握一门编程言语

    首要你得保证你已把握好一门编程言语:

  • C的话,引荐Dennis M. Ritchie & Brian W. Kernighan合著的《C程序设计言语》、《C和指针》,和《征服C 指针》;
  • C++ 则引荐《C++ Primer》,《深度探索C++目标模型》,《Effective C++》 。

    把握一门言语并不简单,不是翻完一两本书即可完事,言语的细枝末节需要在平日不断的编程操练中加以熟练。
    2、过一遍微软面试100题系列

    我从2010年起开端收拾微软面试100题系列,见过的标题不可谓不多,但不论标题怎般改变,依然是那些多见的题型和调查点,当然,不调查任何知识点,朴实调查编程才能的标题也层出不穷。故不论千变万化,始终不离两点:①看你根本知识点的把握情况;②编程根本功。

    而当你看了一遍微软面试100题以后(不请求做完,且这个系列的有些答案存在不少问题,主张以我的新书《编程之法》为准),你自会意识到:数据结构和算法在书面考试面试中的重要性。
    3、苦补数据结构根底

    假如学数据结构,能够看咱们在大学里学的任一本数据结构教材都行,包含链表、数组、字符串、矩阵、树、图等等,假如你觉得真实不够上档次,那么能够再看看《STL源码分析》。
    4、看算法导论

    《算法导论》上的前大部分的章节都在论述一些经典常用的数据结构和典型算法(如二分查找敏捷排序Hash表),以及一些高档数据结构(比如红黑树B树),假如你现已学完了一本数据结构教材,那么主张你侧重看贪心、动态计划、图论等内容,这3个议题每一个议题都大有标题可出。一起,了解常用算法的时刻复杂度

    假如算法导论看不懂,你能够参看本博客。

    5、刷leetcode或cc150或编程艺术系列

  • 如首要在国外找工作,引荐两个编程面试网站:一个是国外一网站leetcode,它上面有个OJ关于找工作的同学来说十分值得一刷https://oj.leetcode.com/;别的一个是http://www.careercup.com/,而后这个网站的创始人写了本书,叫《careercup cracking coding interview》,终究这本英文书被图灵教学翻译出版为《程序员面试金典》。
  • 若假如是国内找工作,则慎重引荐编程之法github版,尤其是在博客版别根底上精简优化的我的新书《编程之法》。除此之外,还可看看《编程之美》,与《剑指offer》。

    而不论是预备国内仍是国外的海量数据处理面试题,此文必看:教你怎么敏捷秒杀掉:99%的海量数据处理面试题。收录于新书《编程之法》第六章。

    另,多看看优异的开源代码,如nginx或Redis,多做几个项目加以实习之,尽早实习(在一线互联网公司实习3个月也许胜过你自个黑灯瞎火摸爬滚打一年)。

    当然,假如你现已具有了上文所说的言语 & 数据结构 & 算法根底,能够直接跳到本第五过程,开端刷leetcode或cc150或编程艺术系列。此外,格外引荐此面试求职&算法在线课程

 

ELISA试剂盒:http://www.shxrsw.net           http://www.hdbsw.com

posted @ 2016-11-07 09:04  秋雨飘飘01  阅读(151)  评论(0)    收藏  举报