电脑桌面
添加蜗牛文库到电脑桌面
安装后可以在桌面快捷访问

java工程师面试

栏目:合同范文发布:2025-01-29浏览:1收藏

java工程师面试

第一篇:java工程师面试

精通java语言及面向对象思想 具有扎实的java编程基础和良好的编程规范

精通 jsp语言 html语言 javascript脚本以及css 样式

熟练掌握sqlserver oracle 数据库

熟练使用Spring+Hibernate+Struts 以及 Spring+JDBC+Struts开发

精通Struts+jdbc开发 精通MVC框架开发

精通tomcat运用服务器 熟悉weblogic运用服务器 并可配合eclipse进行开发 熟练使用ant log4j junit 等辅助开发工具

熟练使用CVS/VSS项目同步工具

对factory DAO singleton 等软件设计模式有很好的理解

对oracle数据库性能及oracle代码的规范性和java代码执行效率以及java缺陷有很好的理解与掌握

熟悉大型项目的开发流程 对业务需求能很好的细致理解,熟练书写概要设计 需求分析 详细设计等文档

2年多累积java代码30000行 数据库代码10000行 具有实际大型项目(江苏电信)开发经验和个人独自完成小项目的能力

具备强烈的学习欲望,工作认真负责,且具有很强的责任心和进取心,与人为善善于沟通,有很好的团队合作精有神。

江苏移动秘书 12580 负责个人电话本和呼叫信息增删查改的开发

负责江苏移动秘书两个版本IVR接口csp3.0以及csp6.0的切换开发,录音放音的控件的使用,使用rational rose绘制UML用例图,类图,时序图等在项目中熟练使用cvs和vss开发同步工具,灵活运用ajax特效,buffalo特效,熟练书写存储过程,函数,等ORACLE代码以及基于定时器的函数。

第二篇:java工程师面试自我介绍

java工程师面试自我介绍范文

面试自我介绍是Java开发工程师求职者面试前必练的内容,也是Java开发工程师求职面试中的重要一环。下面是有关Java开发工程师的面试自我介绍范文,以供大家阅读。

java工程师面试自我介绍范文(一)我叫XXX,今年22岁,毕业于XXX计算机科学与技术专业。由于非常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分注重对专业课的学习,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB;熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发。因为专业课知识掌握牢固,以专业第一的综合成绩毕业。

然而,我深知仅有专业知识是不够的,社会需要的是高素质复合型人才,因而在校期间学习之外,我积极参加各种社会实践活动,曾参与过学院上虚拟实验室开发的需求分析,大三暑假曾在浪潮软件园实习,参与了电信增值软件开发与编挰,通过亲自动手及不断地向有经验的工程师请教学习,实习结束时我已经基本掌握整个Java平台的核心技术,独立编程能力大大提高。同时实习生活也让我意识到从事Java编程工作团队合作的重要性。

虽然我的实际工作经验还不是很丰富,但相信有了扎实的专业基础知识和实习期间的实践经验,加上好学上进的精神,我能够胜任应聘岗位需求。希望贵公司给我这次机会。

java工程师面试自我介绍范文(二)各位尊敬的考官:

大家下午好!很荣幸能在这里面试,让我有向各位考官学习与交流的机会,现将自己的情况简要介绍一下:

我叫xxx,出身在xx。性格比较温和、谦虚、认真细致、踏实、吃苦耐劳、有较强的责任心和社会适应能力。即将于xx年xx月毕业于河南工业职业技术学院,作为一名软件专业的大学生,我更喜欢平面设计,在大学三年的学习生活中,我对平面这一领域的相关知识有了一定的掌握,同时具有实际的操作能力与技术。

为了使在校所学的知识更好地应用到实际生活中,于xx年xx月有幸来北京中科院计算机所培训中心,通过三个月的实践训练,全面系统地学习了平面方面的专业知识与技能,能够应用平面设计的相关软件(photoshop图像处理软件、illustrator与coreidraw矢量绘图软件、indesigin与pagemaker排版软件)做基本的图像处理、海报、企业宣传册等,能够将所学知识真正应用到实际生活中。

