Java面试题~大全.doc

上传人:一*** 文档编号:573894 上传时间:2018-10-30 格式:DOC 页数:190 大小:964.50KB
返回 下载 相关 举报
Java面试题~大全.doc_第1页
第1页 / 共190页
Java面试题~大全.doc_第2页
第2页 / 共190页
点击查看更多>>
资源描述

《Java面试题~大全.doc》由会员分享,可在线阅读,更多相关《Java面试题~大全.doc(190页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、.班 级:_姓 名:_联系电话:_Java高级软件工程师.写在前面的话从我们翻开厚厚面试题学习开始,预示着我们离开学校的脚本越来越近了,就业压力越来越大了。偶尔会在脑海中勾画、想像我们以后工作的情景了,而步入社会参与竞争的第一步就是从学习如何面试!如何找工作开始。面试包括人事交流沟通与技术问答等相关环节,在这本面试题书中包含了这两部分内容,第一部分主要讲人事问题的一些常见问题,第二部分讲技术问答。在技术面试问答题中无法将所有公司可能问到的所有问题都一一收录进去;也无法对每个问题,每个知识做深入精细的分析讲解,因为这是一个没有结点的工作,所以除了学习这本书上的面试问答的知识外与课程相关的知识我们

2、也要去学习。在学校期间我们在学习老师教授给我们的专业知识的同时还有些知识是无法在学校的课堂中吸取到的,如:缓存 cache、事务与并发、海量数据、 Lucene、NoSQL 、Hadoop、系统日志、单点登录、UI 框架、项目管理与集成、设计模式、移动互联网开发、各公司自有开发框架等等,还有很多很多,因为软件开发行业所包含的技术包罗万象。我们虽然了目前软件行业的主流技术,但也有一些企业,因架构师或项目经理的技术特点,会选择一些我们未接触或未听说过的的技术架构,那么作为即将步入软件工程师行业的我们,必须要有重新学习新技术的心态和作好准备学习新技术的准备。同样,在以后的工作过程中也会遇到一些我们之

3、前未接触过的技术或未遇到的项目 Bug,这些都在要求我们在今后的工作和学习中还需要不断的学习,另外还要持有一颗:生命不息,学习不止的心。只有这样,我们才能成为软件行业与时俱进的技术人才。最后也希望每位 IT 学子,通过面试题能够获得更多的收获,学有所成。也预祝每们学子能找到自己满意的工作。.1、 简历制作与面试技巧 简历相关1) 简历要求简历主要是用人单位用来认识你、了解你的一种方式或一种参考,这点很重要。因为用人单位和你都不太了解对方,无论对你或者用人单位而言都是第一次打交道,在刚开始接触中。对你而言简历是你想要展现你的过去的一种形式。另外简历是我们在求职过程中与用人单位打交道的第一环节,这

4、个环节过关了,才有可能进入下一环节。所以我们要认真的准备我们的简历,把我们优秀的过去通过简历来展现给面试官;让面试官通过简历来认识、了解你过去的经历。2) 简历内容包括个人基本信息、专业技能、工作经历、项目经验、所获证书、个人评价等内容。这些内容决定了你是否符合招聘岗位要求。基本信息:面试官通过这部分来了解你是男,还是女,年龄、工作经验、应聘岗位、最高学历,看看这些方面是否符合他的招聘要求。专业技术:面试官通过专业技术主要了解你对各种专业技能的掌握和使用情况,对比你所具有的这些技能是否符合他所招聘的岗位技能。工作经历:面试官主要来了解你之前是否有工作的经验的人,还是应届生等等。项目经验:面试官

5、主要看看你是否有从事过相关工作的实际开发经验。所获证书:看看是何种证书,证书的含金量怎么样。人个评价:看看你的综合素质、个人性格等方面3) 简历示例 基本信息个人信息 姓 名: XXXX 性 别: XX年 龄: 22 现 居 地: XX 市 XX 区毕业院校: 湖北大学 工作经验: 2 年专 业 计算机科学与技术 学 历: 本科联系电话: XXXX 应聘职位: JAVA 软件工程师电子邮件: XXXX 专业技能专业技能 熟悉 C、C# 、Java 等程序设计语言。 熟练掌握 HTML、XML、CSS 层叠样式、Javascript 等前端脚本语言 熟练使用 Struts1、Struts2 、S

