进入IT企业必读的324个Java面试题
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

从企业面试的角度来梳理Java程序员的技术功底

以技术经理的眼光来审视对Java编程知识的掌握

随着Java框架的逐渐成熟,其功能越来越强大,使用越来越简便,其使用范围越来越广,使用人数也越来越多。Java在带来方便的同时,无形中也带了不便,作为软件开发的王牌语言,各企业对Java程序员的要求也不断的提升,所以,求职面试成了Java程序员们最头疼又不得不面对的现实。为了给广大Java程序员面试提供最贴心的指导,作者搜集整理了大量Java程序员面试的资料,并结合自己主持面试的经历,写作了本书,希望能对广大Java程序员的面试具有一定的指导意义。

求职者在面试中的常见问题

同样作为软件开发出身的我,身边有朋友,也有同事。在和他们交谈的过程中,我发现现在的面试难度要比以往难得多,自以为准备得很充分,胸有成竹地认为可以顺利通过,但事实并非如同他们预想的那样,面试常见的问题如下:

(1)面试过程中不是题目颇深就是难度颇大,不经过缜密细致的思考是不会得出正确答案的。例如,String s = new String("xyz");创建了几个String Object呢?这个问题还真得好好想想,不要轻易地下结论。

(2)陷阱是又多又狠,隐藏得很深,没有一双慧眼还真难辨虚实。例如,if(-0.0 == 0.0)是相等还是不等?

(3)面试的花样也越来越多,在比较传统的笔试→面试的基础上,又增加了相当折磨人的“魔鬼测试”→“压力测试”,而且这种测试相当火,很多招聘企业都在使用。例如,“你都将自身排到最后一名了,你还会被录用吗?”如果你是面试者该怎样回答呢?

(4)增加了综合测试及外语能力测试。现在商品都实行了面向全球化,自然IT领域也有面向全球的发展趋势,同时,随着越来越多的外籍人员的加入,很多企业不得不对外语提高重视力度。面对这样那样的问题,有些经验丰富的高级程序员都应接不暇,更何况是刚走出校园的白面小生。例如,考官会让面试者用英文进行自我介绍,这是外语能力测试最基础的测试内容。

本书的特点

针对上面的种种情况,笔者凭借在IT界多年的工作经验和多个大型实际项目开发的优势,由原来的一个普通职员晋升为一个去考别人的主考官,主要负责公司技术人员的面试工作,通过一年多的面试经验和与公司内资历比较深厚的HR经理的多次交流,总结了一些面试中常见的问题,对考官提出的灾难性问题给出了巧妙的应答。从面试题目内容的角度总结和归纳出知识点,帮助读者快速准备Java程序员的面试,提高晋级的机会。

需要声明的是,本书不是一本教程,不会细致到每一个操作步骤的说明、每一个细节的详细讲解、每一个开发工具的安装过程。本书主要是为有了一定Java基础却无法应对面试的人而服务的。本书希望通过一些建议和方法帮助他们尽快就职。

建议读者在熟练掌握相关技术内容后再阅读本书,也不要认为“宝典”是一本万能书,一个合格的程序员,不是混过面试就能万事大吉的,具备扎扎实实的编程技术才是最重要的。本书具有如下特点:

• 针对性强,用来帮助读者应对Java程序员面试。主要包括职业规划的设定、中英文简历的制作、简历投递的注意事项、如何加大简历的浏览数量、面试的相关流程和应对突发事件的技巧等。

• 考前回顾,在进入每章的试题分析之前,都会有相应的知识点回顾,可以帮助读者理解该章的考试重点。

• 选取各大公司的经典试题,每个试题都会有详细的试题分析,可以帮助读者加深理解。

• 层次分明,会对重点内容进行细致的讲解和描述,对次要的内容讲解篇幅略短,有的甚至会一带而过,可以帮助读者分清主次,了解应该在哪些地方多下工夫,不会出现盲目不知所措的局面。

• 涉及内容广泛,涉及技术新,例如在其他相关面试书籍中从未出现过的EJB3.0规范等内容。

• 操作性强,本书含有大量经典的、出现频率颇高的上机测试题,可以帮助读者加深理解。

本书的主要内容

第一篇(第1章)介绍了求职面试前都需要做好哪些准备工作:如何做好自己的职业规划;掌握面试的流程,在以后的面试中不会感到陌生,消除恐惧;怎样制作一个令人满意、访问量高的简历;去参加面试的时候着装上都需要注意什么;了解面试官会经常问的问题,以备不时之需;对于多个offer(录用通知)需要选择时,是选择大公司还是小公司?

第二篇(第2章~第13章)介绍了Java程序员涉及的基础知识,内容包括Java语言基础、异常的处理、I/O控制流、面向对象编程、线程、集合以及数据库技术等基本知识点。

第三篇(第14章~第16章)专门介绍了Java开发的高端Web开发的相关题目,内容包括J2EE技术、XML/UML以及Servlet/JSP技术。

第四篇(第17章~第18章)专门介绍了基本的上机编程题目,涉及常见的算法、字符串操作和常见的排序原理相关题目。同时介绍了常见的对数据库操作的SQL语句。另外还介绍了目前经常出现的思维拓展题目,首先介绍了思维拓展编程题目,该题目的特点是需要自己建立模型,然后编程实现;最后介绍了一些智力测试题,帮助读者熟悉出题思路和解答技巧。

适合阅读本书的读者

本书具有涉及面广、分析透彻、实例精彩的特点,力求以全面的知识性及丰富的实例来指导读者突破面试难关。本书可以作为初中级Java程序员以及想了解Java或者相关技术的人员的参考书籍,特别适合想从事Java程序开发的毕业生学习使用。

编著者