在投身于社会之际,为了找到符合自己专业和兴趣的工作,更好地适应社会,我希望自己能够做到一种被别人需要的一种状态,至于做什么,就是在实践中,不断的学习、不断的锻炼。因此,我希望加入贵单位,如果能够成为公司的一份子,我相信我一定在自己的岗位上尽职尽责、踏踏实实地贡献之集的一份力量,与公司共同促进、发展。

“世界之大,人才济济”。我承认之集还不是最优秀的人才,但是我希望之集是此岗位最合适的人选,希望有幸能够被贵公司领导予以特别考虑。今后我在好的方面再接再厉,不足之处有所改善,我的介绍到此结束。谢谢!

第三篇:阿里面试经历(java工程师)

阿里面试经历

(Java工程师)

拿到阿里巴巴的offer,我自己都不敢相信,运气占了很大一部分,谢谢带给我好运的所有人。

谈谈整个应聘过程的心得吧:

国庆还没过完,10月5号我就赶回学校了,因为我知道接下来时间紧迫,要抓紧时间投简历。根据各大公司的网申截止日期,10月6号我投了3份简历,分别是:中国电信合肥分公司、搜狐、阿里巴巴。10号晚阿里来科大做宣讲会,我并没有过去,听说没有网申的同学可以在现场领一个号码参加第二天上午的笔试。我也收到了通知面试的邮件通知,阿里的笔试每个人都有机会参加,只要你愿意就可以参加。

笔试:我报的是java研发工程师,但是我之前没有搞过java,只是了解一些java的基本语法。因此笔试我没有自信,笔试前夜我还借了本 java书临时抱了一下佛脚,好像没什么用。第二天上午跟随大家去笔试,到了发现人非常多,3个教室都坐得满满的,后来知道有700多人参加了笔试。试卷分为卷1java部分、卷2c++和搜索部分、卷3公共部分。卷1卷2选做一个(25道选择题),卷3都要做(15道选择题+2道主观题),我选的是卷 1,感觉知识面很广,题目我基本都不会,还好都是选择题,不会就碰运气。卷3感觉像是行测,有的题目很简单有的比较难,后面还有两个主观题,都是网站和互联网方面的,这方面我比较擅长,就扯了很多。有的人这两道题没有做,所有后来没有机会参加面试,很可惜。

面试:笔试过了,很多人都接到了面试通知,我也接到了。后来才知道参加面试的有200人,阿里还真是海面。当晚又抱了一下佛脚。通知我的面试时间是11点40,我11点06到场,发现很多人都在等待,遇到我们班前批的同学,有的是9点多面试都还没轮到。然后我们就直接去科大食堂吃饭了(ps:吃饭时我旁边的两个女生一直讨论高数的一个定理,科大mm就是强啊),吃完了我们继续等待。我们班已经有面试出来的了,结果都不太好,我就想自己就当是积累一次面试经验吧,不指望能通过。12点50多终于轮到我了,1面的gg人很好,总是笑嘻嘻的,我先自我介绍了一下,然后说明我一直都在搞php,java没搞过,他说没关系。然后开始问我一些java基本知识,不会的我就直接说不会,他也没为难我,就找更简单的问我,始终态度都非常好。了解了我的java水平后就考我两个简单的算法(判断回文和排序),我也顺利的写出来了,然后问了我一些数据库方面的知识,最后就是项目和实习方面的情况。我也基本上和他配合的很好,说到我擅长的就滔滔而谈,不会的就直接说不会。整个面试轻松愉快,持续了近一个半小时,最后他和我说:一面我让你过了,二面就看你的运气了。然后给我写下评语,后来我无意中看到评语,对我的评价很高,真的很感谢这位gg,不然二面就不会那么容易过了。

一面过了都14点10几分了,继续等待二面,外面等候区的人还是非常多。等了3个多小时,17点多才喊到我,幸好外面有本班同学边聊天边等,不然就等急死了。二面是个主管级的人物,感觉很沉稳,看到一面考官给我评语,对我的印象应该还不错。开始问了我一些java基础方面的知识,我拼拼凑凑总是混过去了,他知道我懂得不多也没深问。然后就开始谈php,他对php应该是比较了解,这也是我的强项,我就滔滔而谈,他也很满意我的答案,最后直接告诉我通过了。这轮大概持续了40多分钟。

