文档库 最新最全的文档下载
当前位置:文档库 › (完整版)JAVA架构师面试后的问题汇总

(完整版)JAVA架构师面试后的问题汇总

(完整版)JAVA架构师面试后的问题汇总
(完整版)JAVA架构师面试后的问题汇总

JAVA架构师面试后的问题汇总

今天被架构师问了一连串的问题,估计问了有一个多小时吧,有很多问题都答不上来,突然发现原来自己没有掌握的知识太多了,原来我觉得技术是用来解决问题的,而不是用来研究的,但现在觉得要更快捷的解决问题,还得好好的研究他们的原理,凡事多问个他的原理是什么,底层是怎么实现的,回来好好整理了一下知识点,我想就每一个知识点展开。

JDK1.5新增的功能

字符流和字节流的区别,使用场景,相关类

线程安全的概念,实现线程安全的几种方法

抽象类和接口的区别,使用场景

hash算法的实现原理,hashcode的实现原理

error和exception的区别,RuntimeException和非RuntimeException的区别

继承与组合的区别,使用场景

使用静态工厂方法的好处和坏处

排序算法,他们是时间复杂度是多少

数据库设计原则、范式

数据库常用的编码方式有哪几种

如果有10万条学生成绩信息,怎么获取成绩最高的那一条数据,怎么获取成绩第三的那一条数据,列举你认为性能最好的方式

序列化的作用,应用场景,除了网路传输

spring的IOC、AOP的使用场景

ajax是否能跨域请求,解决的办法

解析xml的几种方法,他们的原理

怎么样实现高性能的代码

如果有和其他系统有接口调用,但其他系统还没开发完成,怎么进行单元测试

防止重复提交有哪几种方式(这个网上很多,可以google下)

怎么样运用样式设计一个DIV浮出层

数据库连接池的实现原理,请求怎么样去获取连接,,关闭连接时,连接池是销毁连接还是回收连接

tomcat、weblogic、jboss的区别,容器的作用

apache是容器么,它的作用是什么

内部跳转和外部跳转的区别,底层实现原理

http和https的区别

宕机的原因有哪几种,怎么样分析宕机的原因,如:数据库的长连接。。。

在velocity页面,为什么不推荐不推荐使用宏定义

webx的核心原理,webx框架和velocity的优缺点

页面上如果有一个screen和两个control,那么他们有几个context

一个含有layout、screen和control的页面,他们的加载顺序是什么,是等所有的加载完一起显示,还是其他。。。

#if($!a== true )会出问题么,为什么

支付宝怎么样保证他的安全,他的调用异常分哪几种项目中你觉得做得最好的是什么

java高级工程师_面试题和答案

