JAVA面试题华为-IBM.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《JAVA面试题华为-IBM.pdf》由会员分享,可在线阅读,更多相关《JAVA面试题华为-IBM.pdf(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、J A V A 面试题最全集一、J a v a 基础知识1 .J a v a 有那些基本数据类型,S t r in g 是不是基本数据类型,他们有何区别。2 .字符串的操作:写一个方法,实现字符串的反转,如:输入a b c,输出c b a写一个方法,实现字符串的替换,如:输入b b b wl ir b b b,输出b b b h h t c c c。3 .数据类型之间的转换如何将数值型字符转换为数字(I n t e g e r,Do u b l e)如何将数字转换为字符如何取小数点前两位,并四舍五入。4 .日期和时间如何取得年月日,小时分秒如何取得从1 9 7 0 年到现在的毫秒数如何获取某个
2、日期是当月的最后一天如何格式化日期5 .数组和集合6 .文件和目录(I/O)操作如何列出某个目录下的所有文件如何列出某个目录下的所有子目录判断一个文件或目录是否存在如何读写文件7 .J a v a 多态的实现(继承、重载、覆盖)8 .编码转换,怎样实现将GB 2 3 1 2 编码的字符串转换为I S 0-8 8 5 9-1 编码的字符串。9 .J a v a 中访问数据库的步骤,S t a t e m e n t 和 Pr e p a r e d S t a t e m e n t 之间的区别。1 0 .找出下列代码可能存在的错误,并说明原因:二、J S P&S e r v l e t 技术1
3、 .描述J S P和 S e r v l e t 的区别、共同点、各自应用的范围2 .在 W e b 开发中需要处理H T M L 标记时,应做什么样的处理,要筛选那些字符(&)3 .在J S P中如何读取客户端的请求,如何访问C GI 变量,如何确定某个J s p 文件的真实路径。4 .描述C o o kie 和 S e s s io n 的作用,区别和各自的应用范围,S e s s io n 工作原理。5 .列出J s p 中包含外部文件的方式,两者有何区别。6 .说明J s p 中e r r o r Pa g e 的作用,应用范围。7 .介绍在J s p 中如何使用J a v a B e
4、 a n S o8 .简单介绍J S P的标记库9 .J s p 和 S e r v l e t 中的请求转发分别如何实现。三、J 2 EE相关知识1 .介绍 J 2 EE、J 2 S E、J 2 S E 的区别。2 .J 2 EE是一种技术还是一种平台,他提供了那些技术。3 .什么是A p p l ic a t io n S e r v e r,它有什么功能和优点。4 .简单介绍连接池的优点和原理。5 .W e b.x m l 的作用四、其他1 .W e b 安全性的考虑(表单验证、浏览器Basi c 方式的验证,应用程序的安全性,S S L,代码考虑)2 .简单介绍您所了解的MVC。3 .
5、简单介绍所了解的X ML。4 .文档和编码规范5 .J ava中的分页、效率考虑。6 .简单介绍您所了解的st ru c t sol.x m l 在项目中的作用2.s-EJ B与 e-EJ B的区别3.会话面的作用4.c m p与 b m p的优缺点5.j 2 m e程序的必需的几个部分6.c/s与b/s的区别7.构建一个c onnec t pool,然后再调用它,8.j 2 ee平台与d ot net 平台的区别9.ej b 的 l i f e c y c l e10.sessi on b ean 和 ent i t y b ean 的区别11.ej b 中的 t ransac t i on
6、 机制12.sy nc h roni z ed (生产者和消费)13.S t ri ng 和 S t ri ng Bu f f er14 .S eri al i z ab l e15 .MVC(S t ru t s的工作流程)16 .什么是MDA17 .t c p与u d p的区别18.链表与散列表和数组的区别19.堆和栈的区别2 0.ej b 的分类及区别2 1.你对现在软件业以及国内软件业的看法2 2 .谈谈j ava多线程2 3 .谈谈文件加密技术2 4 .软件开发生命周期2 5 .路由协议种类及特点2 6 .j ava的awt 和 swi ng 组件的GUI 设计的关键2 7 .对于j
7、 ava流的认识2 8.简单描述一下awt 与 swi ng 区别。2 9.简述j ava编程中事件处理模式。3 0.你编写过appl et 吗?appl et 的安全权限如何?试列举j ava appl i c at i on或者 appl et 中与servl et/j sp通信可以采用的方式。3 1.简述逻辑操作(如&,|)与条件操作(如&,|)的区别。3 2 .简 述 J ava S erver P ag e和 S ervl et 的联系和区别。3 3 .简述 sy nc h roni z ed 和 j ava.u t i l,c onc u rrent,l oc ks.Loc k 的
8、异同?3 4 .EJ B规范规定EJ B中禁止的操作有哪些?3 5 .j ava除了 8 种基本类型外,在虚拟机里还有哪一种,有什么作用?3 6 .除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式?3 7 .c l assl oad er 中,J DK 的 AP I、Cl asspat h 中的同 web-i nf 中的 c l ass 加载方式有什么区别?3 8.列举三种以上垃圾回收算法,并比较其优缺点?3 9.编写代码实现一个线程池4 0.描述一下J VM加载c l ass文件的原理机制?4 1.试举例说明一个典型的垃圾回收算法?4 2 .请用j av a写二叉树算法,实
9、现添加数据形成二叉树功能,并以先序的方式打印出来4 3 .请写一个j av a程序实现线程连接池功能?4 4 .给定一个C 语言函数,要求实现在j av a类中进行调用。4 5 .如何获得数组的长度?4 6 .访问修饰符 p u b l i c/p r i v at e/p r ot e ct e d/缺省的修饰符”的使用4 7.用关键字f i n al 修饰一个类或者方法时,有何意义?4 8 .掌握类和对象的概念,掌握面向对象编程的本质4 9 .静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法?5 0 .J A VA 语言如何进行异常处理,关键字:t hor w s,t hr
10、ow,t r y,cat ch,f i n al l y5 1 .O b j e ct 类(或者其子类)的f i n al i z e。方法在什么情况下被调用?5 2 .一个”.j av a”原文件中是否可以包括多个类(不是内部类)?5 3 .掌握内部类和接口的概念5 4 .St r i n gTok e n i z e r 类的使用5 5 .数据结构,如何遍历Li s t 中的元素?如果要按照键值保存或者访问数据,使用什么数据结构?要掌握C ol l e ct i on 相关的接口和类的使用5 6 .使用St r i n gB u f f e r 类与St r i n g类进行字符串连接时有
11、何区别?5 7.调用Thr e ad 类的d e s t r oy 0方法有什么后果?5 8 .多线程,用什么关键字修饰同步方法?s t op。和 s u s p e n d。方法为何不推荐5 9 .使用s ock e t 建立客户端与服务器的通信的过程6 0 .J A VA 语言国际化应用,Local e 类,Un i cod e6 1 .描述反射机制的作用6 2 .如何读写一个文件?6 3 .在图形界面中,一个按钮如何处理鼠标点击事件?6 4 .在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框?6 5 .如何加载图片?6 6 .什么是模态对话框?6 7.阐述M VC 的概念6 8 .
12、G UI 布局管理器的使用,F l ow Lay ou t,B or d e r Lay ou t,G r i d B agLay ou t6 9 .如何构造一棵树?选择树的一个节点时,如何得到这个节点?70 .向编辑框中输入字符时,如何控制只输入整数?71 .描述使用J D BC连接数据库的过程72 .E J B分为几类?什么是BM P,CM P?73 .什么是J N D I?74.AD O 是什么?Ac t i v e X 数据对象,是一个应用级程序接口.75.四种J D BC方式?目前的版本?76.E J B有哪几种?区别是什么?77.J a v a Be a n与E J B有什么区别?
13、78.软件开发生命周期有哪几个阶段?79.软件开发有哪些因素?80 .软件开发中如何进行版本控制?81 .U M L 中,类视图如何表示类中的继承与聚合?82 .客户端游标与服务器端游标的区别?83 .动态游标与静态游标的区别?84.d o t ne t 由哪几个基本框架组成?85.O r a c l e 中 S G A 是什么?86.w e b s e r v e r s 是什么?87.U N I X 中Q T是什么意思?88.在软件开发生命周期中的哪个阶段开始测试?89.d o t ne t 与 J 2 E E 的比较?90 .什么是 Ac t i v e X?91 .J a v a 中
14、I D L 是什么?92 .I S 0 90 0 0 和 CM M 是什么?I S 0 90 0 0 和 CM M (软件能力成熟度模型)认证是国际上通用的软件质量评估方法.CM M 的五个成熟度等级。第一,谈谈 f i na l,f i na l l y,f i na l i z e 的区别。f i na l?修饰符(关键字)如果一个类被声明为f i na l,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为a b s t r a c t 的,又被声明为f i na l 的。将变量或方法声明为f i na l,可以保证它们在使用中不被改变。被声明为f i na l
15、的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为f i na l 的方法也同样只能使用,不能重载f i na l l y?再异常处理时提供f i na l l y 块来执行任何清除操作。如果抛出一个异常,那么相匹配的c a t c h 子句就会执行,然后控制就会进入f i na l l y 块(如果有的话)。f i na l i z e?方法名。J a v a 技术允许使用f i n al i z e()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在O b j e c t 类中定义的,
16、因此所有的类都继承了它。子类覆盖f i n al i z e()方法以整理系统资源或者执行其他清理工作。finalize 0方法是在垃圾收集器删除对象之前对这个对象调用的。第二,Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以 implements(实现)interface(接口)?匿名的内部类是没有名字的内部类。不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现。第三,Static Nested Class和 Inner Class的不同,说得越多越好(面试题有的很笼统)。Nested Class(一般是
17、C+的说法),Inner Class(一般是 JAV A 的说法)。Java内部类与C+嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http:/ Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2 不能从一个static内部类的一个对象访问一个外部类对象第四,&和&的区别。&是位运算符。&是布尔逻辑运算符。第五,HashMap和 Hashtable的区别。都属于Map接口的类,实现了将惟一键映射到特定的值上。HashMap类没有分类或者排序。它允许一个null键和多个null值。Hashtable类似于HashMap,但是不允许null键 和 null值。
18、它也比HashMap慢,因为它是同步的。第六,Collection 和 Collections 的区别。Collections是个java,util下的类,它包含有各种有关集合操作的静态方法。Collection是个java,util下的接口,它是各种集合结构的父接口。第七,什么时候用assert o断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。如果表达式计算为false,那么系统会报告一b AssertionErroro它用于调试目的:assert(a 0):/throws an AssertionError if a c h a r l ong、f l oa t、
19、d ou b l e b ool e a n 和 s h or t oj a v a.l a ng.S t r i ng 类是f i na l 类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用S t r i ng B u f f e r 类3、in t和I nt e g e r 有什么区别J a v a 提供两种不同的类型:引用类型和原始类型(或内置类型)。I nt 是 j av a 的原始数据类型,I nt e g e r 是 j a v a 为 i nt 提供的封装类。J a v a 为每个原始类型提供了封装类。原始类型封装类b ool e a n B ool
20、 e a nc h a r C h a r a c t e rb y t e B y t es h or t S h or ti nt I nt e g e rl ong L ongf l oa t F l oa td ou b l e D ou b l e引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为nu l l,而原始类型实例变量的缺省值与它们的类型有关。4、S t r i ng 和 S t r
21、i ng B u f f e r 的区别J A VA 平台提供了两个类:S t r i ng 和 S t r i ng B u f f e r,它们可以储存和操作字符串,即包含多个字符的字符数据。这个S t r i ng 类提供了数值不可改变的字符串。而这个S t r i ng B u f f e r 类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用S t r i ng B u f f e r。典型地,你可以使用S t r i ng B u f f e r s来动态构造字符数据。5、运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的
22、通常操作中可能遇到的异常,是一种常见运行错误。j a v a 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。6 说出S e r v l e t 的生命周期,并说出S e r v l e t 和 C G I 的区别。S e r v l e t 被服务器实例化后,容器运行其i ni t 方法,请求到达时运行其s e r vi c e 方法,s e r v i c e 方法自动派遣运行与请求对应的d oX X X 方 法(d oG e t,d oPos t)等,当服务器决定将实例销毁的时候调用其d e s t r oy 方法。与 c g i 的区别在
23、于s e r v l e t 处于服务器进程中,它通过多线程方式运行其s e rv i c e 方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而C G I对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于s e r v l e t。7 说出A r r a y L i s t,V e c t o r,L i n k e d L i s t 的存储性能和特性A r r a y L i s t 和 V e c t o r 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据
24、快而插入数据慢,V e c t o r由于使用了 s y n c h r o n i z e d 方 法(线程安全),通常性能上较A r r a y L i s t 差,而 L i n k e d L i s t 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。8、E J B 是基于哪些技术实现的?并说出S e s s i o n B e a n 和 E n t i t y B e a n 的区别,S t a t e f u l B e a n 和 S t a t e l e s s B e a n 的区别。E J B 包
25、括 S e s s i o n B e a n E n t i t y B e a n、M e s s a g e D r i v e n B e a n,基于J N D I、R M I、J A T 等技术实现。S e s s i o n B e a n 在 J 2 E E 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他E J B 组件。E n t i t y B e a n 被用来代表应用系统中用到的数据。对于客户机,S e s s i o n B e a n 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,E n t i t y B e a n 是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 试题 华为 IBM
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内