前言
西雅图是一个IT氛围很浓的地方,这里是微软和亚马逊的总部所在地,Google、Facebook 等很多知名公司都在这里有研发中心。一群程序员聚在一起,总会谈到谁去这家公司面试了,谁拿到了那家公司的Offer。这让我有机会从多个角度去理解编程面试,也更加深入地思考怎样刷题才会更加有效。
如果要想做好面试,确实应把面试当作一门技巧来学习, 更重要的是要提高自身的能力。
在向我汇报的员工中有面试发挥很好但工作平平的,也有面试一般但工作优秀的。对于追求职业发展的人来说,通过面试只是迈过一道门槛而不是目的,真正的较量是在入职后的成长。就像学钓鱼,你可能在有经验的垂钓者的指导下能钓到几条鱼,但如果没有学到垂钓的真谛,离开了指导者,你可能就很难钓到很多鱼。我希望读这本书的朋友不要只学一些技巧来应付面试,而是通过学习如何解决面试中的难题来提高自己的编程和解决问题的能力,进而提高自信心,在职场中迅速成长。
本书优点
-
从面试官的视角来剖析面试题
-
总结了解决面试难题的常用方法,而不仅仅是解决一道道零散的题目。
-
收集的面试题都是各大公司的编程面试题,极具实战意义。
-
这本书附带提供了80道编程题的完整的源代码,其中包含每道题的测试用例。
这本书主要是提供一种面试技巧和学习思路,并不区分用何种语言;好了,不废话了,直接上书。
本书内容
全书分为7章,各章的主要内容如下:
【需要完整版的朋友可以添加小助理vx:mashibing0218 即可获取免费下载方式】
第1章:
介绍面试的流程。通常整个面试过程可以分为电话面试、共享桌面远程面试和现场面试3个阶段,每轮面试又可以分为行为面试、技术面试和应聘者提问3个环节。本章详细讨论了面试中每个环节需要注意的问题。其中,1.3.2 节深入讨论了技术面试中的5个要素,是全书的大纲,接下来的第2~6章将逐一一讨论每个要点。
第2章:
梳理应聘者在接受技术面试时需要用到的基础知识。本章从编程语言、数据结构及算法3个方面总结了程序员面试的知识点。
第3章:
讨论应聘者在面试时写出高质量代码的3个要点。通常面试官除了期待应聘者写出的代码能够完成基本的功能,还能应对特殊情况并对非法输入进行合理的处理。读完这一-章,读者将学会如何从规范性、完整性和鲁棒性3个方面提高代码的质量。
第4章:
总结在编程面试中解决难题的常用思路。如果在面试过程中遇到复杂的难题,那么应聘者最好在写代码之前形成清晰的思路。读者在读完这一章之后,将学会如何用画图、举例和分解这3种思路来解决问题。
第5章:
介绍如何优化代码的时间效率和空间效率。如果-一个问题有多种解法,那么面试官总是期待应聘者能找到最优的解法。读完这一章,读者将学会优化时间效率及用空间换时间的常用算法。
第6章:
总结面试中的各项能力。在面试过程中,面试官会一直关注应聘者的学习能力和沟通能力。除此之外,有些面试官还喜欢考查应聘者的知识迁移能力、抽象建模能力和发散思维能力。读完这一章,读者将学会如何培养和运用这些能力。
第7章:
是两个面试案例。在这两个案例中,读者将看到应聘者在面试过程中的哪些举动是不好的行为,而哪些表现又是面试官所期待的行为。衷心地希望应聘者能在面试时少犯甚至不犯错误,完美地表现出自己的综合素质,最终拿到心仪的Offer。
【需要完整版的朋友可以添加小助理vx:mashibing0218 即可获取免费下载方式】
总结
-
首先:对于一本书来说,必定有好有不好的地方,即使是经典流传之作,也未必能符合所有人的胃口,我们看书,就是要从书中学到自己欠缺的东西,提升自己,而不是去找作者什么的毛病,那样只能说你是一个乐于勘误的人,也许你想从这里证明自己,但是我想侧重于那些之后,你也没有心境去做一个好的读者了。
-
第二:对于一本书来说,不排除有其客观的质量,但是带给一个人的收获和提升不单单与此相关,更加重要的是,你如何去读这本书,你以一个什么样的心态去读这本书,这就如同你准备一门考试是以要考满分的标准去准备,还是仅仅要求自己及格,两种心态得到的结果必然大不相同。在此又想到了以前一些老前辈,他们每天看的书我想没有我们这么丰富,大概也只是一些无味的教材,但是这却不能影响他们做出卓越的成就,因为他们读书的心态很大气。
-
第三:现在市面上有这么多书可供选择,我想何老师这本书就题材来说也没有说特别新颖,里面一些面试题在网上博客上也可以找到,但是一本书就是看谁来写,同样的问题,一些人的境界不同,所以他们解决问题的想法不同,思路不同,带给人的感受不同,而这些感受,才是真正能让我们进步的。
-
第四:我看这本书,先看问题,然后写程序,然后对照,然后思考,再写,每一道题都感觉在现场面试,我终于明白一个月之前的我写出的程序是多么的幼稚,多么的让人无语,先前对于实习面试的耿耿于怀终于释然,要是我是面试官,我想,我也绝不会要那个时候的自己的。
-
第五:写程序,思路固然重要,清晰之后再去写会快,程序只是表达自己的想法的工具。代码正确、规范是基础;鲁棒性是关键点;可扩展性是加分点。
-
最后,不管如何,感谢何老师,感谢自己的这接近两个月的闭关修炼,让我自己成长了很多,我会继续努力的。马上快找工作了,希望自己能找到一份满意的工作,另外希望大家都能不断提升自己,实现自己的价值与理想。
网友评论