6、pring3、Hibernate3、MyBatis 、JQuery 等主流开源框架进行应用开发。 熟练使用 Oracle,SQLServer,MySQL 关系型数据库。 熟练使用 Tomcat,Weblogic, JBoss,Apache HTTP Server 等服务器。 熟练使用 MyEclipse,Dreamweaver ,PL/SQL,PowerDesiger 等开发工具。 . 熟悉 JBPM 工作流引擎原理 工作经历工作经验 工作时间 单位 职位2010.32012.12 武汉智诚信息科技有限公司 Java 工程师2009.5-2010.1 中地数码武汉分公司 Java 工程师 项目

7、经验项目经验 1 2010 年 4 月-2010 年 10 月: 项目名称: 湖北黄冈市房地产税收一体化系统 开发框架: Struts2.0+Hibernate3.0+Spring2.0+Jquery+Xfire 开发环境: jdk、tomcat、eclipse 数据库: Oracle10 项目背景:为了实现客户方无纸化办公,提高办事效率,以及实现对下属各税务分局进行统一的税收管理,该管理系统包括:税源信息管理、纳税评估、行政执法、综合查询、系统设置、信息变更、电子档案、保有环节、信息比对、零散契税 10 个大模块。 责任描述:(1)首页电子地图显示:主要基于电子地图框架 MapEasy 进行

8、二次开发,在原型功能上实现地物标注、等级缩放、瓦片移动、地图切换等功能。二次开发后通过地理位置显示各税务局所属片区土地交易信息、在建项目工程信息、并按坐标进行标注显示、查看、预览效果图,实现更方便、快捷、直观的操作和显示功能。(2)各行政区税费统计:主要根据不同地税分局统计出欠税纳税人数、欠税总金额、应缴总金额、已缴总金额等,并以图形方式显示数据。(2)系统设置:主要包括用户管理、权限设置、个人纳税人管理、单位纳税人信息管理、土地管理、税率设置、地图管理、基础数据管理。 面试环节1) 面试准备1、了解清楚岗位需求与岗位职责。2、检查简历描述是否与所应聘的岗位需求一致。3、了解用人单位的一些基本

9、信息,如:从事什么行业的,公司产品、岗位要求4、准备好用人单位所需的一切证件,以免白跑一趟。2) 面试过程1、普通话标准。2、表现要自信、大方。3、沟通交流过程中表情自然、得当。4、着装要让人感觉很正自然、看着很舒服。5、交流过程中懂得谦让和尊重面试官3) 面试自我介绍1、介绍个人基本信息,包括毕业院校。2、介绍之前的工作经历,包括岗位名称.3、介绍之前参与的项目,包括客户方名称、技术架构4) 面试注意事项内容过多,附网址:http:/ ,是 iteye(专业 Java 技术站点)上主要针对 IT 行业求职过程分析和求职问题注意事项,包括如何写简历、如何跟 IT 经理面谈等内容。作为一个即将步

10、入IT 行业的初级程序员来说里面的内容不可错过。2、 职场相关人在求职或学习生活过程中,很多知识和信息是通过环境给我们传达的,下面我们随着这些问题来学习一下工作环境中的学问,请回答以下题目: 学习教育、培训相关1、你们学校是属于几本?2、你的学历是全日制,还是非全日制?全日制3、你为什么选择你所学的专业?有什么原因?4、你能列举一下:大一、大二、大三、大四分别学了哪些课程?你比较喜欢哪门课程?为什么喜欢?大一:C 语言程序设计 毛邓三 计算机科学导论 法律基础 大学英语大二:数据结构 计算机原理 面向对象程序设计语言大三:数据库理论 操作系统 计算机网络大四主要是一些实习和毕业论文5、你毕业的

11、毕业论文是什么题目?主要内容是什么?花了多长时间?是否有答辨,你的导师是怎么评论你的论文的?浅谈 超市收银系统2-3 个月 有答辩 毕业论文满分 20 分 我得了 20 分6、你毕业时修了多少学分?毕业时取得了哪些证书?是否有学位证?180 个学分 大学英语四级 有7、你的英语过了几级?英语的成绩是多少?过了四级(英语四级简称 CET4) (英语满分 710 分 425 及格分数)8、说说你的大学生活?让你印象最深的是什么?9、你们学校有几个校区?每个校区有什么特点?你在哪个校区?附近有什么标志性的建筑?怎么到你们学校?10、你目前的档案在哪里?可以转到我们公司吗?. 职场相关1、你们公司在