出来等3面,过了十几分钟就喊道我了,这次是位很nice的hrjj,因为3面不问技术,我也很放松。hr问了我一些性格、与人相处、优缺点等等,我就当聊天随便应答了,她也比较满意,直接让我等6点半的小测试。这时我基本知道就剩最后的性格测试了,应该没什么问题了。很happy地跑出去了。

6点半,面试基本结束了,考官们都提上行李走了,只剩下我们20多个过了3面的(基本都是科大的,安大的2个,工大的2个),还有几位hrmm。性格测试,30道选择,要第一时间作答,做的时候几位hr不停地在旁边干扰,我就按实际选了答案,是中间交上去的。hr在旁边不停地催促、加压。全部交完后,她们就进去统计结果,十几分钟后,一个hrmm出来念了两个名字,和他们说了几句话,然后那两个人就直接拿上自己的包走了。当时我们都惊呆了,这种小测试居然还刷人,而且是两个,要知道这里的人都是千军万马杀出来的,听说其中一个还是博士,太可惜了。

然后hr告诉我们剩下的都通过了,告诉我们如何签协议等细节。接下来就是挨个进去领offer了,我是第二个,进去后发现我们班还有个一直在里面面试并拿到offer了,甚喜。然后我们就一起回校了。

虽然拿到offer,但是还是很感谢运气以及一面那位gg,总之运气是非常好,自己都没有想到会有这个结果。各位还在找工作同学要加油啊,相信自己,一切皆有可能!

面试官提的问题:

一面:先自我介绍,开始问我一些java基本知识,然后问了我一些数据库方面的知识,最后就是项目和实习方面的情况。

二面:始问了我一些java基础方面的知识,然后就开始谈php,他对php应该是比较了解,这也是我的强项?

第四篇:JAVA工程师

【岗位职责】

1.从事公司核心业务系统的开发、调试,参与产品的分析,设计、开发以及测试几个阶段;

2.编写系统开发文档、技术手册。

【任职资格】

1.计算机或相关专业本科以上学历,2年以上J2EE开发经验,有J2EE项目管理与项目设计经验优先;

2.精通Java编程,熟悉J2EE、MVC架构和UML建模语言等相关技术,熟练掌握面向对象的程序设计方法,熟悉或了解各种数据结构和算法模型;

3.能熟练使用开发框架:SpringMVC、myBatis、Spring;

4.熟练掌握Html、Css、Javascript、JSP、Servlet、XML、JDBC、SOA、AOP等J2EE常用技术;

5.能熟练使用MySql、Oracle等数据库产品,并能熟练编写SQL语句.6.能熟练使用Eclipse,IDEA等开发工具进行项目开发。

6.熟悉JBOSS、Tomcat等服务器产品,熟悉安装、调试、发布配置应用,熟悉Linux操作系统更佳;

7.有源码研究爱好者优先,如有参与开源项目请附上github或项目地址;

8.能承受一定的工作压力,有责任心、上进心,具备良好的自学能力和独立解决问题能力。

基本待遇:

富有竞争力的基本薪资+实际工资作为基数缴纳的五险一金+商业保险+工作日补助+加班补贴+各类国家规定的福利+公司内部特有员工福利等

第五篇:最新葵花宝典.Java软件工程师笔试面试必备(定稿)

Java软件工程师笔试面试必备

一.Java基础部分.........................................................................................6

1、一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?.................................6

2、Java有没有goto?..................................................................................6

3、说说&和&&的区别。.................................................................................6

4、在JAVA中如何跳出当前的多重嵌套循环?.............................................................6

5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?..............................6

6、short s1 = 1;s1 = s1 + 1;有什么错? short s1 = 1;s1 += 1;有什么错?...............................6

7、char型变量中能不能存贮一个中文汉字?为什么?........................................................7

8、用最有效率的方法算出2乘以8等於几?...............................................................7

9、请设计一个一百亿的计算器..........................................................................7

10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?.............................8

11、“==”和equals方法究竟有什么区别?................................................................8

12、静态变量和实例变量的区别?.......................................................................9

13、是否可以从一个static方法内部发出对非static方法的调用?.........................................9

14、Integer与int的区别..............................................................................9

15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?.............................................9

16、下面的代码有什么不妥之处?........................................................................9

17、请说出作用域public,private,protected,以及不写时的区别.........................................9

