作者:猿哥
程序员书库(ID:OpenSourceTop) 编译
编译自:https://whatpixel.com/coding-interview-questions-book-review/
虽然程序员是一热门职业,但如果你没有准备充分,找工作依然碰壁,所以,你需要一些学习资料,帮助你在面对编程问题时,能够游刃有余的解决。
今天和大家推荐一本面试手册——《程序员面试手册》
- 美亚评分4.0
- 涵盖世界知名IT公司面试和竞赛中涉及的编程题目及其解题思路
本书以通俗易懂的方式讲解编程面试题,涵盖编程基础、架构设计、网络技术、数据库技术、数据结构及算法等主题。没有太过深入的内容,所以对于刚步入社会要找工作的计算机专业学生非常适合,书中的题目来自微软、谷歌、亚马逊、雅虎、Oracle、Facebook等大公司的面试题,以及一些知名竞赛(如GATE)的考试题
阅读路线
这本书很长有 500 多页,20 多个章节,700 多道编程算法题,每一章有一个特定的主题,并涵盖了大量不同的问题,每道问题都有详细的解答。你可以通过目录针对性的对自己查缺补漏,如果这些面试问题还不能满足你,那还可以到这个repo上查看更多示例(地址:https://github.com/MaximAbramchuck/awesome-interview-questions)
详细的目录如下:
- 编程基础
- 脚本语言
- 与设计有关的面试题
- 操作系统的概念
- 计算机网络的基础知识
- 数据库概念
- 智力题
- 算法介绍
- 递归与回溯
- 链表
- 栈
- 队列
- 树
- 优先级队列与堆
- 图算法
- 排序
- 搜索
- 符号表
- 哈希
- 字符串算法
- 算法设计技巧
- 贪婪算法
- 分治算法
- 动态规划
- 复杂度类
- 其他概念
- 其他编程问题
本书的优缺点
我认为本书的优点在于,它能帮助那些需要它的人指明方向,从初学者的角度,内容非常接地气,无论你的编程基础如何,都可轻松啃下这本书,而且题量够大,命中面试官出题的概率也就越大。不过就内容而言,对中级或高级程序员来说就过于简单了,毫无挑战性
有优点就会有缺点,通常情况下,内容如果过的去,我一般不会太在意错别字,但是这本书里有的拼写错误竟然是出现在代码中,这就有点为难人了,好在不影响答案。此外,在内容的组织上,我认为也有些需要改进的地方,各章节的大纲不够清晰
本书为谁准备的?
前面已经提到了,本书适合刚刚要进入这个行业的,准备面试的初级程序员使用,或者是那些需要从基础知识巩固的程序员,诸如新手数据库工程师、DevOps人员、后端开发人员或其他编程相关人员,甚至是数据分析师
如果你是一个有几年经验的高级开发人员,那我完全不推荐这本书,《程序员面试攻略(原书第3版) 》可能更适合你,单单页码就少了整整150多页
写在最后
总而言之,从书名来说,这本书确实做到为面试准备的,涵盖的主题够多,这也就意味着会牺牲一些细节的处理,简单来说,它更多的是帮助你临时抱佛脚,记住一些面试问题的答案,而不是和你探讨问题背后的原理
如果你是要学习更高级的主题,比如算法,我推荐你还是看《算法导论》,因为它涵盖更多的细节,然而,如果你是一位计算机科学领域的新手,或者是正在寻找一份编程工作的应届毕业生,这本书一定会给你一份意想不到的惊喜,它会回答你大部分面试常见的问题,让你在面试时思路清晰正确。
最后,如果你已经读过《数据结构与算法经典问题解析》这本书,那么,《程序员面试手册》就无需再看了。
34张架构史上最全技术知识图谱