12、XX(市)的什么地方?公司有多少人?有多少个部门?2、你们公司的网址是什么?联系电话是多少?3、你们公司的大致的组织机构是怎么构成的?你属于哪个部门,你们部门在职责的是什么?你在公司的职位?是的直接汇报对象哪个职位?4、你们公司主要面向哪些行业的?有哪些客户,列举一下?主要有做过哪些系统?5、你的项目经理叫什么名字,能介绍一下你对他的了解和看法吗?6、你在公司参与过哪些项目?你们公司跟哪些其它的公司有过合过?7、为什么离职?你有离职证明吗?8、你在公司做项目时,遇到困难怎么克服的?举例说明。9、你对加班怎么看?10、你和同事之间的关系怎么样?你怎么看待同事间相处关系?11、你所工作的城市有什么

13、特色?城市有什么特产可以向我们介绍的?有什么好玩的景点可以推荐一下吗?12、平时下班后做些什么?周末在家主要做什么?13、你的项目代码可以拿来我们看看吗?14、谈谈你对工资的要求?15、你以前的工资构成?16、你的工资扣税吗?是怎么扣的?17、你原来有保险吗?保险号是多少?你原来的公司还有什么福利?18、你来来的工作是向谁汇报,一般会汇报一些什么内容?19、你平时一般会访问哪些技术网站?.3、 技术面试题(1)Java 部分1、列举出 JAVA 中 6 个比较常用的包【天威诚信面试题】【参考答案】java.lang;java.util;java.io;java.sql;java.awt;;ja

14、vax.swing2、JDK 中哪些类是不能继承的?【信雅达面试题】【参考答案】 不能继承的是类是那些用 final 关键字修饰的类。一般比较基本的类型或防止扩展类无意间破坏原来方法的实现的类型都应该是 final 的。3、String 是最基本的数据类型吗? 【天能智健面试题】【参考答案】 基本数据类型包括 byte、int、char、long、float、double、boolean 和 short。 所以 String 不属于基本数据类型范畴内,但 String 属于最常见一种引用类型。4、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1

15、+= 1;有什么错? 【博炎科技面试题】【参考答案】 对于 short s1 = 1; s1 = s1 + 1; 由于 s1+1 运算时会自动提升表达式的类型,所以结果是 int 型,再赋值给 short 类型 s1 时,编译器会提示错误,需要强制转换类型。对于 short s1 = 1; s1 += 1;由于 += 是 java 语言规定的运算符,Java 编译器会对它进行特殊处理,因此可以正确编译。 【分析】主要考查几种基本数据类型在运算时的,由低到高会自动转换,而由高到低时会强制转换。5、Java 对象初始化顺序?【腾鹏科技面试题】【参考答案】 分为两种,一种是本类的初始化,一种是含有父

16、类的初始化顺序。这里分开来说,本类的初始化顺序是:静态变量、静态初始化块、变量、初始化块、构造函数继承类的初始化顺序是:父类静态变量、父类静态初始化块、子类静态变量、子类静态初始块、父类变量、父类初始化块、父类构造函数、子类变量、子类初始化块、子类构造函数。【分析】static.System.out.println(“静态块“);System.out.println(“初始化模块“); public ClassName() System.out.println(“构造方法“);说明:原则上回答全面的话,应该是完整的说出带有继承的这种类的初始化过程,下面有个步骤可以参考:1.装载程序的时候首先找

17、到的是它的基(父)类,如果有多层基(父)类则会一级一级的往上找最后找到根基(父)类。 2.执行根基础(父)类中的 static 初始化,再执行下一个衍生类中的 static,依此类推,一直保持这个顺序。3.此时类已经装载完毕,开始创建对象,所有的基本数据类型都会设成它们的默认值,对象句柄设为 null4.调用基础(父)类的构造方法,基础(父)类的构建采用与衍生类构造方法完全相同的处理过程。5.构造方法初始完之后,进行变量的初始化。6.执行构造方法中剩余的部分。6、写几个线程安全类,不安全的,支持排序的类名?【软通动力面试题】【参考答案】 线程安全类:Vector 、Hashtable、Stac

18、k。 线程不安全的类:ArrayList、Linkedlist、HashSet、TreeSet、HashMap、TreeMap 等。 支持排序的类有 HashSet、LinkedHashSet、TreeSet 等(Set 接口下的实现都支持排序)【分析】此题主要考查集合框架的知识。在集合框架中 Collection 接口为集合的根类型,提供集合操作的常用 API 方法,该接口下派生出两个子接口,一个是不支持排序的 List 接口,一个是有自身排序的 Set 接口,所以回答排序与不排序分别从两接口的实现中在作答。线程安全上来说,Vector 类比同属于 List 接口的 ArrayList 要早

