程序员书库(ID:OpenSourceTop) 编译
链接:https://hackernoon.com/10-data-structure-algorithms-and-programming-courses-to-crack-any-coding-interview-e1c50b30b927、http://www.java67.com/2017/06/10-books-to-prepare-technical-coding-job-interviews.html
许多初级开发者的梦想就是,有朝一日可以进入一家大型科技企业,说实话,要获得一份好工作绝非易事,你需要付出大量的努力,许多计算机专业的应届毕业生都想进谷歌、BAT这些大厂,但最终能被录取的寥寥无几
导致面试失败的最重要原因在于缺乏扎实的知识积累和实践,因此提前做好面试准备就显得异常重要,有很多书籍可以帮助你准备编程面试,本文将分享一些面试好书,如果你打算年后跳槽找工作,建议先读一读这些书。
1、《程序员面试金典》
这是最推荐的编程面试书籍,因为它包含了来自不同技术公司的常见面试问题。强烈建议你把这本书中所有的问题通读一遍,总共189题,这绝对是你跳槽前要读的第一本书,因为通过阅读这本书,你将会具备一个能够应对技术岗位面试的能力。
值得一提的是,本书作者曾在谷歌、苹果、微软等著名科技公司工作过,熟悉这些公司的面试流程,因此本书可以说是所有程序员准备面试的宝贵资源。
2、《编程之美:微软技术面试心得》
第一版豆瓣评分8.3,收集了约60道算法/程序设计的题目,这些题目大部分在微软的笔试、面试中出现过,有的曾被微软员工热烈地讨论过。绝大部分题目都提供了详细的讲解。每道题目后面还有一至两道扩展问题,供读者进一步钻研,因此,面试前读一下它是十分有必要的
3、《编码的奥秘》
本书用大量的篇幅讲述了与计算机原理相关的各种编码方法,并通过数字逻辑电路(包括逻辑与开关、逻辑门电路与触发器、二进制加法器等)以及存储器、微处理器的形成、组织及发展阐述了编码的实现。许多大企业的面试题都更侧重于底层知识,这本书就是帮你回忆起那些被你遗忘的知识点。
4、《Algorithm Design Manual》
这是一本非常棒的关于算法的书,它可以帮助你解决一些最困难的编程工作面试,例如谷歌,Facebook,微软,BAT的技术面试难题。如果你能把书中的基于算法和数据结构的问题都解决了,那么就说明你已经为面试做好充分准备了。此外,它还包含一些解决方案,教你如何应用算法来解决现实世界中的问题。简而言之,这是一本必读的编程算法面试书籍。
5、《Elements of Programming Interviews》
这是另一本准备工作面试必不可少的书。它是少有的涵盖编码、数据结构、算法和解决问题的完整书籍之一,它可以为你的面试提供一个完整的回顾,让准备更加充分
6、《Coding Interview Questions》
在这本书中,你将会看到许多技术工作面试中常见的编码问题,全书约有700道算法题,书中的题目来自微软、谷歌等大公司的面试题,以及一些知名竞赛(如GATE)的考试题,每道题都有详细解答,作者在如何解释解决方案上做了大量的功夫,并且通过大量的实操去改进解决方法。
7、《设计模式》
这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来,这些模式在实用环境下特别有效
8、《SQL解惑》
SQL也是编程面试中的一个重点,中收集了75个与SQL编程相关的有趣问题,涉及数据库应用的许多方面,如财务、投资、旅游、销售、计算等,每道题都有详解,对SQL程序员的面试有很强的参考价值
其他面试资源
除了以上的一些我个人认为的你面试前需要阅读的8本书,还有一些很好的博客分享的面试题,也是不错的资源,比如程序员javinpaul在hackernoon上面分享的一些面试资源,就很不错:
9、数据结构和算法问题Top 50:
https://hackernoon.com/50-data-structure-and-algorithms-interview-questions-for-programmers-b4b1ac61f5b0
10、编程面试中的链表问题Top 30:
http://javarevisited.blogspot.sg/2017/07/top-10-linked-list-coding-questions-and.html#axzz4xXS86IVo
11、基于数组的编程问题Top 30:
http://javarevisited.blogspot.sg/2015/06/top-20-array-interview-questions-and-answers.html#axzz4tUeeQOAU
12、电面编程问题Top 50:
https://javarevisited.blogspot.com/2015/02/50-programmer-phone-interview-questions-answers.html#axzz5C5tt0mTL
当然,并不是说这些书/资源你都要一一阅读完毕后,才算做好了面试准备,你应该根据自身的需求,针对性的选择书籍,而且“一百个读者,就有一百个哈姆雷特”,每个人对这些书的评价都不一样,如果你认为还有其他书籍需要补充的,也欢迎留言分享。