JAVA面试题(_华为)(答案)

上传人:mg****2 文档编号:123551421 上传时间:2020-03-10 格式:DOC 页数:7 大小:37.20KB
返回 下载 相关 举报
JAVA面试题(_华为)(答案)_第1页
第1页 / 共7页
JAVA面试题(_华为)(答案)_第2页
第2页 / 共7页
JAVA面试题(_华为)(答案)_第3页
第3页 / 共7页
JAVA面试题(_华为)(答案)_第4页
第4页 / 共7页
JAVA面试题(_华为)(答案)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《JAVA面试题(_华为)(答案)》由会员分享,可在线阅读,更多相关《JAVA面试题(_华为)(答案)(7页珍藏版)》请在金锄头文库上搜索。

1、.软件开发应试人员考试试题(Java)姓名:_ 电话:_以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起)从事Java开发时间_月 熟悉JavaScrip时间_月 熟悉EXT开发时间_月 熟悉PDM开发时间_月熟悉的数据库及时间(如SQLServer 3个月,可多填)_一、 JAVA基础1、简述你所知道的JAVA修饰符及各自的使用机制?(public、abstract、final、synchronized、super)public :允许所有客户访问protected:只能在本包内被该类的子类所使用private:只允许在本类内使用abstract:没有提供实现,需要子类提

2、供static:与整个类相关,与单个对象无关final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final修饰的方法不能被重写,一个final修饰的变量不能改变其初始值synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率?区别:String 类型和 StringBuffe

3、r 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的,执行速度:三者在执行速度方面的比较:StringBuilder StringBuffer String使用场景:1.如果要操作少量的数据用 = String2.单线程操作字符串缓冲区 下操作大量数据 = StringBu

4、ilder3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗?静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象静态方法中无法调用实例变量,而实例方法却可以调用静态变量2、继承和接口是什么?以及他们的区别?1 接口定义一个类需要实现的方法 属性 索引 事件和可能的参数 返回值类型,具体的实现交由相应的类或结构,从而实现多态;而继承用于在一个现有父类基础上的功能扩展,把几个

5、类中相同的成员提取出来 放在一个父类中,在子类中添加独特的方法 即继承 扩展2 接口能够实现多接口继承,而继承只能实现单继承3 继承能够获得父类方法的实现,而接口只能获得方法的定义,所以必须获得所有的方法4 在继承中 为父类添加方法不影响子类的继承,但在接口中 为父类添加一个方法定义 必须在子类中添加此方法的实现3、HashMap和Hashtable的区别? 1,Hashtable是基于陈旧的Dictionary类的,HashMap是Map接口的一个实现。 2,Hashtable的方法是同步的,而HashMap的方法不是 3,只有HashMap可以让你将空值作为一个表的条目的key或value

6、4、抽象类(abstract class)和接口(interface)有什么区别?声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法接口(interface)是抽象类的变体。在接口中,所有方法

7、都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口5、重载(Overload)和重写(Override)的区别。Overloaded的方法是否可以改变

8、返回值的类型?Overload是重载,是有相同的方法名,但参数类型或个数彼此不同 Override是重写,是在子类与父类中,子类中的方法的方法名,参数个数、类型都与父类中的完全一样,在子类中覆盖掉了父类的改方法。6、你所知道的集合类都有哪几类?主要区别有哪些并简单描述?集合类型主要有3种:set(集)、list(列表)和map(映射)集 Set它的对象不按特定方式排序,只是简单的把对象加入集合中对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。列表 ListList接口与其实现类是容量可变的列表,可以按照索引访问集合中的元素,是有序的集合列表在数据结构中分别表现为:数组

9、和向量、链表、堆栈、队列。常用的有ArrayList vector映射 Map映射中每个项都是成对的,Map是把键对象和值对象进行关联的容器。映射中存储的每个对象都有一个相关的关键字(Key)对象,关键字决定了对象在映射中的存储位置,关键字应该是唯一的,常用的有HashMap,HashTable7、JAVA SERVLET API中forward() 与redirect()的区别?使用forward的时候浏览器不知道它所请求的具体资源来源,所以地址栏不会变;使用redirect,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL。forward,转发页面

10、和转发到的页面可以共享request里面的数据.redirect,不能共享数据.8、写出JSP的常用内置对象?以及每个内置对象的简单介绍?1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。2.response对象 response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。3.session对象 session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服

11、务器断开连接为止。它是HttpSession类的实例。4.out对象 out对象是JspWriter类的实例,是向客户端输出内容常用的对象 5.page对象 page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例 。6.application对象 application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了a

12、pplication对象的生命。它是ServletContext类的实例。 7.exception对象 exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象。8.pageContext对象 pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pag

13、eContext。9.config对象 config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一ServletContext对象) 。 9、JAVA解析XML有哪几种方法?并简述各自的优缺点DOM: 是用与平台和语言无关的方式表示XML文档的官方W3C标准,分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。是基于信息层次的优点有:由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是

14、一次性的处理。DOM使用起来也要简单得多。 SAX : 对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如SAX。这种处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。JDOM 目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。DOM4J: 它是

15、JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项, DOM4J是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java软件都在使用DOM4J来读写XML,特别值得一提的是连Sun的JAXM也在用DOM4J。9、概述MVC体系结构及优点M:模型(Model),V:视图(View),C:控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑。 View层用于与用户的交互。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。概括一下吧,用户浏览,由URL路由解析地址,如何指定对应的控制器(C)去处理,结合业务逻辑层(M),处理数据,比方说增删改查,完成之后,在调用指定的 视图(V),把处理的结果回传给用户.意义就是:职能分工10、介绍你

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

当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号