19、,是一个线程安全的类,在 JDK1.2 以后才推出一个异步的 ArrayList 类,比 Vector 类效率高。同理 Stack 继承自Vector 也线程安全的类,另外在在 Map 接口的实现在 Hashtable 也是个线程安全的类。7、哪几个方法可以实现一个线程?【上海华信面试题】【参考答案】一是继承 Thread ,重写 Thread 类的方法 run 方法;另种是实现 runnable 接口并实现 run 方法。【分析】考查线程的基本实现,很多公司喜欢考查这方面知识,另外补充一下关于线程的 run方法,在多线程 API 中启动一个线程是调用 start()方法,线程进入就绪状态。.

20、8、STOP()和 SUSPEND()不推荐使用的原因?【参考答案】 stop()是因为它不安全。它会解除由线程获取的所有锁定,当在一个线程对象上调用stop()方法时,这个线程对象所运行的线程就会立即停止 ,假如一个线程正在执行:synchronized void x = 3; y = 4; 由于方法是同步的,多个线程访问时总能保证 x,y 被同时赋值,而如果一个线程正在执行到 x = 3;时,被调用了 stop()方法,即使在同步块中,它也干脆地 stop 了,这样就产生了不完整的残废数据。而多线程编程中最最基础的条件要保证数据的完整性,所以请忘记线程的 stop 方法,以后我们再也不要说

21、“停止线程”了。而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。suspend()方法容易发生死锁。调用 suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被“挂起“ 的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就 会造成死锁。所以不应该使用 suspend(),而应在自己的 Thread 类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用 wait()命其进入等待状态。若标志指出线程应当恢复,则用一个 notify()重新启动线程

22、。 【分析】9、“=“和 equals 方法有什么区别?【中科软】【参考答案】=操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用=操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存) ,变量也占用一块内存,例如 Objet obj = new Object();变量 obj是一个内存,new Object()是另一个内存,此时,变量 obj 所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向

23、同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就需要用=操作符进行比较。equals 方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。例如,对于下面的代码:String a=new String(“foo“);String b=new String(“foo“);两条 new 语句创建了两个对象,然后用 a,b 这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即 a 和 b 中存储的数值是不相同的,所以,表达式 a=b 将返回 false,而这两个对象中的内容是相同的,所以,表达式 a.equa

24、ls(b)将返回 true。在实际开发中,我们经常要比较传递进行来的字符串内容是否等,例如,String input = ;input.equals(“quit”),如果一个类没有自己定义 equals 方法,那么它将继承 Object 类的 equals 方法,Object 类的 equals 方法的实现代码如下:boolean equals(Object o)return this=o;.这说明,如果一个类没有自己定义 equals 方法,它默认的 equals 方法(从 Object 类继承的)就是使用=操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用 equals 和使用

25、=会得到同样的结果,如果比较的是两个独立的对象则总返回 false。如果你编写的类希望能够比较该类创建的两个实例对象的内容是否相同,那么你必须覆盖equals 方法,由你自己写代码来决定在什么情况即可认为两个对象的内容是相同的。10、静态变量和实例变量的区别? 【参考答案】 在语法定义上的区别:静态变量前要加 static 关键字,而实例变量前则不加,类中的成员变量也属于实例变量.在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何

26、实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个 staticVar变量,并且每创建一个实例对象,这个 staticVar 就会加 1;但是,每创建一个实例对象,就会分配一个 instanceVar,即可能分配多个 instanceVar,并且每个 instanceVar 的值都只自加了 1 次。public class VariantTestpublic static int staticVar = 0; public int in

27、stanceVar = 0; public VariantTest()staticVar+;instanceVar+;System.out.println(“staticVar=” + staticVar + ”,instanceVar=” + instanceVar);备注:这个解答除了说清楚两者的区别外,最后还用一个具体的应用例子来说明两者的差异,体现了自己有很好的解说问题和设计案例的能力,思维敏捷,超过一般程序员,有写作能力!11、构造器的名能不能和类的名字相同? 【参考答案】 构造器的名称必须与类名相同。【分析】构造器或构造函数(有些书这样叫)主要用来对类的成员变量进行初始化,当类创建实例时调用。12、在一个主方法类可不可以调用一个非静态的方法?【参考答案】

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