一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. private static int x=100; 3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++; 6. HasStatic hs2=new HasStatic( ); 7. hs2.x++; 8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -; 11. System.out.println(“x=”+x); 12. } 13. } A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; System.out.println(“i is “+i); } B、 int j=3; while(j) { System.out.println(“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D、 int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 4. 给出下面代码段, 哪行将引起一个编译时错误?( D )

高级开发人员架构师面试题

高级开发人员架构师面试题 此文中所提到的面试题是园子中Tony Qu兄弟翻译过来的,特此感谢高级开发人员/架构师1 DateTime.ParsemyString 有问题,当myString丌能满足时间格式要求的时候,会引发异常,建议使用DateTime.TryParse 2PDB PDB是用于保存调试和项目状态信息的文件,在debug 的时候将产生pdb文件,调试的时候应该放在和对应应用程序集相同目录。3 cyclomatic complexity 丌知道,望指教?4 lock private static object instrace static object lockedObj new object public static void LockTest if instrace null lock lockedObj if instance null instance new object 5 FullTrustGACassemblyFullTrust FullTrust完全信任。放入GAC中的Assembly是否FullTrust我的理解丌是。我理解FullTrust是可以通过代码设定的6 可以更加灵活的设置对代码的访问权限,实现代码级保护。?这点丌是特清楚,有明白的给讲解下7 gacutil /l find /i Corillian 全局程序集缓存中如果有Corillian就更新该程序集,没有就安装8 sn -t foo.dll 显示程序集foo.dll的公钥标记9 DCOM135 135端口,因为DCOM的端口号是随机分配的,默认情况下,会分配1024以上的端口号,所以默认情况下DCOM丌能穿越防火墙。因为根本丌晓得开哪个端口。但有解决办法可以使DCOM分配的端口号固定,有关内容我在https://www.wendangku.net/doc/fc12824284.html,/jillzhang/archive/2008/02/20/1075057.html 有过一些描述。135是远程过程调用RPC的默认端口10OOPSOA 我想OOP和SOA应该没有对比性吧。OOP是一种编程模型,强调将复杂的逻辑分解出小的模块,特性是继承,封装和多态。而SOA是一个技术框架,技术框架和编程模型应该说丌是一码事吧?SOA的思想是将业务逻辑封装成服务戒者中间件提供给应用程序来调用,当然其组件化思想是继承和发扬了OOP的优点。11 XmlSerializerACL 我只知道XmlSerializer是将对象的属性和字段进行序列化和反序列化的,序列化成为xml数据,反序列化再将xml转换成对象。应该至少需要ACL权限中的读权限. 12catchException 原因可能有两点:1)try..catch在出现异常的时候影响性能2)应该捕获更具体得异常,比如IOExeceptionOutOfMemoryException等13Debug.WriteTrace.Write Debug.Write是调试的时候向跟踪窗口输出信息。当编译模式为debug的时候才有效,为release的时候Debug.Write在编译的时候会忽略而Trace则是在debug和release两种模式下均可以向跟踪窗口输出信息。14Debug BuildRelease Build Debug会产生pdb文件,release 丌会。Debug用于开发时的调试,丌能要于部署,而release用于部署.debug编译一些特殊代码,比如IFDEBUG Debug.Write等,而Release则会将那些特殊标记省略15JITassembly 方法,道理很简单,因为对于一次运行,很可能只用到一个程序集中极少数类型和对象,而大部分可能并丌会被使用,此时CLR傻乎乎的给整个程序集都给Compile了,CLR丌是傻疯了么16 抽象类能有具体实现,而接口只定义行为规范,丌能有具体实现。一个类只能继承一个父类,但能实现多个接口。17a.Equalsba b 丌一样。多数情况下,a.Equalsb表示a 不b一致,ab表示a不b的值相等。也可以有具体重载(多谢Jeffrey Zhao 的指正)18 对象一致是指两个对象是同一个对象,引用相同。而对象相等是指两个对象的值相同,但引用丌一定相同https://www.wendangku.net/doc/fc12824284.html,deep copy 实现IClonable接口20IClonable IClonable方法是实现深度复制的接口,实现它应该能深度复制一个对象出来。深度复制的特征的调用对象的构造方法,创建新的对象,包括创建对象中嵌套的引用对象的新实例。而Shadow复制则丌同,是浅表复制,丌重新创建新实例。浅表复制的实现是Object.MemberWiseClone. public class Name public string FirstName public string LastName public class Person:ICloneable public Name PersonName public string Email /// /// Deep Copy的例子/// /// public Object Clone Person p new Person p.Email this.Email p.PersonName new Name p.PersonName.FirstName this.PersonName.FirstName https://www.wendangku.net/doc/fc12824284.html,stName https://www.wendangku.net/doc/fc12824284.html,stName return p public void ChangLastNamestring lastName https://www.wendangku.net/doc/fc12824284.html,stName lastName public static void Main Person p new Person p.PersonName new Name https://www.wendangku.net/doc/fc12824284.html,stName jill

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

(完整版)架构师面试问题指导性框架

架构师面试问题指导性框架 1. Java基础问题 (3) 1.1. 所有Java类的基类是什么? (3) 1.2. Object类中有哪些方法?(说出三个) (3) 1.3. equals和==的差别? (3) 1.4. hashCode的作用 (3) 1.5. hashCode和equals方法的关系 (3) 1.6. 如何停止一个线程? (3) 1.7. Thread.setDeamon()的含义? (5) 1.8. ClassLoader的功能和工作模式? (5) 1.9. 列举几个Java Collection类库中的常用类,试简述其类结构。 (6) 1.10. Input/OutputStream和Reader/Writer有何区别?何为字符,何为字节? (6) 1.11. 如何在字符流和字节流之间转换? (6) 1.12. GC垃圾收集是什么意思?怎样的对象会被收集? (6) 2. JavaEE的问题 (6) 2.1. Serlvet/JSP相关 (6) 2.1.1. JSP的工作原理 (6) 2.1.2. Servlet中的session工作原理 (6) 2.1.3. WEB层如何实现Cluster (7) 2.2. EJB相关 (7) 2.2.1. EJB的类型 (7) 2.2.2. EJB的工作原理 (7) 2.2.3. EJB的应用领域 (7) 2.3. JMS相关 (7) 2.3.1. JMS的模式 (7) 2.4. JDBC/JTA/JTS相关 (7) 2.4.1. 用JDBC怎样从数据库中查询一条记录? (7) 2.4.2. Transaction有哪几种隔离级别?(Isolation Level) (7) 2.4.3. Global transaction的原理是什么? (7) 2.5. WebService相关 (8) 2.5.1. 简述WebService是怎么实现的? (8) 2.6. Ant/maven的知识 (8) 2.6.1. 用过ant或maven吗?它们是什么?有什么特点(或好处)? (8) 3. 开源软件的问题 (8) 3.1. Spring相关 (8) 3.1.1. Spring的核心理念是什么? (8) 3.2. iBatis/hibernate相关 (8) 3.2.1. 简介hibernate和(或)ibatis,及它们的异同、优缺点。 (8) 3.3. 其它软件 (8) 3.3.1. Web层框架 (8) 3.3.2. 数据层框架 (8) 3.3.3. 普通工具类 (8) 3.3.4. 测试框架 (8) 3.3.5. Service框架 (8) 3.3.6. (9) 4. OOA/OOD (9) 4.1. OOD的原则 (9)

Java工程师面试题(含答案)

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求

java软件工程师面试题集

java软件工程师面试题集 EJB方面 1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS..... 2、EJB与JAVA BEAN的区别? 答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java 类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB 必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 3、EJB的基本架构 答:一个EJB包括三个部分: Remote Interface 接口的代码 package Beans; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Add extends EJBObject { //some method declare } Home Interface 接口的代码

Java软件中年级工程师笔试题复杂逻辑

J2E E部分 1、运算符优先级问题,下面代码的结果是多少?(笔试) package test; public class Test { public static void main(String[] args) { int k = 0; int ret = ++k + k++ + ++k + k; // ret的值为多少 } } 2、运算符问题,下面代码分别输出什么?(笔试) package test; public class Test { public static void main(String[] args) { int i1 = 10, i2 = 10; } } 3、下面代码的结果是什么?还是抛出异常?(笔试) package test; public class Test { public void myMethod(String str) { } public void myMethod(Object obj) { } public static void main(String[] args) { Test t = new Test(); t.myMethod(null); } } 4、假设今天是9月8日,下面代码输出什么?(笔试) package test; public class Test { public static void main(String[] args) { Date date = new Date(); } } 5、下面代码的输出结果是什么? package test; public class Test {

public static void main(String[] args) { double val = 11.5; } } 6、下面代码的结果是什么? package test; public class Test extends Base { public static void main(String[] args) { Base b = new Test(); b.method(); Test t = new Test(); t.method(); } @Override public void method() { } } class Base { public void method() throws InterruptedException { } } 7、以下代码的结果是什么? package test; public class Test extends Base { public static void main(String[] args) { new Test().method(); } public void method() { } } class Base { } 8、true or false? package test; public class Test { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new String("abc"); StringBuffer sb1 = new StringBuffer("abc"); StringBuffer sb2 = new StringBuffer("abc"); } } 9、输出的结果是什么?

ETL面试题

一、分析 1.什么是逻辑数据映射?它对ETL项目组的作用是什么? What is a logical data mapping and what does it mean to the ETL team? 答: 逻辑数据映射(Logical Data Map)用来描述源系统的数据定义、目标数据仓库的模型以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或Excel 的格式保存如下的信息: 目标表名: 目标列名: 目标表类型:注明是事实表、维度表或支架维度表。 SCD类型:对于维度表而言。三种SCD(Slowly Changing Dimension)技术 SCD1直接修改原维表信息,不保存任何维历史信息。 SCD2创建新的记录而不删除或修改原有维信息。可通过为每条记录设定过期时间、生效时间两个字段来区分各历史记录和当前记录(历史记录的过期时间均早于当前记录的生效时间)。 SCD3在维表中定义历史信息字段,只保存有限的历史信息(此技术很少应用) 源数据库名:源数据库的实例名,或者连接字符串。 源表名: 源列名: 转换方法:需要对源数据做的操作,如Sum(amount)等。 逻辑数据映射应该贯穿数据迁移项目的始终,在其中说明了数据迁移中的ETL策略。在进行物理数据映射前进行逻辑数据映射对ETL项目组是重要的,它起着元数据的作用。项目中最好选择能生成逻辑数据映射的数据迁移工具。 -----------------------------补充: 逻辑数据映射分为两种: 1: 模型映射: 从源模型到DW目标模型之间的映射类型有:

一对一:一个源模型的数据实体只对应一个目标模型的数据实体。如果源类型与目标类型一致,则直接映射。如果两者间类型不一样,则必须经过转换映射。 一对多:一个源模型的数据实体只对应多个目标模型的数据实体。在同一个数据存储空间,常常出现会一个源实体拆分为多个目标实体的情况下。在不同的存储空间中,结果会对应到不同的存储空间的实体。 一对零:一个源模型的数据实体没有与目标模型的数据实体有对应,它不在我们处理的计划范围之内。 零对一:一个目标模型的数据实体没有与任何一个源数据实体对应起来。例如只是根据设计考虑,时间维表等。 多对一:多个源模型的数据实体只对应一个目标模型的数据实体。 多对多:多个源模型的数据实体对应多个目标模型的数据实体。 2: 属性映射 一对一:源实体的一个数据属性列只对应目标实体的一个数据属性列。如果源类型与目标类型一致,则直接映射。如果两者间类型不一样,则必须经过转换映射。 一对多:源实体的一个数据属性列只对应目标实体的多个数据属性列。在同一个实体中,常常出现会一个源属性列拆分为目标的多个属性列情况。在不同实体中,结果会对应到不同的实体的属列。 一对零:一个源实体的数据属性列没有与目标实体的数据属性列有对应,它不在我们处理的计划范围之内。 零对一:一个目标实体的数据属性列没有与任何一个源数据属性列对应起来。例如只是根据设计考虑,维表和事实表中的时间戳属性,代理健等。 多对一:源实体的多个数据属性列只对应目标实体的一个数据属性列。 多对多:源实体的多个数据属性列对应目标实体的多个数据属性列。 作用: 1 为开发者传送更为清晰的数据流信息。映射关系包括有关数据在存储到DW前所经历的各种变化的信息,对于开发过程中数据的追踪审查过程非常重要。 2 把ETL过程的信息归纳为元数据,将数据源结构,目标结构,数据转换规则,映射关系,数据的上下文等元数据保存在存储知识库中,为元数据消费者提供很好的参考信息,追踪数据来源与转换信息,有助于设计人员理解系统环境变化所造成的影响;

Java工程师面试题(三大框架)

Java工程师(程序员)面试题 Struts,Spring,Hibernate三大框架的面试 1.Hibernate工作原理及为什么要用? 原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作6.提交事务7.关闭Session 8.关闭SesstionFactory 为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many 4.Struts1流程: 1、客户端浏览器发出HTTP请求。 2、根据web.xml配置,该请求被ActionServlet接收。 3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。 4、是否验证,需要验证则调用ActionForm 的validate方法,验证失败则跳转到input,成功则继续。 5、Action从ActionForm获得数据,调用javabean 中的业务方法处理数据。 6、Action返回ActionForward对象,跳转到相应JSP 页面或Action。 7、返回HTTP响应到客户端浏览器。 MVC设计模式:modal:“模型”也称业务逻辑,是正真完成任务的代码,相当与JavaBeanview:视图,其实就是显示界面,相当于JSPcontroller:控制器,他控制模型和视图的交互过程,相当于servletstruts1是基于MVC设计模式hibernate是基于ORM对象关系映射 5.struts是什么? struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式struts2是基于webwork技术的框架,是sun和webwork公司联手开发的一个功能非常齐全的框架,struts2和struts1没有任何关系,是一个全新的框架 6.spring是什么? spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注

Java软件中级工程师笔试题-复杂逻辑

J2EE部分 1、运算符优先级问题,下面代码的结果是多少?(笔试)packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ intk=0; intret=++k+k+++++k+k; //ret的值为多少 } } 2、运算符问题,下面代码分别输出什么?(笔试)packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ inti1=10,i2=10; +i2="+i1+i2); -i2="+i1-i2); *i2="+i1*i2); /i2="+i1/i2); } } 3、下面代码的结果是什么?还是抛出异常?(笔试)packagetest; publicclassTest{ publicvoidmyMethod(Stringstr){ } publicvoidmyMethod(Objectobj){ } publicstaticvoidmain(String[]args){ Testt=newTest(); t.myMethod(null); } } 4、假设今天是9月8日,下面代码输出什么?(笔试)packagetest; import publicclassTest{ publicstaticvoidmain(String[]args){ Datedate=newDate(); +""+date.getDate()); } }

5、下面代码的输出结果是什么? packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ doubleval=11.5; } } 6、下面代码的结果是什么? packagetest; publicclassTestextendsBase{ publicstaticvoidmain(String[]args){ Baseb=newTest(); b.method(); Testt=newTest(); t.method(); } @Override publicvoidmethod(){ } } classBase{ publicvoidmethod()throwsInterruptedException{ } } 7、以下代码的结果是什么? packagetest; publicclassTestextendsBase{ publicstaticvoidmain(String[]args){ newTest().method(); } publicvoidmethod(){ getName()); } } classBase{ } 8、trueorfalse? packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ Stringstr1=newString("abc"); Stringstr2=newString("abc"); StringBuffersb1=newStringBuffer("abc"); StringBuffersb2=newStringBuffer("abc"); }

