2020年程序员面试必备书单,这一篇整理齐了!

Posted 异步图书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020年程序员面试必备书单,这一篇整理齐了!相关的知识,希望对你有一定的参考价值。


来源 | 异步 | 文末赠书

2020年程序员面试必备书单,这一篇整理齐了!

又到了找工作的季节,大多数程序员却无比纠结,想跳槽却不想面试。毕竟拼实力没啥可怕,怕的是明明有实力,面试时却有口难言。

不少小伙伴在后台询问程序员找工作或者跳槽要做什么准备?
2020年程序员面试必备书单,这一篇整理齐了!

面试就像作战,只要做好充足的准备,一定能胸有成竹。 异步君在这里给大家分享几个小技巧:


面试考察的基本功,包括以下方面: 

程序风格: 能正确使用缩进,括号要对齐,变量名可以起的有意义;  
编码习惯: 异常检查,边界处理;  
沟通: 让面试官时刻明白你的意图,不要闭着眼睛不停地写。 因为你的算法未必对。 对了你也未必写得出来。 中间稍微有点问题,你就失败了。 对于面试官来说,他根本不知道你的解题进 行到哪一步了;  
测试: 主动写出合理的测试用例(Test case),一些常见的用例,如 null 检查。 一般你没写的话, 面试官会让你写,但如果你主动写出来,说明你有好的习惯,容易加分。

                                

对程序员来说,技术面试是整个面试中非常重要的环节。当你拿到一个具体问题时,流程通常如下,可供参考。 


明确题意: 通过与面 试官交流明确需要解答的问题。 这部分主要为了让自己放松心态,并且给面试官 留下你具有良好团队意识和交流能力的印象。  
描述大体思路: 描述你打算用什么算法,什么数据结构。 主要是为了让面试官了解你的思维过程,如果你给出的解答与他想要的答案偏差太多,可以及时纠正。 同时,描述思路也给了你自己思考的机会。
实现算法: 先处理边界条件。 对于重要的算法模块,加一些注释或者与面试官进行交流。 目的是让面 试官始终了解你在做什么,算法框架是什么。  
跑一个测试: 用一个测试用例走一遍你写的程序。 目的在于和面试官一起确保你的算法是有效的,可 以在过程中及时发现并纠正自己的错误。 同时,给面试官留下你有写单元测试(unit test)习惯的良好印象。  
描述 算法复杂度,回答面试官的问题。  

当然,要找一份好工作,功夫还在平时。 异步君还为大家整理出了一份关于程序员面试的书单,不仅能帮助做职业规划,还能提高大家的职业技能!

职业生涯规划


《软技能 代码之外的生存指南》
约翰 Z.森梅兹 著
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。 书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。

对大多数软件开发人员而言,编码才是有趣的,而如何与客户、同事以及经理们打交道,如何保证工作效率,如何保障财务安全,如何保持自己的体形,如何找到真爱……这些则统统被视为畏途。 本书恰恰可以在这些方面帮到你!

《代码整洁之道》
马丁 著
细节之中自有天地,整洁成就卓越代码。 尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。 然而这种情况并非无法避免。

这本书是软件工程大师马丁经典力作,由互联网产品与运营专家韩磊献译,本书荣获第13届Jolt大奖。

从《代码整洁之道》中可以学到: 好代码和糟糕的代码之间的区别: 如何编写好代码,如何将糟糕的代码转化为好代码: 如何创建好名称、好函数、好对象和好类; 如何格式化代码以实现其可读性的优化: 如何在不妨碍代码逻辑的前提下充分实现错误处理; 如何进行单元测试和测试驱动开发。



《代码整洁之道 程序员的职业素养》
罗伯特·C.马丁 著

成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。 他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。 他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。

软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。

《编程珠玑(第2版 修订版)》
乔恩·本特利(Jon Bentley) 著
本书作者Jon Bentley,世界计算机科学家,被誉为影响算法发展的十位大师之一。

多年以来,当程序员们推选出心爱的计算机图书时,《编程珠玑》总是位于前列。 正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师JonBentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上受欢迎的专栏,结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。 本书为首卷,主要讨论计算机科学中本质的问题: 如何正确选择和高效地实现算法。

在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。



《编程珠玑(续 修订版)》
乔恩·本特利 (Jon Bentley) 著

本书是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。 延续了《编程珠玑》的特色,通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行透彻而睿智的描述,为复杂的编程问题提供清晰而完备的解决思路。 涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容结合成一个有机的整体,如一串串珠玑展示给程序员。


《重构 改善既有代码的设计(第2版》
马丁·福勒(Martin Fowler) 著