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

开发 项目管理 算法
我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。

前言

我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示:

    [[108559]]

但因字数限制,特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料。

备战面试中算法的五个步骤

总体来说,备战面试中的算法,分为五个步骤,如下:

1、***你得确保自己已经掌握好一门编程语言

  • 如果是C的话,推荐Dennis M. Ritchie & Brian W. Kernighan著的《C程序设计语言》,和《C和指针》;
  • C++ 则推荐《C++ Primer》,《深度探索C++对象模型》,《Effective C++》 。

掌握一门语言并不容易,不是翻完一本书即可了事,语言中的细枝末节需要在平日不断的编程练习中加以熟练。

2、过一遍微软面试100题系列

我从2010年起开始整理 微软面试100题系列,见过的题目不可谓不多,但不管题目怎般变化,依然是那些常见的题型和考察点,当然,不考察任何知识点,纯粹考察编程能力的题目也屡见不鲜。但不管千变万化,始终不离两点:①看你基本知识点的掌握情况;②编程基本功。

而当你看了一遍微软面试100题之后(不要求做完),你自会意识到:数据结构和算法在笔试面试中的重要性。

3、苦补数据结构基础

如果学数据结构,可以看我们在大学里学的任一本数据结构教材都行,如果你觉得实在不够上档次,那么可以再看看《STL源码剖析》。

4 、看算法导论

《算法导论》上的前大部分的章节都在阐述一些经典常用的数据结构和典型算法(如二分查找, 快速排序、 Hash表),以及一些高级数据结构(诸如红黑树、 B树),如果你已经学完了一本数据结构教材,那么建议你着重看贪心、动态规划、图论等内容,这3个议题每一个议题都大有题目可出。

如果算法导论看不懂,你可以看本博客。

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

  • 如主要在国外找工作,推荐两个面试编程网站:一个是 http://leetcode.com/,leetcode是国外一网站,它上面有不少编程题;一个是http://www.careercup.com/,而后这个网站的创始人写了本书,叫《careercup cracking coding interview》,最终这本英文书被图灵教育翻译出版为《程序员面试金典》。
  • 若如果是国内找工作,则郑重推荐我编写的《程序员编程艺术》,有编程艺术博客版,以及在博客版本上精简优化的 编程艺术github版。除此之外,还可看看《编程之美》,与《剑指offer》。

    而不论是准备国内还是国外的海量数据处理面试题,此文必看: 教你如何迅速秒杀掉:99%的海量数据处理面试题

后记

学习最忌心浮气躁,急功近利,即便练习了算法,也不一定代表能万无一失通过笔试面试关,因为总体说来,在一般的笔试面试中,70%基础+ 30%coding能力(含算法),故如果做到了上文中的5个步骤,还远远不够,***,我推荐一份书单,以此为大家查漏补缺(不必全部看完,欢迎大家补 充):

  1. 《深入理解计算机系统》
  2. W.Richard Stevens著的《TCP/IP详解三卷》,《UNIX网络编程二卷》,《UNIX环境高级编程:第2版》,详见此 豆瓣页面
  3. ..
综上:上述全部过程短则半年,长则三年。***一句:急功近利者必败,越想快速越要循序渐进,踏实前进。

原文链接:http://blog.csdn.net/v_july_v/article/details/19131887

责任编辑:陈四芳 来源: 结构之法
相关推荐

2022-03-21 15:30:27

面试程序员算法

2012-07-20 11:16:26

程序员

2015-08-27 16:15:10

程序员面试错误

2016-04-28 11:17:33

互动出版网

2019-01-21 14:13:51

程序员技能开发者

2015-10-19 17:39:42

程序员倦怠

2013-01-10 09:22:58

程序员面试程序员面试经历

2012-11-09 13:44:48

ScalaJVMJava

2021-07-30 10:41:57

程序员IT互联网

2015-12-24 10:28:37

程序员面试技巧

2015-10-26 14:21:58

程序员面试编程面试

2015-06-02 11:01:18

JavaGo

2015-08-19 08:51:38

程序员面试糟糕

2015-08-19 09:10:37

程序员面试

2011-03-01 09:36:26

面试算法解题思路

2018-06-04 12:41:50

程序员贪心算法分析

2012-08-20 09:26:17

程序员算法排列算法

2013-05-14 09:44:41

程序员面试

2015-03-30 15:51:29

程序员程序员面试

2013-02-19 10:12:59

点赞
收藏

51CTO技术栈公众号