计算机面试-大牛经验

一,算法/数据结构: 
(1)算法时间复杂度及空间复杂度的概念和推导方法; 
(2)各种排序算法:时空复杂度,稳定性,代码/伪代码; 
(3)数据结构:数组/链表,树(二叉树,AVL树和红黑树,B树,B+树),堆(大/小顶堆),并查集,图等; 
(4)一些基本的算法设计思想:贪心,动态规划,回溯和剪枝; 
(5)一些基本的图算法:Dijkstra,最小生成树,DFS和BFS,拓扑排序,Bellman-Ford等; 
二,操作系统的基本知识:进程调度,多进程和多线程,进程/线程间同步,互斥区/信号量,内存管理等;Linux系统的基本知识和Linux/UNIX系统编程;
三,一门高级编程语言:C/C++,Java等;最好能懂一门脚本语言:Shell,Python等; 
四,面向对象程序设计的基本理念,继承,多态,模板类和重载等; 
五,计算机网络:TCP/IP协议,socket编程,等等; 
六,一些进阶知识:搜索引擎的基本原理,云计算(或者说得直白点,分布式计算)的基本原理,设计模式等; 
七,一些对业界发展的基本看法和判断,未必要多么准确,但要有自己的想法。 
  
其中最重要的是算法和数据结构,有些公司,比如最近很火的包户口19w起的某公司,基本上就是考算法和数据结构。从另一方面来说,对算法和数据结构的掌握程度也侧面验证了一个人解决问题的基本能力。下面列出了一些经典的书籍和网络资源,大家可以有选择的看一下。 
  
书籍类:《算法导论》,《操作系统精髓与设计原理》,《编程之美》,《Linux程序设计》,《设计模式》,《TCP/IP详解》,《计算机网络》,《C++ Primer》 or 《C++ Primer Plus》,《鸟哥的linux私房菜》,《程序员面试宝典》等;进阶知识可以读一下《搜索引擎:信息检索实践》,《云计算:技术、平台及应用案例》等。 
对于想了解IT产业的基本规律和运作模式,从而希望对当前的IT产业有一些自己的观察和判断的,推荐读一下吴军的《浪潮之巅》,这本书我在google黑板报连载的时候就一直在读,看了不下十遍了,写得确实非常好。 
其他还有一些网络资源: 
http://blog.csdn.net/v_JULY_v,CSDN博客,里面有很多经典的算法和面试题,不夸张的讲,覆盖了绝大部分的面试题目……当然要想在面试中真正表现好的话,光靠背题是不行的,还是要认真踏实地看书才成。 
http://coolshell.cn/,酷壳,某个技术人员的个人网站,也有一些面试题和技术讨论; 
http://www.alibuybuy.com/,互联网的那些事,想做PM和UED的同学参考一下,挺不错的; 
另外是各个求职网站(大街网,中华英才网,应届生论坛,51Job等)在招聘季都会出一些“求职大礼包”,里面有对公司的介绍,历年的笔经/面经,都是不错的参考资料。 
另外一个网络资源就是北邮人论坛……不解释。 
另外,除了《编程之美》《程序员面试宝典》这些书之外,其他的书都是技术人员的案头必备书,我觉得希望做技术的同学,还是有选择的卖一些比较好,这些书是以后都要用到的,不是找完工作就可以扔掉的——这么说希望大家不至于把我当书贩子……

你可能感兴趣的:(计算机面试-大牛经验)