程序员面试必备书单
点击上方“程序人生”,选择“置顶公众号”
第一时间关注程序猿(媛)身边的故事
图片源自:《The Boss Baby》
(温馨提示:文末有惊喜)
“世上最快乐的事,莫过于为理想奋斗”。一个满意的工作,便是为理想奋斗的开始。
——苏格拉底
对于很多人来说,找到一份工作不是问题,但找到一个合适而满意的工作,却不那么简单。谈到“合适”和“满意”,就必须从职业规划说起。
每个人的性格、经历和爱好截然不同,理想也不尽相同。理想无法用价值衡量,更无法权衡高低贵贱,每个个体的梦想都是值得尊敬并值得奋斗一生的。做一份工作,实际就是追寻梦想的过程,而为了完成梦想,必须有一个长期规划,从而指导我们选择工作。它是择业过程中最本质和最原始的参考借鉴。
为此,小编为你精选一份程序员面试书单,分为职业规划、编程技能两部分,适合刚毕业的大学生、正准备换工作的程序员们,涵盖算法工程师、Java工程师、测试、产品经理等多个领域。
方向篇
职业生涯规划
《软技能 代码之外的生存指南》
约翰 Z.森梅兹 著
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。
对大多数软件开发人员而言,编码才是有趣的,而如何与客户、同事以及经理们打交道,如何保证工作效率,如何保障财务安全,如何保持自己的体形,如何找到真爱……这些则统统被视为畏途。本书恰恰可以在这些方面帮到你!
《代码整洁之道》
马丁 著
细节之中自有天地,整洁成就卓越代码。尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。然而这种情况并非无法避免。。
这本书是软件工程大师马丁经典力作,由互联网产品与运营专家韩磊献译,本书荣获第13届Jolt大奖。
从《代码整洁之道》中可以学到:好代码和糟糕的代码之间的区别:如何编写好代码,如何将糟糕的代码转化为好代码:如何创建好名称、好函数、好对象和好类;如何格式化代码以实现其可读性的优化:如何在不妨碍代码逻辑的前提下充分实现错误处理;如何进行单元测试和测试驱动开发。
《代码整洁之道 程序员的职业素养》
罗伯特·C.马丁 著
成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。
软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。
《编程珠玑(第2版 修订版)》
乔恩·本特利(Jon Bentley) 著
本书作者Jon Bentley,世界计算机科学家,被誉为影响算法发展的十位大师之一。
多年以来,当程序员们推选出心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师JonBentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上受欢迎的专栏,结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为首卷,主要讨论计算机科学中本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。
《编程珠玑(续 修订版)》
乔恩·本特利 著
本书是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。延续了《编程珠玑》的特色,通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行透彻而睿智的描述,为复杂的编程问题提供清晰而完备的解决思路。涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容结合成一个有机的整体,如一串串珠玑展示给程序员。(Jon Bentley)
《重构 改善既有代码的设计》
马丁·福勒(Martin Fowler) 著
软件开发的不朽经典,生动阐述重构原理和具体做法,普通程序员进阶到编程高手必须修炼的秘笈。
重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。
面试篇
技能开发
《程序员面试白皮书》
逸超, 董飞著
这是一本介绍程序员面试的参考书,通过一系列的实例介绍了数据结构、算法以及计算机专业的其他基础知识。同时,本书还在各章中及时回顾教材中的重点内容,书中的题目也很据参考价值,通过实例与知识点相结合的方式帮助读者掌握要领。除此之外,本书还将引导读者分析题目,帮助读者理清思路并最终解决问题。
《师兄教你找工作——100场面试 20个offer背后的求职秘密》
韩速(@美牙君)著
本书以应届毕业生的视角,对求职的整个过程进行了分享和描述。涉及职业规划、前期准备、简历、网申、邮件投递、内推、在线测评、笔试、电面、结构化面试、群面、压力面、谈offer、选offer以及签约注意事项等各个环节。既解答了同学们最关心的若干问题,也包括求职技巧分享。既帮助大家正确地审视自己,也帮助读者客观地面对企业。
《趣学算法》
陈小玉 著
本书可作为程序员的学习用书,也适合从未有过编程经验但又对算法有强烈兴趣的初学者使用,同时也可作为高等院校计算机、数学及相关专业的师生用书和培训学校的教材。
《算法谜题》
【美】Anany Levitin 著
算法是计算机科学领域最重要的基石之一。算法谜题,就是能够直接或间接地采用算法来加以解决的谜题。求解算法谜题是培养和锻炼算法思维能力一种最有效和最有乐趣的途径。
本书是一本经典算法谜题的合集。本书包括了一些古已有之的谜题,数学和计算机科学有一部分知识就发源于此。本书中还有一些较新的谜题,其中有一部分谜题被用作知名IT企业的面试题。全书可分为4个部分,分别是概览、谜题、提示和答案。概览介绍了算法设计的通用策略和算法分析的技术,还附带有不少的实例。谜题部分将谜题按照简单、中等难度和较难三个层级分别列出。提示部分依次给出谜题提示,帮助读者找到正确的解题方向,同时仍然为读者留下了独立求解的空间。答案部分则给出了谜题的详细解答。
《C和C++程序员面试秘笈》
董山海 著
众多高级语言都从C/C++有所借鉴,所以说C/C++的语言基础对从事软件开发的人员来说非常重要。
本书是一本解析C/C++面试题的书,可以帮助求职者更好地准备面试。《C和C++程序员面试秘笈》共包含12章,囊括了目前企业中常见的面试题类型和考点,包括C/C++程序基础,预处理、const、static与sizeof,引用和指针,字符串,位运算与嵌入式编程,C++面向对象,C++继承和多态,数据结构,排序,泛型编程,STL,算法和逻辑思维等最常见的面试题。《C和C++程序员面试秘笈》通过技术点解析、代码辅佐的方式让读者能深刻领会每个考点背后的技术。
本书紧扣面试精髓,对各种技术的剖析一针见血,是目前想找工作的C/C++程序员和刚毕业的大学生的面试宝典。
《Java程序员面试秘笈》
常建功著
· 紧扣面试精髓,一册在手,工作不愁
· 提供最全的Java面试题分类,帮你有备而战
· 涵盖经典的笔试题+上机题,帮你整理知识库
· 解析考题的要点和技术原理,帮你温故而知新
Java程序员目前就业形势较好,因为Java的应用太广泛了,从网页开发到手机安卓开发,都离不开Java。本书紧扣面试精髓,对各种技术剖析一针见血,是想找工作的Java程序员和刚毕业学生的面试宝典。
《编程之法:面试和算法心得》
July 著
-蜕变于CSDN技术博客“结构之法算法之道”
-内容涉及面试、算法、机器学习三大主题
-作者数年的积累成果
-进入IT行业求职笔试和面试宝典
本书涉及面试、算法、机器学习三个主题。书中的每道编程题目都给出了多种思路、多种解法,不断优化、逐层递进。第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。
此外,每一章都有“举一反三”和“习题”,以便读者及时运用所学的方法解决相似的问题,且在附录中收录了语言、链表、概率等其他题型。书中的每一道题都是面试的高频题目,反复出现在近5年各大公司的笔试和面试中,对面试备考有着极强的参考价值。
《.NET程序员面试秘笈》
张云翯著
本书是一本解析.NET面试题的书,可以帮助求职者更好地准备面试。全书共11章,囊括了目前企业中常见的面试题类型和考点,包括.NET语言基础、基类、接口和泛型、.NET高级特性、Windows窗体编程、ADO.NET编程、SQL查询及LINQ、ASP.NET程序开发和算法趣味题等。通过技术点解析、代码辅佐的方式使读者能深刻理解每个考点背后的技术。
紧扣面试焦点,对各种技术剖析一针见血,是目前想找工作的.NET程序员和刚毕业学生的面试宝典。
《软件测试工程师面试秘籍》
G.li, 51Testing软件测试网 著
本书用轻松、愉快、亲切的语言为广大应聘测试岗位的读者组织了一场求职战役。书中语言精练,内容丰富,涵盖应聘基本流程、开发类基础知识、测试类专业知识、笔试面试技巧,并穿插了大量名企的笔试面试题。相信必能帮助对应聘完全知的菜鸟们迅速成长为百战百胜的、羽翼丰满的雄鹰。
本书适用范围广,包含了各类语言的笔试、面试题,以及Java、C++、C#等。《软件测试工程师面试秘籍》专业实用性强,除了有一般程序员的基本知识和题目外,还另外针对测试这个岗位设计了一个章节,包含Web测试、移动App测试、游戏类测试等场景。
《Android高薪之路—Android程序员面试宝典》
李宁著
本书取材于各大IT公司面试真题,所给出的试题尽可能地覆盖了Android应用开发的各个方面,而且大多数试题都有解析部分,读者可以通过这部分更深入地理解试题中所包含的技术内容,希望真正做到由点成线,举一反三。书中还将Android中涉及的各个常用技术问题进行筛选、分类。这样读者可以有的放矢,对自己还没有掌握的Android技术进行重点攻破,从而起到事半功倍的效果。除了对每道题目都有详细的解析和回答外,对相关知识点还有扩展说明。对面试中Android常见的题型和常用解答技巧进行了介绍,它不仅能帮助求职者快速复习相关知识点,也对现代职业人如何有效求职做了详细解说。本书对于读者从求职就业到提升计算机专业知识都有显著的帮助。
本书适合计算机相关专业应届毕业生阅读,也适合作为正在应聘软件行业的相关就业人员和计算机爱好者的参考书。
《从跨界到专精 T型产品经理的自我修炼》
简浅 著
这并不是一本“10天教会你如何成为产品经理”的书,更多讲述的是产品经理职场中的真实经历,让你从旁观者的角度真正的了解产品经理这个岗位。 入行产品经理本书将给你启蒙。
今日话题
留言说说你的面试心得,或在面试中有过什么样有趣的面试故事。
评论有奖规则
留言说出面试心得或趣事,小编精选上墙;
精选用户有机会进群,群内参与抽奖。
进群方式:
加小编微信,备注#面试精选#,拉你进群:
程序 微信ID:druidlost;
小七 微信ID:duoshangshuang;
会在群内抽出三位获奖者,可以选择一本本期书单推荐中想要的书籍。
抽奖时间:
3月27日17:00准时群内开始抽奖。
另外,本群除了会定期分享好书外,还会不定期请著作者进群与大家进行交流分享,欢迎持续关注。
点击图片get往期内容
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 这本书,智利总统带到秘鲁的会见厅 7948011
- 2 药监局:百雀羚不存在违规行为 7911999
- 3 胖东来:员工不许靠父母买房买车 7823911
- 4 世界互联网大会有哪些新看点? 7729757
- 5 泰国首富谈外媒炒作外资退出中国 7613446
- 6 医院CT等收费将执行新规 7553472
- 7 两警察私带警用装备跨省抓人索财 7456850
- 8 钟睒睒不建议长期喝绿瓶水 7317789
- 9 一个金镯子省出1200元 金价真跌了 7221036
- 10 科技与文化融合的“赛博”水乡 7180346