18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?...........................10

19、构造器Constructor是否可被override?.............................................................10 20、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?.........................................................................10

21、写clone()方法时,通常都有一行代码,是什么?.....................................................10

22、面向对象的特征有哪些方面........................................................................10

23、java中实现多态的机制是什么?....................................................................11

24、abstract class和interface有什么区别?...........................................................11

25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?.............13

26、什么是内部类?Static Nested Class 和 Inner Class的不同。........................................13

27、内部类可以引用它的包含类的成员吗?有没有什么限制?..............................................14

28、Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?....................................................................................................14

29、super.getClass()方法调用........................................................................15 30、String是最基本的数据类型吗?.....................................................................15

31、String s = “Hello”;s = s + “ world!”;这两行代码执行后,原始的String对象中的内容到底变了没有?......15

32、是否可以继承String类?..........................................................................16

33、String s = new String(“xyz”);创建了几个String Object? 二者之间有什么区别?......................16

34、String 和StringBuffer的区别....................................................................16

35、如何把一段逗号分割的字符串转换成一个数组?.......................................................16

36、数组有没有length()这个方法? String有没有length()这个方法?.....................................16

37、下面这条语句一共创建了多少个对象:String s=“a”+“b”+“c”+“d”;.....................................16

38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?.....................................................................................17

39、下面的程序代码输出的结果是多少?................................................................17 40、final, finally, finalize的区别。................................................................19

41、运行时异常与一般异常有何异同?..................................................................19

42、error和exception有什么区别?....................................................................19

43、Java中的异常处理机制的简单原理和应用。..........................................................19

44、请写出你最常见到的5个runtime exception。.......................................................19

45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?..............................................................................................20

46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?20

47、sleep()和 wait()有什么区别?...................................................................20

48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。........................................22 49.下面两个方法同步吗?(自己发明)................................................................22 50、多线程有几种实现方法?同步有几种实现方法?........................................................23

51、启动一个线程是用run()还是start()?.............................................................23

52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?............23

53、线程的基本概念、线程的基本状态以及状态之间的关系................................................23

54、简述synchronized和java.util.concurrent.locks.Lock的异同 ?....................................23

55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。.................25

56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。....................................................................................26

57、介绍Collection框架的结构.......................................................................31

58、Collection框架中实现比较要实现什么接口..........................................................31

59、ArrayList和Vector的区别........................................................................31 60、HashMap和Hashtable的区别.......................................................................31 61、List 和 Map 区别?...............................................................................32 62、List, Set, Map是否继承自Collection接口?........................................................32 63、List、Map、Set三个接口,存取元素时,各有什么特点?..............................................32 64、说出ArrayList,Vector, LinkedList的存储性能和特性...............................................32 65、去掉一个Vector集合中重复的元素.................................................................33 66、Collection 和 Collections的区别。...............................................................33 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?.....33 68、你所知道的集合类都有哪些?主要方法?............................................................33 69、两个对象值相同(x.equals(y)== true),但却可有不同的hash code,这句话对不对?.....................33 70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!................................................................33 71、说出一些常用的类,包,接口,请各举5个..........................................................34 72、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?......35 73、字节流与字符流的区别............................................................................35 74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。.....................36 75、描述一下JVM加载class文件的原理机制?...........................................................36 76、heap和stack有什么区别。........................................................................36 77、GC是什么? 为什么要有GC?........................................................................36 78、垃圾回收的优点和原理。并考虑2种回收机制。......................................................36 79、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 36 80、什么时候用assert。..............................................................................37 81、java中会存在内存泄漏吗,请简单描述。............................................................37 82、能不能自己写个类,也叫java.lang.String?........................................................39 83.Java代码查错........................................................................................40 二.算法与编程...........................................................................................43

1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。.............................................................43

2、编写一个程序,将d:java目录下的所有.java文件复制到d:jad目录下,并将原来文件的扩展名从.java改为.jad。....................................................................................................44

3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。..............................................................................................46

4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。...............46

5、说明生活中遇到的二叉树,用java实现二叉树........................................................47

6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:.......52

7、写一个Singleton出来。...........................................................................54

8、递归算法题1......................................................................................56

9、递归算法题2......................................................................................57

10、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。...........................................58