软件工程师面试题含答案.doc

一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答: MVC设计模式(应用观察者模式的框架模式) M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentation)。 V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图 MVC框架的一种实现模型 模型二(Servlet-centric): JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。 StrutsMVC框架(Web application frameworks) Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。 Struts提供了一些组件使用MVC开发应用程序: Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean 或EJB的形式提供 View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。 Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。 二、什么是WebService? 答: WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。 WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL

java工程师面试自我介绍

java工程师面试自我介绍 java工程师面试自我介绍怎么写?java工程师面试的自我介绍是考官与应聘者面对面进行的一种测试方法。以下是小编为您整理的java工程师面试自我介绍相关资料,欢迎阅读! java工程师面试自我介绍【一】大家好,我是xxxx 职业学院信息电子系计算机硬件专业的一名应届毕业生,衷心感谢您抽出宝贵时间审阅我的简历。在三年的学习生活中,我牢固地掌握了计算机硬件与电子专业的基础知识,精通数电与模电,熟练office办公软件,对计算机组装与维护把握深刻,并在各种实践中获得了一定的实际运用能力。并利用课余时间进行了汉语言文学自学考试,通过科目过半。在自考期间不但提高了文学功底,而且培养了我坚强的意志。课余时间我还广泛阅读各方面书籍,积极参加各种集体活动和社会实践活动,扩展了知识面,培养了团队精神,增强了组织交际能力,提升了综合素质。 虽然缺少工作经验和社会阅历,但我会在实践工作中勤奋学习,弥补不足,积极进步。或许我应聘的职位和计算机硬件专业并不对口,但我认为人的才能并不仅局限于所学的专业,在其他领域同样有可挖掘的潜力! java工程师面试自我介绍【二】我叫朱cc,今年22岁,毕业于山东理工大学计算机科学与技术专业。由于非

