书籍作者:约翰·摩根 | ISBN:9787302526711 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:5093 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《斩获Offer:IT名企面试策略与编程笔试精解》是程序员准备技术面试的完美首。为反映不断变化的技术和趋势,本书已经更新到第4版,为当今程序员面临的职业面试提供深入指导。在线编程竞赛已被用于筛选成千上万的候选人,雇主甚至在GitHub上考量候选人的公共代码库——随着竞争越发激烈,程序员需要在面试之前将自己塑造成理想的候选人。
《斩获Offer:IT名企面试策略与编程笔试精解》将有助于:
● 了解面试官想要听到的内容,推进面试过程
● 采用有效的方法与非技术招聘人员进行电话面试
● 对常见的面试问题和测试进行专家级分析讲解
● 在口头、竞赛以及GitHub等场合做好展示自己技能的准备
● 在压力条件下展示自己的各项技能
● 作为一项工作的佳候选人脱颖而出
John Mongan是一位自学成才的程序员,担任多家软件公司和制药公司的顾问,具有专业经验。他在软件测试技术方面拥有三项专利,并拥有加州大学圣地亚哥分校的生物信息学硕士学位和博士学位,在学校的研究方向为蛋白质动力学的超级计算机模拟。目前是加州大学旧金山分校放射学和生物医学影像学院信息系的助理教授和副主席,研究重点是机器学习应用于放射学数据和计算机化临床决策支持。
Noah Kindler是安全技术公司Avira的技术副总裁。他领导多个产品的软件设计和开发团队,用户群超过1亿人。
Eric Giguère(很久以前)在Commodore VIC-20上开始BASIC编程,并且迷上了计算机编程。他拥有滑铁卢大学计算机科学的BMath和MMath学位,有着丰富的专业编程经验,并且出版了几本编程书籍。目前是Google的一名资深软件工程师。
第1版前言
编程、开发、技术咨询及其他岗位需要进行编程面试,本书有助于你在相应的求职中做好准备。编程面试与传统的求职和面试书籍中所述的几乎没有相似之处。该面试几乎完全由编程问题、智力难题和计算机技术问题组成。本书讨论了其中可能覆盖的各种问题,并以真实面试问题为例说明需要如何给出这些问题的最优方案。
此时此刻,你可能想知道我们是谁,凭什么我们有权写这本书。我们都是刚毕业的学生,在过去几年中经历了很多面试。从为初创公司编写设备驱动程序,到老牌大公司的技术咨询,我们参加了各种工作的面试。本书基于我们从这些面试中获得的经验和观察——做什么会被录用,做什么不会被录用。就面试而言,我们相信像本书这样的书有可能是最佳的基础读物。我们将告诉大家在美国顶级软件和计算机公司面试时的真实情况,以及需要做些什么来取得成功,而不是给出一些人力资源主管关于应该如何进行面试的想法,或者专注于介绍猎头会如何看待面试。
为此,我们没有在本书中编造任何问题。每一道题都出自实际面试,力求最新。问题的类型设置和难度分布类似于你在面试中会遇到的实际情况。我们必须强调,本书中提出的问题是面试题目的代表性样题,而不是全集。死记硬背本书答案将完全不能奏效。也许本书中出现的一些题目会出现在面试中,但请不要坚持这么想。大量题目将不断变化地出现,所有看过这本书的聪明面试官都不会再使用本书出现的任何问题。另一方面,面试问题包含较少的主题领域和问题类型,而这些问题很少发生变化。如果你不只是学习并解决本书提出的具体问题,而是能解答本书所列的题型,你就能够处理面试过程中被询问的问题。
本书将分几个步骤来提高你的解题能力,帮助你靠近目标。首先,在提出有关这些话题的题目之前,《斩获offer:IT名企面试策略与编程笔》会酌情回顾重要概念。其次,《斩获offer:IT名企面试策略与编程笔》不仅仅是回答问题,而是从开始到方案来说明问题解决过程。我们发现,对于示例而言,大多数教科书和几乎所有的智力难题都采用了另一种方法:从一个问题入手,接着立即给出答案,然后解释为什么答案是正确的。根据我们的经验,这样做的结果是,读者可能理解特定答案及其正确的原因,但缺少关于作者是如何想出该解决方案或类似问题可能如何解决的线索。我们希望《斩获offer:IT名企面试策略与编程笔》逐步获得解决方案的方法能够解决对应问题,既能帮助大家了解答案,还能帮助大家掌握如何得出答案。
根据观察来学习绝不如边做边学有效。如果想充分利用《斩获offer:IT名企面试策略与编程笔》,你将不得不自己解决书中问题。我们建议你采用以下方法:
(1) 题目阅读完毕,请放下《斩获offer:IT名企面试策略与编程笔》并尝试制定解决方案。
(2) 如果被问题卡住,请阅读解决方案。由于我们不在一开始就将答案和盘托出,因此你在开始时不必担心我们要放弃告诉你完整的答案。
(3) 阅读书中内容以获得所需的提示,读到刚好够即可,然后放下书并继续解题。
(4) 根据需要重复以上步骤。
自己找到的解决方案越多,对《斩获offer:IT名企面试策略与编程笔》题目解答过程的理解就越好。此外,这种方法非常类似于实际的面试体验,你必须自己解决问题,但面试官会在你遇到困难时给予提示。
编程是一个具有挑战性的技术行业。只通过一《斩获offer:IT名企面试策略与编程笔》传授所有相关的计算机和编程知识是不可能的。因此,我们不得不对你的角色做出一些假设。我们假设你的计算机背景至少相当于攻读计算机科学学位的第一年或第二年学术水平。具体来说,我们希望你了解C语言编程,已经具备了使用C++或Java进行面向对象编程的一些经验,并且理解计算机体系结构和计算机科学理论的基础知识。这些实际上是一般开发工作的最低要求,因此大多数面试官也有类似的期望。如果发现自己在这些领域稍有欠缺,在开始求职和面试之前,请大家认真考虑接受更多的教育。
也许你拥有比刚才描述的最低要求更多的计算机知识和经验。如果是这样,可能有些更高级的主题对你会特别有吸引力。但是,无论你有多少经验,都不要忽视基本主题和问题。无论简历上有什么,面试官都倾向于从基础知识开始。
我们已尽一切努力确保《斩获offer:IT名企面试策略与编程笔》中的所有信息都是正确的,所有代码都已经过编译和测试。然而,作为程序员,大家都有切身体会,程序的漏洞和错误是不可避免的。只要我们意识到问题的存在,我们就会发布更正。
我们相信你会发现《斩获offer:IT名企面试策略与编程笔》对于获得期待的工作有促进作用。希望你在求职时翻看《斩获offer:IT名企面试策略与编程笔》,会觉得《斩获offer:IT名企面试策略与编程笔》涵盖的某些智力难题是一场愉悦的探索。如果想告诉我们对《斩获offer:IT名企面试策略与编程笔》的反馈,分享对任何特定问题或主题的看法,或者在最近的一次面试中遇到的题目,我们很乐意收到你的来信。
去追求羡煞旁人的职位吧!
前 言
编写《斩获Offer:IT名企面试策略与编程笔试精解》一书是为了让大家为编程面试做好准备,这样就可以证明自己是一名优秀的程序员。《斩获offer:IT名企面试策略与编程笔》不讲授如何编程。《斩获offer:IT名企面试策略与编程笔》展示了如何在编程面试中发挥自己的编程技巧。在阅读《斩获offer:IT名企面试策略与编程笔》时,请记住,编程面试(在大多数情况下)不是事实回忆测试,因此《斩获offer:IT名企面试策略与编程笔》不是面试时需要了解的各种事实的备忘录。相反,它通过示例引出成功所需的技巧和思维过程。真正掌握这些内容的最佳方法是花时间解决并理解问题。
为什么有编程面试
为什么软件公司会使用编程面试?他们希望聘请能与他人合作的优秀程序员,以成功生产出优秀的产品。然而,痛苦的经历告诉雇主,大部分编程工作的申请人根本不能编码。你可能会认为通过仔细审查简历、经验、课程作业和学位就可以筛选出这些申请人,但在实践中,这样做的效果不好。具有闪亮简历和突出的多年行业相关经验的申请者大有人在,数量多得惊人,但他们甚至连最简单的编程任务也无法完成。他们中的很多人已经掌握了足够的术语,使他们能够在有关编程和技术的对话中表现出色。雇用这种不能编码的“开发人员”可以轻松弄垮一个部门(甚至一个小公司)。
认识到传统面试在辨别不能编码的申请人方面无效,雇主采取了合乎逻辑的步骤:要求申请人在面试期间进行编码,因此编程面试诞生了。编程面试非常有效地将那些能编码的人与不能编码的人分开,这就是为什么编程面试往往属于技术面试流程的普遍组成部分。
编程面试的挑战在于雇主不仅想要筛选出不能编码的人,还希望将最优秀的程序员与那些勉强胜任的程序员区分开来。通常情况下,面试官会尝试通过提出有难度的编程挑战来衡量申请人的能力,并注意申请人解决问题的速度和准确程度。
这种方法的问题在于,由于面试固有的时间限制,可以在编程面试中测试的技能仅与实际开发工作中相关的技能部分重叠。不可避免的是,编程面试会当场评估候选人解决问题的能力,有人在一旁观察,但你手上没有任何平常可用的参考资料。没有时间编写大量代码,因此问题必须有简短的解决方案。大多数方案简短的问题都是微不足道的,所以为了避免这种情况,许多面试问题涉及不寻常的算法技巧、荒谬的限制或不常用的语言特性。因为在实际的开发工作中通常不会出现这些类型的问题,所以对于面试经历的特殊性,没有准备的优秀程序员有可能会面试不合格。
相反,对于职业环境中的开发所需的很多技能在编程面试中没有得到很好的评估(或根本没有)——包括的方面诸如团队沟通和团队工作、大型代码库的架构和管理、按计划一致地生产可靠代码的时间管理和纪律,以及处理大型项目、识别所有组成部分以及完成项目的能力。
显然,编程面试并不能很好地衡量申请人作为未来员工的价值。但重要的是,编程面试是雇主选择雇用谁的方式,因此无论这个手段是否为理想的评估形式,我们都需要在其中表现良好。《斩获offer:IT名企面试策略与编程笔》致力于教你如何使自己的编程技巧适应面试问题的特殊性,并提供所需的准备和练习,以便你在面试中表现卓越,获得期待的工作。
如何使用《斩获offer:IT名企面试策略与编程笔》
准备是主导编程面试过程的关键。以下是有关如何有效使用《斩获offer:IT名企面试策略与编程笔》准备编程面试的一般准则:
● 给自己足够的时间做好准备。尽早开始准备,最好在面试前几周甚至几个月。需要时间来理解《斩获offer:IT名企面试策略与编程笔》提出的概念(如果没有那么多时间,试着留出一些不间断的时间来研究这些材料)。
● 练习回答问题。不要只阅读解决方案。被题目卡住时,根据答案提示推进解决问题并验证答案。尝试模拟面试经历。面试时在纸上或白板上写代码的机会很多,多练练这个!要想通过笔而非键盘来引导大脑编程,确实需要一定练习才可以。
● 确保了解基本概念。理解问题背后的概念是成功的关键。不要跳过或掩盖自己不理解的材料。《斩获offer:IT名企面试策略与编程笔》提供了足够的解释来刷新你以前学过的主题,但如果遇到一些自己已经完全忘记或从未学过的东西,你可能需要在其他参考资料中阅读更多相关内容。
● 不必记住问题答案。面试官不太可能提出《斩获offer:IT名企面试策略与编程笔》中的任何问题。即使他们这样做,他们也可能以任何方式改变问题。如果通过死记硬背来作答,那么答案可能无法正确。
● 不断练习。完成《斩获offer:IT名企面试策略与编程笔》的学习后,准备工作不能停止。继续研究编程问题。这些题目很容易在互联网上找到。查找其他参考资料(特别是在专业领域方面),继续阅读。
就是现在,我们开始吧!