11、有数组a[n],用java代码将数组元素顺序颠倒.......................................................59 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。.......59 三.html&JavaScript&ajax部分............................................................................60 1.判断第二个日期比第一个日期大.....................................................................60 2.用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。....................................................................................................61

3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交?.............61

4、请写出用于校验HTML文本框中输入的内容全部为数字的javascript代码.................................62

5、说说你用过那些ajax技术和框架,说说它们的区别....................................................62 四.Java web部分........................................................................................62

1、Tomcat的优化经验.................................................................................62

2、HTTP请求的GET与POST方式的区别..................................................................62

3、解释一下什么是servlet;...........................................................................62

4、说一说Servlet的生命周期?........................................................................62

5、Servlet的基本架构................................................................................63

6、SERVLET API中forward()与redirect()的区别?.....................................................63

7、什么情况下调用doGet()和doPost()?...............................................................63

8、Request对象的主要方法:..........................................................................63

9、forward 和redirect的区别........................................................................64

10、request.getAttribute()和 request.getParameter()有何区别?......................................64 11.jsp有哪些内置对象?作用分别是什么? 分别有什么方法?..............................................64 12.jsp有哪些动作?作用分别是什么?...................................................................64

13、JSP的常用指令...................................................................................64 14.JSP中动态INCLUDE与静态INCLUDE的区别?.........................................................64

15、两种跳转方式分别是什么?有什么区别?..............................................................64

16、页面间对象传递的方法............................................................................65

17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?.......................................65

18、MVC的各个部分都有那些技术来实现?如何实现?.......................................................65

19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?65 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset...........................................................................................65 五.数据库部分...........................................................................................65

1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。...................................65

2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序...........................65

3、存储过程与触发器必须讲,经常被面试到?............................................................66

4、数据库三范式是什么?..............................................................................68

5、说出一些数据库优化方面的经验?....................................................................68

6、union和union all有什么不同?.....................................................................69 7.分页语句..........................................................................................70 8.用一条SQL语句 查询出每门课都大于80分的学生姓名..................................................72 9.所有部门之间的比赛组合............................................................................73 10.每个月份的发生额都比101科目多的科目.............................................................73 11.统计每年每月的信息...............................................................................74 12.显示文章标题,发帖人、最后回复时间...............................................................75 13.删除除了id号不同,其他都相同的学生冗余信息.......................................................75 14.航空网的几个航班查询题:.........................................................................76 15.查出比经理薪水还高的员工信息:...................................................................77

16、求出小于45岁的各个老师所带的大于12岁的学生人数................................................77 17.求出发帖最多的人:...............................................................................78

18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决?.............................................................................78

19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用户。............................79 20.xxx公司的sql面试...............................................................................79

21、注册Jdbc驱动程序的三种方式.....................................................................79

22、用JDBC如何调用存储过程.........................................................................79

23、JDBC中的PreparedStatement相比Statement的好处..................................................80 24.写一个用jdbc连接并访问oracle数据的程序代码....................................................81

25、Class.forName的作用?为什么要用?.................................................................81

26、大数据量下的分页解决方法。......................................................................81

27、用 JDBC 查询学生成绩单, 把主要代码写出来(考试概率极大)........................................81

28、这段代码有什么不足之处?.........................................................................82

29、说出数据连接池的工作机制是什么?.................................................................82 30、为什么要用 ORM? 和 JDBC 有何不一样?............................................................82 六.XML部分.............................................................................................82

1、xml有哪些解析技术?区别是什么?....................................................................82

2、你在项目中用到了xml技术的哪些方面?如何实现的?...................................................82

3、用jdom解析xml文件时如何解决中文问题?如何解析?..................................................82

4、编程用JAVA解析XML的方式........................................................................83

5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?..........................85 七.流行的框架与新技术...................................................................................85

1、谈谈你对Struts的理解。..........................................................................85

2、谈谈你对Hibernate的理解。.......................................................................85

3、AOP的作用。......................................................................................86

4、你对Spring的理解。..............................................................................86

5、谈谈Struts中的Action servlet。..................................................................87

6、Struts优缺点 优点: 1.实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现.....................87

7、STRUTS的应用(如STRUTS架构)......................................................................87

8、说说struts1与struts2的区别。...................................................................87

9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。...................88