常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分注重对专业课的学习,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB 开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB;熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix 环境下的软件开发。因为专业课知识掌握牢固,以专业第一的综合成绩毕业。 然而,我深知仅有专业知识是不够的,社会需要的是高素质复合型人才,因而在校期间学习之外,我积极参加各种社会实践活动,曾参与过学院上虚拟实验室开发的需求分析。大三暑假曾在浪潮软件园实习,参与了电信增值软件开发与编挰,通过亲自动手及不断地向有经验的工程师请教学习,实习结束时我已经基本掌握整个Java平台的核心技术,独立编程能力大大提高。同时实习生活也让我意识到从事Java编程工作团队合作的重要性。 虽然我的实际工作经验还不是很丰富,但相信有了扎实的专业基础知识和实习期间的实践经验,加上好学上进的精神,我能够胜任应聘岗位需求。希望贵公司给我这次机会。 java工程师面试自我介绍【三】我叫xx,您可能会联想起琼瑶小说,字的确就是那两个字,差别就是人没有那么漂亮,呵呵。其实,我的同学更都喜欢称呼我的英文名字,叫June,六月的意思,是君的谐音。

JAVA工程师笔试题

一、选择题 1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.wendangku.net/doc/fc12824284.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString() B.equals() C.compare() D.以上所有选项都不正确 3.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 4. Java接口的修饰符可以为() A private B protected C final D abstract 5. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 6. 下面关于https://www.wendangku.net/doc/fc12824284.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable C集成自Error

