大公司笔试面试有哪些经典算法题目?

首先,强烈建议采用“题海战术”。我当然不会告诉题主,今年面了数十家公司,90%的题目是原题(没办法,就那几个知识点,能有什么新题)
题库在哪里呢?按照循序渐进的原则,一一介绍:

  1. cc150,全名cracking the coding interview - 150 Programming Questions and Solutions。经典中的经典,曾有人别的啥都不做,刷这本书三四遍,拿了Google的offer(注意是在美国,在中国就算了……)这本书的优势在于分章节,每章突出一块知识,题目精炼,答案好找;缺点呢,你写出的代码,需要深度检验,而cc150是书不是online judge,这个还是做不到。

  2. leetcode。程序员刷面试题的第一网站,题多且全,少部分题目收费。刷的人很多,答案非常好找。online judge能深度检验代码的正确性,刷leetcode是最能锻炼算法题能力的。假如说时间有限只能刷一个,那必须是leetcode,假如时间够多……lintcode、meetqun等各大面试题OJ欢迎你,此外还有许多国内外大学的OJ。
    以上是两大主力,但是光这两个,还不能到“题海”的水平,而且由于它们名气太响,有些公司有时会避开里面的题目……来,我们继续找题目。

  3. 编程之美、剑指offer:就当成两本习题集好了,里面有些题目和1、2重复,但是大部分题目还是很优秀很巧妙的。重点是交叉对比,你就知道哪些是经典题目了。

  4. careercup、看准网等:每家公司都有自己喜欢出的题目,这些网站方便你去找面经,紧跟公司出题潮流。

  5. “结构之法”博客:July大神的博客,内容丰富,学习一年都可以。这里只讲里面的算法题:“微软面试100题”(实际上已经快500题了)系列,堪称算法题的大宝库,包罗万象,而且很多题目很新,是面试官喜欢出的类型……不过这个系列的排版略微混乱,很多题也没有答案;“程序员编程艺术”系列,讲的很细致,适合深入去学习一些算法;“教你如何迅速秒杀掉:99%的海量数据处理面试题”,很实用的海量数据处理面试文章。

  6. 经典库函数。这块单独拉出来,是因为考的很多,比如atoi,strstr,memcpy等等……在“程序员编程艺术”中,杂七杂八有相关的论述,最好自己系统整理一下。
    ——————————————————————————————————————————————重点内容

好,这些足够我们的题海了。下面来讲一下,哪些属于题海中的重点。

  1. 最高优先级:面经。这个比什么都重要,为了节约招聘成本,同一家公司的题目,通常不会换的太勤快。
  2. 次优先级:很经典的题目。什么定义为经典?前面我写了123456,假如某道题目能重复出现几次,那绝对是不朽经典(如atoi、LCS、LPS、单链表逆置……),经典的题目毕竟出的最多,一定要非常熟练。
  3. 再次:稍微短一点(50行之内),稍微新一点的题目。面试官通常时间有限,没时间让你写个上百行,所以50行左右是最好的。
  4. 最末:答案很长的题目。这种题目一般不出,要是出出来,一般就是压轴大戏,为了最后检测……通常长题目容易乱,分模块慢慢写,不着急。

光在IDE上敲是不够的,还要练习多在纸上写。
做多了,就会感觉这些题目都一样……无非dp、二分、排序、递归……无非开数组、调函数、用stl……然后题主就会悟出算法题只是公司招聘没办法的选择,因为面fresh grad也没啥别的方法了,这个方法最简单粗暴高效。然而实际工作中,重要的还是项目能力。能悟出这个道理,题主就该修成正果了。

转自大公司笔试面试有哪些经典算法题目?

你可能感兴趣的:(算法,面试)