10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件..............................88

11、iBatis与Hibernate有什么不同?...................................................................88

12、写Hibernate的一对多和多对一双向关联的orm配置?.................................................88

9、hibernate的inverse属性的作用?...................................................................88

13、在DAO中如何体现DAO设计模式?...................................................................88

14、spring+Hibernate中委托方案怎么配置?.............................................................88

15、spring+Hibernate中委托方案怎么配置?.............................................................89 16.hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决;....................................................................................................89 17.介绍一下Hibernate的二级缓存.....................................................................89

18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 “Hello” 的 XML 配置文件该怎么写?...........................................................................................90

19、Jdo是什么?......................................................................................90 20、什么是spring的IOC AOP.........................................................................90

21、STRUTS的工作流程!..............................................................................90

22、spring 与EJB的区别!.........................................................................90 八.软件工程与设计模式...................................................................................90

1、UML方面..........................................................................................90

2、j2ee常用的设计模式?说明工厂模式。...............................................................90

3、开发中都用到了那些设计模式?用在什么场合?.........................................................91 九.j2ee部分............................................................................................91

1、BS与CS的联系与区别。............................................................................91

2、应用服务器与WEB SERVER的区别?..................................................................91

3、应用服务器有那些?...............................................................................92

4、J2EE是什么?.....................................................................................92

5、J2EE是技术还是平台还是框架? 什么是J2EE.........................................................92

6、请对以下在J2EE中常用的名词进行解释(或简单描述)..................................................92

7、如何给weblogic指定大小的内存?...................................................................92

8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?.........................................92

9、如何启动时不需输入用户名与密码?..................................................................92

10、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?.................................................................................92

11、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?.................................................................................................92

12、在weblogic中发布ejb需涉及到哪些配置文件.......................................................92

13、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置?..................93

14、如何查看在weblogic中已经发布的EJB?.............................................................93 十.EBJ部分.............................................................................................93

1、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。....................................................................................................93

2、简要讲一下 EJB 的 7 个 Transaction Level?........................................................93

3、EJB与JAVA BEAN的区别?..........................................................................93

4、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?..........................93

5、EJB容器提供的服务................................................................................93

6、EJB的激活机制....................................................................................93

7、EJB的几种类型....................................................................................93

8、客服端调用EJB对象的几个基本步骤.................................................................94 十一.webservice部分....................................................................................94

1、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。................94

2、CORBA是什么?用途是什么?..........................................................................94 3.Linux.................................................................................................94

4、LINUX下线程,GDI类的解释。......................................................................94 5.问得稀里糊涂的题......................................................................................94

6、四种会话跟踪技术.................................................................................94

7、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。.....................................................94 十二.其他...............................................................................................94

1、请用英文简单介绍一下自己.........................................................................94

2、请把 http://tomcat.apache.org/ 首页的这一段话用中文翻译一下?.....................................94

3、美资软件公司JAVA工程师电话面试题目..............................................................95

这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完和学完这套面试宝典,即使你已经学过了有关的技术,那么至少也需要一个月的时间才能消化和掌握这套面试宝典,所以,大家应该早作准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。

答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得)

答案的段落分别,层次分明,条理清晰都非常重要,从这些表面的东西也可以看出一个人的习惯、办事风格、条理等。要讲你做出答案的思路过程,或者说你记住答案的思想都写下来。把答题想着是辩论赛。答题就是给别人讲道理、摆事实。答题不局限于什么格式和形式,就是要将自己的学识展现出来!

别因为人家题目本来就模棱两可,你就心里胆怯和没底气了,不敢回答了。你要大胆地指出对方题目很模糊和你的观点,不要把

面试官想得有多高,其实他和你就是差不多的,你想想,如果他把你招进去了,你们以后就是同事了,可不是差不多的吗?

关于就业薪水,如果你是应届生,那不能要高工资,好比大饼的故事,没有文凭还想拿高工资,就去中关村缺什么补什么吧!少数人基础确实很好,在校期间确实又做过一些项目,那仍然是可以要到相对高的工资的。1.Java基础部分

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法。

1、一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。

2、Java有没有goto? java中的保留字,现在没有在java中使用。

3、说说&和&&的区别。

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!= null &&!str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0)y会增长,If(x==33 && ++y>0)不会增长