D以上都不正确 7.下面程序的运行结果:() public static void main(String[] args) { // TODO Auto-generated method stub Thread t = new Thread() { public void run() { pong(); } }; t.run(); System.out.print("ping"); } static void pong() { System.out.print("pong"); } A pingpong B pongping C pingpong和pongping都有可能 D 都不输出 8. 下面哪个流类属于面向字符的输入流( ) A BufferedWriter B FileInputStream C ObjectInputStream D InputStreamReader 9. ArrayList list = new ArrayList(20);中的list扩充几次() A 0 B 1 C 2 D 3

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任何痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关 键字以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面方法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.wendangku.net/doc/fc12824284.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A.1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } }

Java系统架构师【面试题】

Java系统分析/架构师面试题 【专业知识相关】 1、谈谈对OOP、IOC、AOP的设计理念的理解; 2、谈谈对主流的J2EE框架(Spring、Struts、Ibatis、Hibernate等);这 些框架的局限性在哪儿?在何种情况下会不适合用这些框架? 3、关于J2EE方面开发方面,说出前、后端的设计模型; (提示:比如前端的MVC框架,Axis,Ext,JQuery,Flex等,后端的Ejb,Spring,IOC,AOP,JMS,JNDI,RMI,以及负载均衡等) 4、什么是SOA,ROA?谈谈两种技术的原理及适用场景; 5、说说JVM原理,内存泄露与溢出的区别,何时产生内存泄露? 6、谈谈JAVA通信方面相关知识,以及大项目之间通信方案; 【软件架构、服务器、中间件相关】 7、谈谈架构师的职责有哪些? 8、软件设计领域,有哪些设计模式,你常用的几种设计模式;各个设计模式 有哪些优缺点,适应哪些场景; 9、谈谈你日常用的几种WEB服务器、中间件的相关特性及优缺点; 10、如果要设计一个搜索引擎,像Google那样只有两个页面,要求性能最大 化,Web方面应该如何设计?(不需要考虑搜索的逻辑) 11、企业级应用有哪些特殊要求?在何种情况下我们不需要考虑这些要求? 12、谈谈你现在做技术最大的困惑是什么? 13、描述一个你感觉最成功的一次架构案例? 14、怎么做到系统整合? (提示:A、通过代码的整合方式,使用相同的数据库。B、通过SSO方式,可以是异构数据库.) 15、浅谈一下负载均衡的原理? 16、怎么处理权限分配?有几种权限分配模型?(提示:目前流行的三种: A、自主型访问控制; B、强制型访问控制; C、基于角色的访问控制RBAC)【数据库方面】

相关文档
相关文档 最新文档