


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件开发应试人员考试试题( Java )姓名: 电话: 以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起) 从事 Java 开发时间 月 熟悉 JavaScrip 时间 月熟悉EXT开发时间月 熟悉PD斬发时间月熟悉的数据库及时间(如 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 之间区别?别简述各
3、自的执行效率?区别:String类型和StringBufer类型的主要性能区别其实在于String是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对 象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String , 因为每次生成对象都会对系统性能产生影响, 特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的,执行速度: 三者在执行速度方面的比较: StringBuilder StringBuffer String使用场景: 1.如果要操作少量的数据用 = String
4、2. 单线程操作字符串缓冲区下操作大量数据 = StringBuilder3. 多线程操作字符串缓冲区下操作大量数据 = StringBuffer2、静态变量和实例变量的区别 ?能在静态方法中调用非静态变量吗?静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的 对象,必须产生该类对象,才能调用实例变量静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象静态方法中无法调用实例变量,而实例方法却可以调用静态变量2、继承和接口是什么?以及他们的区别?1 接口定义一个类需要实现的方法 属性 索引 事件和可能的参数 返回值类型,具体的实 现交由相应的类
5、或结构,从而实现多态;而继承用于在一个现有父类基础上的功能扩展, 把几个类中相同的成员提取出来 放在一个父类中, 在子类中添加独特的方法 即继承 扩展2 接口能够实现多接口继承,而继承只能实现单继承3 继承能够获得父类方法的实现,而接口只能获得方法的定义,所以必须获得所有的方法4 在继承中 为父类添加方法不影响子类的继承, 但在接口中 为父类添加一个方法定义 必 须在子类中添加此方法的实现3、HashMap和 Hashtable 的区别?1 , Hashtable是基于陈旧的Dictionary 类的,HashMap是Map接口的一个实现。2 , Hashtable的方法是同步的,而 Hash
6、Map的方法不是3,只有HashMap可以让你将空值作为一个表的条目的 key或value4、 抽象类 (abstract class)和接口( interface )有什么区别 ?声明方法的存在而不去实现它的类被叫做抽象类( abstract class ),它用于要创建一个体 现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建 abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类 的一个实例。 不能有抽象构造函数或抽象静态方法。 Abstract 类的子类为它们父类中的所 有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子
7、类中实现该方法。知道其 行为的其它类可以在类中实现这些方法 接口(in terface )是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实 现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定 义 static final 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承 行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它 可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口 名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型 转换, instanceof
8、运算符可以用来决定某对象的类是否实现了接口5、重载( Overload )和重写( Override )的区别。 Overloaded 的方法是否可以改变返回 值的类型 ?Overload 是重载,是有相同的方法名,但参数类型或个数彼此不同Override 是重写,是在子类与父类中,子类中的方法的方法名,参数个数、类型都与父类 中的完全一样,在子类中覆盖掉了父类的改方法。6、你所知道的集合类都有哪几类?主要区别有哪些并简单描述?集合类型主要有3种:set (集)、list (列表)和map (映射)集 Set它的对象不按特定方式排序,只是简单的把对象加入集合中对集中成员的访问和操作是通过集中对
9、象的引用进行的,所以集中不能有重复对象。列表 ListList 接口与其实现类是容量可变的列表,可以按照索引访问集合中的元素,是有序的集合 列表在数据结构中分别表现为: 数组和向量、链表、堆栈、队列。常用的有 ArrayList vector映射 Map映射中每个项都是成对的,Map是把键对象和值对象进行关联的容器。映射中存储的每个对象都有一个相关的关键字(Key)对象,关键字决定了对象在映射中的 存储位置,关键字应该是唯一的 , 常用的有 HashMap, HashTable7、 JAVA SERVLET AP中 forward。 与 redirect。的区别?使用 forward 的时候浏
10、览器不知道它所请求的具体资源来源,所以地址栏不会变;使用 redirect ,服务端根据逻辑 ,发送一个状态码 , 告诉浏览器重新去请求那个地址 .所以 地址栏显示的是新的 URL。forward, 转发页面和转发到的页面可以共享 request 里面的数据 .redirect, 不能共享数 据.8、写出JSP的常用内置对象?以及每个内置对象的简单介绍?1. request 对象客户端的请求信息被封装在 request 对象中,通过它才能了解到客户的需求,然后做出响 应。它是 HttpServletRequest 类的实例。2. response 对象response 对象包含了响应客户请求的
11、有关信息,但在JSP 中很少直接用到它。它是HttpServletResponse 类的实例。3.session 对象 session 对象 指的是 客户 端 与服 务器 的一 次 会话 ,从 客 户连到服 务 器的 一个 WebApplication 开始,直到客户端与服务器断开连接为止。它是 HttpSession 类的实例。4.out 对象out 对象是 JspWriter 类的实例 , 是向客户端输出内容常用的对象5. page 对象page 对象就是指向当前 JSP 页面本身,有点象类中的 this 指针,它是 java.lang.Object 类的实例 。6. applicatio
12、n 对象application 对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动, 直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之 间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将 影响到其他用户对此的访问。服务器的启动和关闭决定了 application 对象的生命。它是 ServletContext 类的实例。7. exception 对象exception 对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编
13、译。他实际上是 java.lang.Throwable 的对象。8. pageContext 对象问到本页所在的SESSION也可以取本页面所在的即plication的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫 pageContext。9. config 对象config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一 ServletContext 对象) 。9、JAVA解析XML有哪几种方法?并简述各自的优缺点DOM:是用与平台和语言无关的方式表示 XML
14、文档的官方W3C标准,分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。是基于信息层次的优点有:由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。SAX :对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理 这样的数据会更好。这些基于事件的模型,比如SAX这种处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在 读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是
15、个巨大的 优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。般来说,SAX还比它的替代者DOM快许多JDOM目的是成为Java特定文档模型,它简化与 XML勺交互并且比使用DOh实现更快。DOM4J:它是JDOM勺一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath 支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建 文档表示的选项,DOM4J是一个非常优秀的Java XML API ,具有性能优异、功能强大和极端易用使用的特点, 同时它也是一个开放源代码的软件。 如今你可以看到越来越多的 Java 软件
16、都在使用DOM4来读写XML特别值得一提的是连 Sun的JAXM也在用DOM4J9、概述MVC体系结构及优点M:模型(Model),V:视图(View) , C:控制 Controller)。MVC模式的目的就是实现 Web系统的职能分工。Model 层实现系统中的业务逻辑。 View 层用于与用户的交互。 Controller 层是 Model 与 View 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可 以解释用户的输入并将它们映射为模型层可执行的操作。概括一下吧,用户浏览,由URL路由解析地址,如何指定对应的控制器(C)去处理,结合业务 逻辑层(M),处理数据
17、,比方说增 删 改 查,完成之后,在调用指定的 视图(V),把处理的结 果回传给用户 .意义就是 : 职能分工10、介绍你所知道的J2EE中常用的设计模式,并简单介绍工厂模式Factory (工厂模式),Builder(建造模式),FactoryMethod (工厂方法模式),Prototype (原始模型模式), Singleton (单例模式),Facade (门面模式),Adapter (适配器模式),Bridge(桥梁模式),Composite(合成模式),Decorator (装饰模式),Flyweight(享元模式),Proxy (代理模式),Comman(d 命令模式),Inte
18、rpreter(解释器模式), Visitor(访问者模式),Iterator (迭代子模式),Mediator(调停者模式),Memento(备忘录模式),Observer (观察者模式),State (状态模式),Strategy(策略模式),Template Method (模板方法模式), Chain Of Responsibleity (责任链模式)工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的 数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同 的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类
19、 的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据 条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必 考虑到底返回的是哪一个子类的实例。11. 线程和进程的区别?实现多线程的方式有哪几种?如何实现多线程同步? 区别: 线程和进程是不同的,每个进程都是一个独立运行的程序,拥有自己的变量,且不同进程 间的变量不能共享;而 线程是运行在进程内部的,每个正在运行的进程至少有一个线程, 而且不同的线程之间可以在进程范围内共享数据。也就是说进程有自己独立的存储空间, 而线程是 和它所属的进程内的其他线程共享一个存储空间。实现多线程的方法:1、 继
20、承 java.lang.Thread ,并重写它的 run() 方法,将线程的执行主体放入其中。 ?2、 实现 java.lang.Runnable 接口,实现它的 run() 方法,并将线程的执行主体放入其中。 如何实现线程同步:给一个方法增加 synchronized 修饰符之后就可以使它成为同步方法,这个方法 可以是静 态方法和非静态方法,但是不能是抽象类的抽象方法,也不能是接口中的接口方法12:中的异常处理机制的简单和应用。当 Java 程序违反了 Java 的语义规则时, Java 虚拟机就会将发生的错误表示为一个异 常。违反语义规则包括 2种情况。一种是 Java 类库内置的语义。
21、例如数组下标越界 ,会引 发 IndexOutOfBoundsException; 访问 null 的对象时会引发 NullPointerException 。另一 种情况就是 Java 允许程序员扩展这种语义检查, 程序员可以创建自己的异常, 并自由选择 在何时用 throw 关键字引发异常。所有的异常都是 java.lang.Thowable 的子类 13:线程同步的方法(类里有哪些方法来支持线程同步) 。wait(): 使一个线程处于等待状态,并且释放所持有的对象的 lock 。sleep(): 使一个正在运行的线程处于 睡眠 状态 ,是 静态方 法, 调用此方 法要捕捉Interrup
22、tedException 异常。notify(): 唤醒一个处于等待状态的线程, 注意的是在调用此方法的时候, 并不能确切地唤 醒某一个等待状态的线程,而是由 JVM确定唤醒哪个线程,而且不是按优先级。Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。14. Error 与 Exception 有什么区别Error 表示系统级的错误和程序不必处理的异常,Exception 表示需要捕捉或者需要程序进行处理的异常。15. 谈谈 final, finally, finalize的区别。final 修饰符(关键字)如果一个类被声明为 final
23、 ,意味着它不能再派生出新的子类, 不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final 的。 将变量或方法声明为 final ,可以保证它们在使用中不被改变。被声明为final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final 的方法也同样只能使用,不能重载。finally 异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那 么相匹配的 catch 子句就会执行,然后控制就会进入 finally块(如果有的话 )。finalize 方法名。 Java 技术允许使用 finalize() 方法在垃圾
24、收集器将对象从内存 中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用 时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。 finalize() 方法是在垃圾收集 器删除对象之前对这个对象调用的二、 Javascript 相关1. 如何弹出带确认取消按钮的提示框,如”确定保存吗?”,以及如何实现带输入框的提示框?confirm( “确定保存吗 ?”)prompt( “输入意见” )2. Javascript 有哪些打开一个页面的方式?window.open(sURL
25、, vArguments ,sFeatures) 新页面window. showmodaldialog(sURL , vArguments ,sFeatures) 模态对话框window.showModelessDialog(sURL , vArguments ,sFeatures) 非模态对话框3. 页面加载完后调用 js 方法如何实现?body 标签加 onload 事件,如 4. Javascript如何做到在子页面中调用父页面的js函数或全局变量(如test()函数,test 变量 ) ?window.opener.test();Window.opener.test =“abc”;5.
26、 Javascript 中定时执行如何实现?setTimeout();定时执行,执行一次。clearTimeout(定时器对象名 ) 结束setInterval();定时执行,一直执行。clearInterval(定时器对象名 )结束两种区别:setTimeout();定时执行,执行一次。clearTimeout(定时器对象名 ) 结束;setInterval();定时执行,一直执行。clearInterval(定时器对象名 )结束6. innerHTML和outerHTML的区别是什么?innerHTML 取页面元素标签内部的内容, outerHTML 取包含元素标签的内容,如 test,i
27、nnerHTML 取 到 test , outerHTML 取 到 test.7. javascript 如何做到页面局部刷新?使用AJAX原理:获取一个请求对象,向指定 url发送请求,当请求完成时(状态4), 获取到请求返回内容,并将内容填充到页面局部。8. 有如下表格, 如何通过这个按钮取到该格所在的表, 以及如何取到该表格的第二行中的 hello 值? hello 通过按钮取到表格: table = button.parentElement.parentElement.parentElement;( 主要看是否掌握元素的 parentElement 方法 ) 。通 过 表 格 取 到 hello 值 : str table.childNodes1.childNodes0.innerHTML;( 主要看是否掌握元素的 childNodes 方法)。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销人员岗前培训考试题及答案解析
- 混合气潜水员成本控制考核试卷及答案
- 网络安全测试题库大全及答案解析
- 江苏b证安全员考试题库及答案解析
- 2025年查对制度考试试题库(答案+解析)
- 2025一建安全b证考试题库及答案解析
- 2025年基本公共卫生服务专项培训考试试题(附答案)
- 2025年税法考试新手必学试题及答案
- 2025年经济师考试旅游经济高级经济实务试卷与参考答案
- 2025年绵阳语文考试试题及答案
- MOOC 理性思维实训-华南师范大学 中国大学慕课答案
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- (高清版)TDT 1001-2012 地籍调查规程
- 内部审计管理系统建设需求
- 燃气输配课程设计说明书
- 如何进行模拟堂教学
- 手术操作分类代码国家临床版3.0
- 监控扩容施工方案
- 轴的计算与校核、传动轴计算(无密码可修改)
- 职称若干问题回答
- 《复旦大学介绍》
评论
0/150
提交评论