&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

备注:这道题先说两者的共同点,再说出&&和&的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。

4、在JAVA中如何跳出当前的多重嵌套循环?

在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如,ok: for(int i=0;i<10;i++){

} 另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。

int arr[][] = {{1,2,3},{4,5,6,7},{9}};boolean found = false;for(int i=0;i

}

5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 在switch(condition)中,condition只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐式转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。

6、short s1 = 1;s1 = s1 + 1;有什么错? short s1 = 1;s1 += 1;有什么错? 对于short s1 = 1;s1 = s1 + 1;由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。

对于short s1 = 1;s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。for(int j=0;j

} System.out.println(“i=” + i + “,j=” + j);if(arr[i][j] == 5){

} found = true;break;

{ for(int j=0;j<10;j++)

} if(j == 5)break ok;

{ System.out.println(“i=” + i + “,j=” + j);

7、char型变量中能不能存贮一个中文汉字?为什么? char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。

备注:后面一部分回答虽然不是在正面回答题目,但是,为了展现自己的学识和表现自己对问题理解的透彻深入,可以回答一些相关的知识,做到知无不言,言无不尽。

8、用最有效率的方法算出2乘以8等於几? 2 << 3,因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 << 3。

9、请设计一个一百亿的计算器

首先要明白这道题目的考查点是什么,一是大家首先要对计算机原理的底层细节要清楚、要知道加减法的位运算原理和知道计算机中的算术运算会发生越界的情况,二是要具备一定的面向对象的设计思想。

首先,计算机中用固定数量的几个字节来存储的数值,所以计算机中能够表示的数值是有一定的范围的,为了便于讲解和理解,我们先以byte 类型的整数为例,它用1个字节进行存储,表示的最大数值范围为-128到+127。-1在内存中对应的二进制数据为11111111,如果两个-1相加,不考虑Java运算时的类型提升,运算后会产生进位,二进制结果为1,11111110,由于进位后超过了byte类型的存储空间,所以进位部分被舍弃,即最终的结果为11111110,也就是-2,这正好利用溢位的方式实现了负数的运算。-128在内存中对应的二进制数据为10000000,如果两个-128相加,不考虑Java运算时的类型提升,运算后会产生进位,二进制结果为1,00000000,由于进位后超过了byte类型的存储空间,所以进位部分被舍弃,即最终的结果为00000000,也就是0,这样的结果显然不是我们期望的,这说明计算机中的算术运算是会发生越界情况的,两个数值的运算结果不能超过计算机中的该类型的数值范围。由于Java中涉及表达式运算时的类型自动提升,我们无法用byte类型来做演示这种问题和现象的实验,大家可以用下面一个使用整数做实验的例子程序体验一下:

先不考虑long类型,由于int的正数范围为2的31次方,表示的最大数值约等于2*1000*1000*1000,也就是20亿的大小,所以,要实现一个一百亿的计算器,我们得自己设计一个类可以用于表示很大的整数,并且提供了与另外一个整数进行加减乘除的功能,大概功能如下:

()这个类内部有两个成员变量,一个表示符号,另一个用字节数组表示数值的二进制数()有一个构造方法,把一个包含有多位数值的字符串转换到内部的符号和字节数组中()提供加减乘除的功能 public class BigInteger{

int sign;byte[] val;public Biginteger(String val)

} public BigInteger add(BigInteger other)} public BigInteger subtract(BigInteger other){ } public BigInteger multiply(BigInteger other){ } public BigInteger pide(BigInteger other){

{ sign =;val =;

{ int a = Integer.MAX_VALUE;int b = Integer.MAX_VALUE;int sum = a + b;System.out.println(“a=”+a+”,b=”+b+”,sum=”+sum);

} 备注:要想写出这个类的完整代码,是非常复杂的,如果有兴趣的话,可以参看jdk中自带的java.math.BigInteger类的源码。面试的人也知道谁都不可能在短时间内写出这个类的完整代码的,他要的是你是否有这方面的概念和意识,他最重要的还是考查你的能力,所以,你不要因为自己无法写出完整的最终结果就放弃答这道题,你要做的就是你比别人写得多,证明你比别人强,你有这方面的思想意识就可以了,毕竟别人可能连题目的意思都看不懂,什么都没写,你要敢于答这道题,即使只答了一部分,那也与那些什么都不懂的人区别出来,拉开了距离,算是矮子中的高个,机会当然就属于你了。另外,答案中的框架代码也很重要,体现了一些面向对象设计的功底,特别是其中的方法命名很专业,用的英文单词很精准,这也是能力、经验、专业性、英语水平等多个方面的体现,会给人留下很好的印象,在编程能力和其他方面条件差不多的情况下,英语好除了可以使你获得更多机会外,薪水可以高出一千元。

10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:

final StringBuffer a=new StringBuffer(“immutable”);执行如下语句将报告编译期错误:

a=new StringBuffer(“");但是,执行如下语句则可以通过编译:

a.append(” broken!“);

有人在定义方法的参数时,可能想采用如下形式来阻止方法内部修改传进来的参数对象:

public void method(final StringBuffer param){ } 实际上,这是办不到的,在该方法内部仍然可以增加如下代码来修改参数对象:

param.append(”a“);

11、”==“和equals方法究竟有什么区别?

(单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚)

==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。

如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就需要用==操作符进行比较。

equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。例如,对于下面的代码:

String a=new String(”foo“);String b=new String(”foo“);两条new语句创建了两个对象,然后用a,b这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a和b中存储的数值是不相同的,所以,表达式a==b将返回false,而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回true。

在实际开发中,我们经常要比较传递进行来的字符串内容是否等,例如,String input = „;input.equals(“quit”),许多人稍不注意就使用==进行比较了,这是错误的,随便从网上找几个项目实战的教学视频看看,里面就有大量这样的错误。记住,字符串的比较基本上都是使用equals方法。

如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法的实现代码如下: boolean equals(Object o){ return this==o;} 这说明,如果一个类没有自己定义equals方法,它默认的equals方法(从Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果,如果比较的是两个独立的对象则总返回false。如果你编写的类希望能够比较该类创建的两个实例对象的内容是否相同,那么你必须覆盖equals方法,由你自己写代码来决定在什么情况即可认为两个对象的内容是相同的。}

12、静态变量和实例变量的区别?

在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。

在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。

public class VariantTest{

} 备注:这个解答除了说清楚两者的区别外,最后还用一个具体的应用例子来说明两者的差异,体现了自己有很好的解说问题和设计案例的能力,思维敏捷,超过一般程序员,有写作能力!

13、是否可以从一个static方法内部发出对非static方法的调用?

不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。

14、Integer与int的区别

int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。

在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。

另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。

15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法就表示向下取整,Math.ceil(11.6)的结果为11,Math.ceil(-11.6)的结果是-12;最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。

16、下面的代码有什么不妥之处? 1.if(username.equals(“zxx”){} 2.int x = 1;return x==1?true:false;public static int staticVar = 0;public int instanceVar = 0;public VariantTest(){

} staticVar++;instanceVar++;System.out.println(“staticVar=” + staticVar + ”,instanceVar=” + instanceVar);

17、请说出作用域public,private,protected,以及不写时的区别

这四个作用域的可见范围如下表所示。

说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。

作用域 当前类 同一package 子孙类 其他package public √ √ √ √

protected √ √ √ × friendly √ √ × × private √ × × ×

备注:只要记住了有4种访问权限,4个访问范围,然后将全选和范围在水平和垂直方向上分别按排从小到大或从大到小的顺序排列,就很容易画出上面的图了。

18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? Overload是重载的意思,Override是覆盖的意思,也就是重写。

重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类方法的访问权限只能比父类的更大,不能更小。如果父类的方法是private类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。

至于Overloaded的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢?这个题目很模糊。如果几个Overloaded的方法的参数列表不一样,它们的返回者类型当然也可以不一样。但我估计你想问的问题是:如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Overload。这是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove方法有返回值,但是我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅仅是返回类型不同,java就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判断。

override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:

1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;

2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;

3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;

4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

java工程师面试

第一篇:java工程师面试 精通java语言及面向对象思想 具有扎实的java编程基础和良好的编程规范 精通 jsp语言 html语言 j...
点击下载
分享:
最新文档
热门文章
    确认删除?
    QQ
    • QQ点击这里给我发消息
    微信客服
    • 微信客服