当前位置:文档之家› 亚信java面试题

亚信java面试题

java面试题,大家研究下非技术性问题:1、做个自我介绍;2、介绍下最近的工作经历;3、在项目中扮演什么角色?4、有做过前台方面开发吗?技术性问题:5、对JavaScript熟悉吗?6、Reset是什么?点击Reset后有些东西没有被重置,为什么?7、在Delog里面怎么传值?8、你对Div+Css熟悉吗?9、对CSS的选择器熟悉吗?10、对Java里哪些主流框架熟悉?11、多态一般用在什么地方?有什么好处?12、HashMap与HashT able有什么区别?13、在什么情况下用HashMap,什么情况下用HashT able?14 、Java中重载和重写有什么区别?15、有什么方法实现Java中的线程?16、介绍下Struts的工作原理?、Struts 是MVC的一种实现,它将Servlet和JSP 标记(属于J2EE 规范)用作实现的一部分。

Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

Struts的体系结构与工作原理如下图2所示:17、Struts里有几大类标签?Bean标记:用来在JSP页中管理beanl 逻辑标记:用来在JSP页中控制流程l HTML标记:用来生成HTML标记,在表单中显示数据,使用会话ID对URL进行编程l 模板标记:使用动态模板构造普通格式的页18、了解Spring框架吗?是否用过?2. Spring框架的主要功能◆基于Java Beans的配置管理,采用IOC的原理,特别是对依赖注射技术的使用。

这些都用来减少各组件间对实施细则的相互依赖性。

◆一个核心的,全局适用的bean工厂◆一个一般抽象化的层面来管理数据库间的数据处理◆建立在框架内的,对Java数据处理API和单独的JDBC数据源的一般性策略。

因此,在数据处理支持上对Java企业版本环境的依赖性得以消除◆和一些可持续性的框架,如Hibernate,JDO,iBATIS和db4o,的整合◆web应用中的MVC框架,基于核心的Spring功能,支持多种产生视图的技术,包括JSP,FreeMarker,Velocity,Tiles,iText,和POI◆大量的AOP框架以提供诸如数据处理管理的服务。

同IOC的功能一样,目的是提高系统的模块化程度19、前台用了哪些技术?就是做个用户看的既VIEW Javascript jsp20、你对Ajax熟悉吗?使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。

这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。

随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。

同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。

21、界面事件怎么动态绑定?22、讲两个方法绑定在同一事件怎么绑定?23、在Form中有个Enable和Disable有什么区别?24、有两个输入框,一个是Enable一个是Disable,传到服务器上,怎么得到?25、详细介绍下Java的同步,异步?如果数据将在线程间共享。

例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

26、JavaScript有多少方法将页面信息传递过去后台?27、页面间怎么传值?1.通过URL;2.通过Cookie3.JavaScript静态页面值传递之Window.open篇28、Cookie里面怎么传值?怎么设置保存时间?29、String,StringBuffer的区别?什么情况下用String ,什么情况下用StringBuffer? String是一种强不变类型,它的值一旦被赋予之后,在内存中的相应位置上的值就不会变化了.即便你用String的方法:concat(String str)和replace(char oldChar, char newChar)等等,所返回的值都是新创建的一个String类型,而不是在原内存地址上去更改,因此比如这样的一个赋值: String s="Hello Baidu";s=new String("Hello Baidu");这样在内存中其实是开辟了两个内存空间来存放Hello Baidu,前面那个对象依然留在内存当中,而:s=s.concat("!");加上这样一句,s的值变为了Hello Baidu!,在内存中实际上是新创建了一个String对象装Hello Baidu!,而原有的Hello Baidu依然存在StringBuffer就不同了,它是种可变类型,它的值被赋予之后,在运行期同样可以通过它的方法,如append(String str) 操作内存上的值,而不仅仅是它的引用而已,也就是说同样的对s的值进行修改StringBuffer s="Hello Baidu";s.append("!");这样的操作其实只创建了一个StringBuffer的对象,大大节约了内存的开销30、循环1000次,并且相加,为什么用的是StringBuffer?31、在Java中跳转Forward与rederect的区别?forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。

redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

32、动态页面与静态Jsp页面有什么区别?结果上有什么区别?简单的说静态网页一般是指用户不能编辑自己网站的内容,而动态网站是可以添加、编辑网站的产品和新闻等信息。

静态网页是指不应用程序而直接或间接制作成html的网页,这种网页的内容是固定的,修改和更新都必须要通过专用的网页制作工具,比如Dreamweave。

静态页面是运行于客户端的程序、网页、插件、组件,例如html页、Flash、JavaScript、VBScript等等,它们是永远不变的。

动态网页是指使用网页脚本语言,比如php、asp、、JSP、CGI等,通过脚本将网站内容动态存储到数据库,用户访问网站是通过读取数据库来动态生成网页的方法。

网站上主要是一些框架基础,网页的内容大都存储在数据库中.静态网页和动态网页最大的区别,就是网页是固定内容还是可在线更新内容33、在try里有return,若是finally里面没有return,会返回码?会执行,在return前执行。

public class Test {/***@param args add by zxx,Dec9,2008*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(new Test().test());;}static int test(){int x = 1;try{return x;}finally{++x;}}}34、Java内置对象有几个?(九大隐式对象)JSP共有以下9种基本内置组件request 用户端请求,此请求会包含来自GET/POST请求的参数response 网页传回用户端的回应pageContext 网页的属性是在这里管理session 与请求有关的会话期application servlet正在执行的内容out 用来传送回应的输出config servlet的构架部件page JSP网页本身exception 针对错误网页,未捕捉的例外35、用过Struts吗?上面自定义标签你用过吗?36、介绍下Struts的优缺点?1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现.2. 有丰富的tag可以用,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

3. 页面导航.页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。

通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。

尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

4. 提供Exception处理机制.5. 数据库链接池管理6. 支持I18N缺点:一、转到展示层时,需要配置forward,每一次转到展示层,相信大多数都是直接转到jsp,而涉及到转向,需要配置forward,如果有十个展示层的jsp,需要配置十次struts,而且还不包括有时候目录、文件变更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整个项目,而tomcate这样的服务器,还必须重新启动服务器,如果业务变更复杂频繁的系统,这样的操作简单不可想象。

现在就是这样,几十上百个人同时在线使用我们的系统,大家可以想象一下,我的烦恼有多大。

二、Struts 的Action必需是thread-safe方式,它仅仅允许一个实例去处理所有的请求。

所以action用到的所有的资源都必需统一同步,这个就引起了线程安全的问题。

三、测试不方便. Struts的每个Action都同Web层耦合在一起,这样它的测试依赖于Web容器,单元测试也很难实现。

不过有一个Junit的扩展工具Struts TestCase可以实现它的单元测试。

四、类型的转换. Struts的FormBean把所有的数据都作为String类型,它可以使用工具Commons-Beanutils进行类型转化。

但它的转化都是在Class级别,而且转化的类型是不可配置的。

类型转化时的错误信息返回给用户也是非常困难的。

五、对Servlet的依赖性过强. Struts处理Action时必需要依赖ServletRequest 和ServletResponse,所有它摆脱不了Servlet容器。

相关主题