java英语面试试题整理(5篇材料)

时间:2019-05-15 13:54:59下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《java英语面试试题整理》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《java英语面试试题整理》。

第一篇:java英语面试试题整理

1.What are java beans?

JavaBeans is a portable, platform-independent component model written in the Java programming language, developed in collaboration with industry leaders.It enables developers to write reusable components once and run them anywhere--benefiting from the platform-independent power of Java technology.JavaBeans acts as a Bridge between proprietary component models and provides a seamless and powerful means for developers to build components that run in ActiveX container applications.Java beans is very powerful tool you can use in your servlet/JSP bridge.You can use the servlets to build the bean and can be passed over to the JSP for reading.This provides tight encapsulation of the data while preserving the sanctity of servlets and JSP。2.What is RMI?

RMI stands for Remote Method Invocation.Traditional approaches to executing code on other machines across a network have been confusing as well as tedious and error-prone to implement.The nicest way to think about this problem is that some object happens to live on another machine, and that you can send a message to the remote object and get a result as if the object lived on your local machine.This simplification is exactly what Java Remote Method Invocation(RMI)allows you to do.3.How does Java inheritance work?

A class can only directly extend one class at a time.Multiple inheritance is only allowed with regard to interfaces.A class can implement many interfaces.But a class can only extend one non-interface class.4.How does exception handling work in Java?

1.It separates the working/functional code from the error-handling code by way of try-catch clauses.2.It allows a clean path for error propagation.If the called method encounters a situation it can't manage, it can throw an

exception and let the calling method deal with it.3.By enlisting the compiler to ensure that “exceptional” situations are anticipated and accounted for, it enforces powerful coding.4.Exceptions are of two types: Compiler-enforced exceptions, or checked exceptions and Runtime exceptions, or unchecked exceptions.Compiler-enforced(checked)exceptions are instances of the Exception class or one of its subclasses--excluding the RuntimeException branch.The compiler

expects all checked exceptions to be appropriately handled.Checked exceptions must be declared in the throws clause of the method throwing them--assuming, of course, they're not being caught within that same method.The calling method must take care of these exceptions by either catching or declaring them in its throws clause.Thus, making an exception checked forces us to pay heed to the possibility of it

being thrown.An example of a checked exception is java.io.IOException.As the name suggests, it throws whenever an input/output operation is abnormally terminated.5.Does Java have destructors?

Java does not have destructors.Garbage collector does this job periodically depending upon the memory requirements of the machine and on the fact that a particular object is no longer needed.But it has finalizers that does a similar job.The syntax is

public void finalize(){ }

If an object has a finalizer, the method is invoked before the system garbage collects the object, but using finalize()does not guarantee that it would be called b4 garbage collector is invoked.6.What does the “final” keyword mean in front of a variable? A method? A class?

A final variable cannot be reassigned, but it is not constant.For instance, final StringBuffer x = new StringBuffer();

x.append(“hello”);

is valid.X cannot have a new value in it, but nothing stops operations on the object that it refers, including destructive operations.Also, a final method cannot be overridden or hidden by new access specifications.This means that the compiler can choose to in-line the invocation of such a method.(I don't know if any compiler actually does this, but it's true in theory.)

The best example of a final class is String, which defines a class that cannot be derived.6.Access specifiers: “public”, “protected”, “private”, nothing?

Public?Any other class from any package can instantiate and execute the classes and methods Protected? Only subclasses and classes inside of the package can access the classes and methods Private? The original class is the only class allowed to execute the methods.And in case if there is no modifier specified, it means, only the classes inside the package can access this class and its methods, it is also called “Friendly”.Question:What is the difference between an Interface and an Abstract class?Question: What is the purpose of garbage collection in Java, and when is it used?

Question:Describe synchronization in respect to multithreading.1.what is single inheritance.ans:one class is inherited by only other one class

9.what is interface.ans:Interface has only method declarations but no definition

10.what is differenec between abstract class and interface.ans:In abstract class some methods may contain definition,but in interface every method should be abstract

11.how to u prove that abstrace class cannot instantiate directly.ans:As they dont have constructor they cant be instantiated

12.what is differenece between string and stringbuffer.ans:Strings are immutable where as string buffer can be modified

13.what is immutable

ans:Which cant be changed

18.what is legacy interface.ans: legacy is something that is old in terms of technology/ system

19.what is main difference hashmap and hastable

ans:Hash table is synchronized

20.what is main difference between arraylist and vector.ans:Vector is synchronised

22.what are distributed techonologies.distributed technologies means any technology / s/w program that are having many components in

multiple environments that interact with each other depending on the functional requirements and design.23.what is advantage and disadvantage of distributed techonologies.language is avoided.Application can be built flexible to meet requirements.Division of labour is

possible.Best of all the technologies and platforms can be optimally utilized.Complexity of requirements can be reduced.25.what is difference between procedure and functions.''

ans:Fuctions can return value ,procedures cant return value

26.what is jdbc.ans:Connecting to DB from java program requires JDBC

31.what is deployment descriptor.ans:Which contains the infrnmation like which file to be used

40.what is platfrom independent

ans:A language is said to be platform independent if it can be run on any machine with out modifying code

46.what is major concepts in oops.ans:Abstraction,polymorphism,encapsulation,inheritance

48.what is implicit object.ans:Implicit objects are a set of Java objects that the JSP Container makes available to developers in each page

49.how many implicit objects in jsp

ans:out,page,session,request,response,application,page context,config

介绍下自己情况

技术问题.基本在论坛上面资料都cover了.比如 list和array 区别, pass by reference or value, memory leakage, oo基本问题, overload/override, 数据库clustered or non-clustered.还有quick sort和 binary sort介绍.复杂度.适用在哪里.有什么问题等等.基本准备下应该没有问题,都很基本.这个过了就进入最后一轮 AC, 是5.5个小时的.从早上8:30开始.相比以前和其他公司.今年这个长度我觉得不累.哈哈.往年有1天半的AC.晕

面试基本是.group discussion+2个technical interviews+1个interpersonal skill interview.全部2个对你一个.group discussion 是给了几个os+database+gui资料, 然后要求选择哪个合适.四个人一组.然后2个人资料是来自相同department的email.根据自己和其他人的资料.选系统.我可以说的就是.要get involved, 如果有不了解问题.不要怕要问其他人来确认..做完后.hr会杀入在给一个资料.然后继续做讨论15分钟.反正就是多说就是了.多和其他人交流.然后就是一般面试...介绍自己, 为什么要做这个,为什么学这个学校, teamwork, 对公司了解, 有个特别点问题就是.如果你是boss在开10人大会.下面你的员工说的东西有个很大的错误,而且很基本的错误.你怎么办.还有如果回到几年前.你会有什么选择会改变吗.(我就说不读phd了,申请ms直接.哈哈)这个部分问题很多.准备要充分.而且很多问题是根据你自己回答.他们追下去问.后面就是两个technical interview, 我大概回忆下.有np/p问题, hashmap, hash原理, deadlock问题, java GC 问题, 还有很多多线程问题(具体有点忘记了), 记得一个GC在多线程环境下的操作.还有j2ee问题.介绍下spring, soap, hibernate.(基本就可以了).c 内存操作问题, 还有 internet, ip和tcp区别.然后osi说几个protocols.第二个面试.基本都是数据结构.写个 binary search tree 来找某个值, 要递归和非递归的.然后hash table, 还有点不记得了.然后数据库.写个简单的er 图.学生, 课程.然后写sql.还要早最大值.然后排序的sql.基本的很.然后说下dns是什么.怎么实现的.最后说下从你在浏览器输入一个网址.到内容被全部显示的过程, 原理等等.基本面试完了.然后去吃饭和以前的graduate scheme的人聊聊.

第二篇:JAVA面试

马老师:

您好,昨天下午面试的中软资源。因为笔试时间很短(她之前并没说多长时间,我估计就只有30多分钟就要收卷),而且题量很大,所以没有记下题目,不过前面的题目都很简单,主要是咱们做的那些基础题。后面的主观题是:

1、详细叙述5种以上种的设计模式

2、详细说明类的设计原则

3、sql语句的调优

还有一个忘记了!

完了之后人事的会做初步面试,首先自我介绍,然后问离职原因,以前的一些工作情况。再就是简单介绍他们目前要做的项目情况,会说工作很幸苦之类的话,最后会问薪水要求!

再就是技术人员面,感觉他们对基础知识很看重,当然首先是自我介绍。会问到一些详细的知识点,比如说怎么配置DWR,sql语句的调优,当然项目也是得问的,主要介绍最近的项目,做过什么东西!

最后是技术总监,开始也是自我介绍。技术方面问的少,就问我jbpm和我做过什么以及用到的一些开源框架和工具。然后问3到5年的职业规划,再给我一份英文的文档让我翻译(他不会告诉你是关于什么方面,我傻到居然去问他)。后面有人遇到这种情况要先看文档大标题,完了告诉他这文档大概是关于什么的(给我的是分需求文档),不要一上来就往细里看,那位总监就批评过我,完了再看细节。最后问我有什么问题!

如果问到的一些知识没听过,就说这些不会是以后项目开发中的问题,因为我们以前也是好多技术都是在项目中边学习边开发的,不可能我们什么技术都会了都准备好了再去做开发。面试中也问道过俩,我不知道是什么,按照上面的回答,感觉对方还是比较满意,也没有为难我!

这些都跟面得职位有关,职位不同情况可能不同。我面得是中软内部的职位,不是外包。

中科软笔试

1.集合类

2.servlet生命周期

3.string,stringbuffer,区别,int integer 区别

4.常见的运行时异常

5.写出几个常见的类,包,接口

6.写一个单例

7.抽象类和接口的区别

8.还有两页的SQL选择题,我不太记得了

9.怎么配置tomcat的内存大小

10.数据库连接池的原理

11.触发器有哪几种,并说说每一种

12.还有JSP中静态include和动态include区别

13.jsp的9种内置对象

14.选择题好几个都是关于主键的,记不清了

还有一个是写几种常用的数据结构,并写出实现原理

还有一个也是数据 结构上的,我不记得了,我连见都没见过 还有一个是程序改错题,挺简单的

第三篇:面试笔试题总结(java)

笔试题部分:

1、(北京37期)编程题:编写一段程序用于生成随机码,入参为随机码长度,出参为随机码,要求随机码中必须包含大小写字母及数字

,2015/5/5 15:59:38

2、(北京37期)编写一段程序用于判断一个字符串是否是合法的IP地址

3、笔试题最难的内容:

根据给定的表,写一个存储过程:

客户信息表(客户编号、客户名称,联系方式...)

订单表(订单号,订单名称,订单价格合计,订单明细信息id,客户编号)订单明细表(id,产品名称,单位,单价,数量)该存储过程要求根据客户编号,查询该客户的订单以及该订单下不同产品价格合计;

即: 客户编号、客户 名称、订单号、订单名称、产品id、数量合计、价格合计

4、笔试题最恶心的:英文阅读翻译等;脑筋急转弯;

5、没涉及到的笔试题(自己百度或者求助同学)

6、其他笔试题(老师将上一期学生笔试题内容以图片形式保存了,到时候按时下载)

7、不用循环写一个小于5000以2的倍数递增并输出值?

上机题:

上机题可能有如下几个考点:

1、手动搭建SSH框架,写一套增删改查

2、解析一个XML文件(sax、DOM解析)

3、写一个方法,实现扫描指定路径下某个文件夹中所有文件(获取文件个数,文件名称等);

4、使用SSH框架,结合给定页面,实现功能(一般涉及到ajax)

面试题部分:

1、谈谈你对java的了解?

Java是面向对象的、具有安全性、可移植性、跨平台性、并发性。Java有三个平台J2EE、J2ME、J2SE

2、面向对象的三个特性:

继承封装多态(体现在哪里?)

继承:子类继承父类,子类能够继承父类中非私有的方法或者变量,继承的好处是可以使程序大量的复用;缺点是如果过多继承会导致程序结构庞大

封装:体现在包、访问修饰符以及setget方法取值,还有某些操作封装到方法中

多态:实例化对象,一个类可以new多次,构造方法的重载重写也体现多态;

3、面向对象的过程

面向对象分析、面向对象设计、面向对象编程

4、java的八个基本数据类型 和对应的包装类和每一种类型的长度

Byte、short、int、long、double、float、char、boolean

5、异常和错误区别? 运行时异常和非运行时异常(编译时异常)区别,说出几个你用过的异常?如何捕获异常?Throws和throw区别?

异常: 程序运行过程中产生的某些错误,程序人员通过修改程序可以修复的,程序员可以预知的错误;

错误: 表示系统级别的错误,例如系统崩溃,jvm内存溢出等;无法预知并且修改程序也无法避免的;

运行时异常:表示程序运行过程中产生的异常,可以不强制try catch捕获或者不强制的throws,程序可以编译通过;

非运行时异常:表示程序编译过程中就捕获的异常,需要强制try catch或者throws抛出,程序运行时,一旦产生非运行时异常,程序无法编译通过;

如何捕获异常? 通过try catch finally try{表示放可能产生异常的程序} catch(可能产生的异常){如果符合该异常,此时执行该语句段,表示这里要处理该异常}finally{不论是否有异常都执行该语句段} Throws:在方法声明时使用,表示该方法可能产生的异常,谁调用该方法,谁捕获处理;当前方法不处理不捕获

Throw:表示抛出一个具体异常,使用在方法体中;例如:throw new Exception(“异常消息”);

6、String和StringBuffer区别?为什么用StringBuffer拼字符串? String 表示不可长度字符串,finally不可被继承的类;

StringBuffer:表示可变长度字符串,通过append方法追加字符串,默认有16位缓冲区,时能new实例化赋值,不能=号赋值;

使用StringBuffer拼接字符串以为StringBuffer长度可变,并且通过append方法追加字符串,节省内存:例如: “a”+”b”+”c” 此时字符串池中有: a b c ab

abc几个字符串;而通过StringBuffer:

则字符串池中有: a

b c 和 abc

7、线程和进程区别?如何理解锁?

线程:一段可执行的代码段;多个线程共同完成一个任务; 进程:一个可执行的应用程序;

解决死锁可以通过:synchronized 关键词,实现多个线程中不同方法,在同一时间内,只能有一个线程在执行;其他线程等待,直到该线程释放资源;

8、Wait和sleep方法区别?

Wait方法是object类中的,sleep是Thread类中的

9、如何定义一个线程?

重写Thread类中的Run方法,或者实现Runnable接口中Run方法

10、Collection和Collections区别

Collection是集合接口,Collections是封装了操作集合方法的类;

11、Set和List区别

Set无序,不可以重复;

List有序,可以重复;

12、LinkedList和vector以及ArrayList区别 LinkedList: 链表实现,对该集合新增修改删除数据速度快,效率高,线程不安全; Arraylist:数组实现,对该集合操作时,从该集合中查询数据速度快,效率高,线程不安全;

Vector: 数组实现,线程安全,效率低;

13、HashMap和HashTable区别:

HasMap: 键值对可以为空;线程不安全;

HashTable: 键值对不可以为空;线程安全;

14、PreparedStatement 和Statement区别:

前者使用预编译sql,效率高,安全,后者未采用预编译sql,效率低;

15、名词解释: jdbc、JNDI、BI、VO、DAO、IOC、AOP、OOP、DI(依赖注入)、MVC、ORM(关系映射模型)、盒子模型、JDBC:java 数据库链接;即:java提供操作数据库的东西; JNDI:java 命名目录接口; BI:商业智能; VO:值对象;

DAO:数据访问对象也就是:java访问数据库的第一层接口; IOC:控制翻转;(Spring时候讲)AOP:面向切面编程(Spring讲)OOP:面向对象编程; DI: MVC:是一种开发模式,M:model模型层,V view 视图层 C Controller 控制层;

控制层主要负责模型层以及视图层数据交互;

ORM:关系映射模型;(Hibernate,Mybatis等都是ORM框架)

盒子模型:css中的一种模型;将页面元素认为是现实中盒子,他们都具有border 边框 Content内容,padding(补白)内边距 margin外边距 等特点,这就是盒子模型;

16、接口和抽象类区别?为什么用接口(弥补java单继承特点)?为什么用抽象类(提取公共部分内容,达到代码复用目的和多态)?

接口:是Interface,是一种特殊的抽象类,为了弥补java单继承的特点,接口可以继承多个接口,也可以实现多个类,声明的变量为常量,方法默认public 省略abstract关键词;

使用时必须通过类重写里面所有抽象方法;

抽象类: 是abstract 声明的类,可以有抽象方法,也可以有非抽象方法;

不能被实例化,只能通过子类继承重写里面所有抽象方法,通过实例化子类使用;

用抽象类可以提取公共部分,然后子类重写相关方法或者抽象方法,实现多态以及程序的复用;

接口目的就是为了弥补单继承缺点;因为接口可以弥补多继承;

17、Break(退出整个循环)、continue(退出当前循环,只能用于循环或者switch语句)和return(退出整个方法体表示该方法有返回值)区别

18、Finally(异常语句块中的,表示有无异常都执行该方法体)、final(声明变量为常量,声明类不可被继承)、finalize(垃圾回收机制中自动调用的方法)区别

19、如何获取随机小数?如何获取随机整数?

Math.random()

Random.类 20、io流的种类? 哪里用到了io流,?什么时候用字节流,什么时候用字符流?

说一下你用过的流有哪些?

(1)字节流和字符流

(2)文件上传下载以及解析xml时加载文件等,还有某些框架底层用到了

(3)读取文件内容,即文本,使用字符流,其他情况都是用字节流

(4)字节流: InputStram,OutputStream FileInputStram、FileOutputStream

BufferedInputStream。BufferedOutputStream

字符流:Reader、Writer、BufferedReader、BufferedWriter、FileReader、FileWriter、InputStreamReader、OutputStreamWriter

21、内部类种类?

匿名内部类、非静态内部类、静态内部类、局部内部类

22、list、set如何重新排序?如何让set有序?

重写Comparable 以及Comparator 中的comparaTo以及compare方法

23、重写以及重载区别?

重写发生在继承中,子类继承父类,要求子类方法与父类方法名,参数个数,返回值必须相同;

重载是发生在当前类中,方法名相同,参数个数不同,类型不同即可;

24、Static用法:

static表示声明的变量或者方法只能被实例化一次,并且被一个对象的不同实例共享,类名可直接打点调用;

25、super和this区别?

Super调用父类对象,使用时如果在子类构造方法中,必须写第一行,不能用在static中;

This表示当前类对象,不能用static中;

26、Jsp的两中包含:

动态包含,被包含页面不独立存在,先包含进来在编译;

<%@include> 静态包含,被包含的页面独立存在,先编译完毕后再包含进来;

27、jsp的就个内置对象:

out、page、request、session、application、config、pageContext、exception、response

四个作用域: page(最小)、request、session、application(最大)

28、过滤器用在哪儿?

即:filter,可以实现权限控制以及转码,某些框架中也使用了(struts2)

29、监听器? Session、request、application(ServletContex类型)

监听在线人数、通过application初始化时加载数据或者配置; 30、servlet的声明周期?

服务器加载后,servlet容器通过init方法初始化,然后客户端访问服务器时,经过servlet的指定的urlpattern,然后进入指定servlet类中的service方法处理业务逻辑,然后响应给客户端,服务器关闭通过destory方法销毁servlet容器;

31、Session和Cookie区别:

Session’表示一次会话,客户端访问服务器端,会有唯一session表示该客户端,有一个sesionid是唯一的; 浏览器关闭只能是断开会话,而session依然存在,直到过期或者手动销毁;(web.xml中可以设置或者通过set...方法设置有效时间)

Session是保留在服务器端的;过多使用给服务器端带来压力; Cookie是键值对存储数据,保留在客户端不安全;

32、Jsp中的<%%> <%!%> <=%>区别

<%%> 可以声明变量也可以写操作;

<%!%> 只能用于声明变量,声明变量是全局的;

<%=%> 表示输出,显示某个字段值,类似于out.print();

33、客户端跳转(重定向)或者服务器端跳转(转发)区别?

客户端跳转当页面刷新时,不会再次发送请求,以前的request中存放的变量全部失效,并进入一个新的request作用域。

服务器端跳转当刷新页面会再次提交请求,并且服务器端跳转时以前的request中存放的变量不会失效。

34、初始化快和静态初始化块区别:

类中写static{}永远只加载一次,单利的、比构造方法早

类中写{} 每次加载类都执行,比构造方法早

35、为什么用构造方法?(初始化成员变量使用的)

36、Js如何操作DOM?什么是DOM(文本对象模型)?

(1)按照id获取对象、按照name属性获取、按照标签获取、按照form找

document.getElementById(“”)

document.getElementsByName(“”)document.getElementsByTagName(“”)Document.forms[0].id或者name属性

38、如何js创建一个节点?如何用jquery创建一个节点?

Js: document.createElement(“标签名”)Jquery: $(“

”)

$(“

”)

39、Js是否有trim方法? 没有如何做?

没有trim方法;

正则表达式写去掉前后空格方法:必须会写:

function trimStr(str){

return str.replace(/(^s*)|(s*$)/g,“");}

40、js如何判断某个字段数据类型?

(1)通过赋值,看赋值是什么类型的(2)typeOf方法判断

41、js面向对象写法你懂么?(只是了解,开发用过jquery框架,js面向对象不太了了解)

42、JSP指令有哪些?(说出:include和forword即可)JSP中的动作元素包括:include、forward、useBean、getProperty、setProperty、plugin、param。

1.include动作

标签用来包含一个静态或者动态的文件。

2.forward动作

标签用来重定向一个静态HTML文件、JSP文件或者是一个程序段。

3.useBean动作

标签用来在JSP页面中创建一个Bean实例,并指定其名称和作用范围。

4.getProperty动作

标签用来获取Bean的属性值(在此之前必须用创建它),并将之转化为一个字符串,然后将其插入到输出的页面中。

5.setProperty动作

标签表示用来设置Bean中的属性值。

6.plugin动作

标签用于在浏览器中播放或显示一个对象(典型为applet和Bean),这种显示需要在浏览器上安装Java插件。当JSP文件被编译后送往浏览器时,元素将会根据浏览器的版本替换成或者元素。

7.param动作

标签用来传递参数,必须与forward、include及plugin动作配合使用

43、什么是js的闭包?(类似函数嵌套函数的使用,描述一个例子即可)

function a(){ var i=0;function b(){

alert(++i);} return b;} 使用时如下: var c = a();c();

44、Js继承用过么?(回答:没有,只用过jquery框架即可)

45、Jquery用过继承吗?没有(只了解jquery中$.fn.extend函数,它用于重写jquery中封装的某些方法的,也可以写自定义的插件,相当于继承)

46、有一个iframe,当前页面如何选他页面中iframe里面的某个标签?

document.frames[0].getElementById(“iframe页面中元素id属性值”)iframe如何获取外层页面对象?

在iframe所在页面中,写js代码:window.parent.document.getElementById(“”)

47、开发中什么时候使用StringBuilder,什么时候使用StringBuffer?

StringBuilder线程安全,效率低;(如果同一时间内,只允许一个线程使用字符串追加操作,此时考虑用StringBuilder因为该类中append方法加入了锁关键词)

StringBuffer线程不安全,效率高;(如果同一时间内,允许多个线程共同访问并使用拼接字符串操作,此时可以考虑使用StringBuffer)

48、Iframe和frame区别?

Iframe是嵌套在某个页面中的,iframe包含的页面是独立的窗体; Frameset是将页面拆分几个部分,每个页面不是独立的窗体;

49、HTTP的长连接和短连接?

长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和 6 接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。

短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。C/S通信。

50、说出你用过jquery的那些属性?那些方法(10-20个)?事件?

属性和方法:attr(“”)

removeAttr(“”)val(“”)、get()、ready()、addClass(“”)、css()Remove()、parent()/children()/ find(“”)/removeClass(“”)/ show()/hide()/ next()/ First()last()append()html()

text()/ before()after()/bind()/ toggle()/

Index

offset().pageX offset().pageY $.ajax()

$.each()

$.trim(“”)$.serialize()

/foucs()/

事件:click(function(){})

Mouseover mouseout dbclick mousemove

focus blur

51、说一下jquery的选择器?

按照id找: $(“#”)

按照class属性找: $(“.”)按照标签名找: $(标签名)

表示过滤的:

:parent

:selected :checked :hidden :visible :not :first :last :eq :lt :gt :even :odd :text :checkbox :input :radio

方法: find(“”)

parent(“”)get(下标)

children(“”)next(“”)

52、什么是ajax? 为什么用ajax? Jquery如何实现ajax? Ajax 可以传输哪些数据格式的数据?

(1)ajax是利用js中XMLHttpRequest对象,实现客户端与服务器端无刷新页面,异步交互数据的技术;可以实现局部刷新;

(2)使用ajax可以实现局部刷新,使用json格式传输数据实现异步效率高,并可以实现页面动画效果;

(3)$.ajax()$.post()$.get()$.load()$.getJson()(4)xml/json/text/script/jsonp、html

53、$.ajax()方法参数有哪些?

url:设置请求路径、type:设置提交方式、data:向后台服务器传输数据,格式为&属性=值&属性=值或者{属性:值,属性:值} dataType:指定客户端接收响应数据的格式,有xml/json/text/script/jsonp、html Success:回调函数,指定响应成功后指定的回调函数; error:指定服务器响应失败后指定的回调函数

54、$.ajax()如果实现发送同步请求?

async:属性这只为false

55、说一下等你对Hibernate的了解/理解?

Hibernate是开源的持久层框架,也是ORM映射关系模型框架,通过对象操作表,底层是封装了jdbc。它使用了Session一级缓存和二级缓存SessionFactory来减轻对服务器压力,处理表关系时如果关系复杂,针对表关系负责的项目不考虑使用Hibernate,Hibernate有自带的HQL语句查询以及相关的QBE、QBC等查询方式,采用了预编译sql;

53、你说一下对Hibernate的缓存的理解?

一级缓存:session缓存,针对对象查询起作用,默认的不可被卸载,查询时先访问session缓存,然后如果没有数据在访问数据库,然后获取数据,session缓存也更新,对数据库数据进行增删改时session缓存同时被更新;

二级缓存:sessionFactory需要配置,二级缓存中存放的是主键列,查询时如果配置二级缓存了,先访问二级缓存,如果有id,此时从一级缓存拿数据,如果没有,访问数据库,然后将id放入二级缓存,数据放入一级缓存,即缓存更新;

二级缓存被一级缓存共享,并且list查询针对query缓存(前提是配置二级缓存)起作用,iterate方法查询针对一级缓存起作用,前提是配置二级缓存才能开到效果,他发送n+1条sql;

54、Hibernate数据持久化时的有几种状态?

瞬时:数据封装到对象中,在执行save或者delete或者update方法之前的状态;

持久化: 事务提交后,数据真正保存到数据库;

游离:事务提交后,数据有session脱管;

55、Hibernate的表关系如何配置的?(自己看看关联关系配置:一对多,多对一,多对多,)

56、Hibernate 中inverse 和 cascade区别?

Inverse 表示反转,配置双向关联关系时,某一方设置为true表示关联关系的控制由对方维护,自身放弃该权利,该权利被扭转了;

Cascade表示何时建立这种关联关系,有很多值,常用的是all、saveoOrupdate等

57、Hibernate 中openSession和getCurrentSession区别?

openSession表示开启一个新的session,必须手动关闭

getCurrentSession 方法获取session表示该session绑定当前线程,事务提交,session自动关闭;

58、Hibernate中load和get方法区别?

Load方法支持懒加载(延迟加载),查询无数据时,报异常为ObjectNotFoundException,返回代理对象

Get方法查询不支持懒加载,查询数据时无数据的话返回 null。

59、Hibernate和mybatis区别?

Hibernate 处理表关系时繁琐,数据量大时查询速度慢,他的缓存只是为了减少对服务器压力并非是为了查询速度; 因此银行项目不会使用Hibernate,表关系复杂的项目不会使用Hibernate;

Mybatis 好处在于也可以设置缓存、他将查询sql集中了,好处是便于维护sql、Mybatis’整合spring可以通过接口编程,可以不写实现类,方便效率便于开发;也有构建工具;

60、Mybatis与ibatis区别或者关系?

Mybatis是ibatis3,是ibatis的升级版;

Ibatis老师没讲可以说你没用过;你就说自己只用过mybatis就行; 61、简要说一下struts2流程?

客户端发送请求,经过struts2的过滤器,该过滤器看是否要走struts2框架,如果走,此时会由相关容器经过拦截器,进入action类中,进入指定方法处理业务逻辑,然后响应该客户端,经过拦截器指定返回result,客户端获取响应结果; 62、Struts2 和Struts1区别?

Struts1可以说你没用过:但是了解它和struts2区别:

Struts1 继承机制实现的,采用了大量继承,继承关系过多,封装了servlet

Struts2 是webWork框架后身,struts2 采用了了struts1的xml封装配置优点;实际上跟struts1 没什么关系;

63、Struts2 中如何防止重复提交表单?Token 标签实现 64、Struts2中result返回的数据类型有哪些? Result 标签的type属性值有哪些(还可以这么问: 如何进行客户端服务器端跳转)?

(老师总结的,这样记简单)Struts2中result标签中type属性值:

1、redirect:用于客户端跳转,只能跳页面;

2、redirectAction:客户端跳转,跳转Action(获取不到前一个action中的数据-后一个action并不能共享到前一个action中数据)

3、chain:服务端跳转,跳转Action;(前一个action中数据,该action都能拿到)

4、stream:返回结果为流;

5、dispatcher :默认值;表示服务端跳转;只能跳转页面;

65、自己看看struts2如何实现ajax的,必须看看!

66、Spring:为什么用Srping框架? 用它有何好处?

Spring 核心是IOC,使用spring可以实现程序的解耦,实现高内聚低耦合;

使用Spring可以使用IOC核心机制,实现解耦,AOP实现Hibernate事务管理,采用动态代理形式,将事务注入并管理session。

同时spring提供了MVC框架,以及权限操作框架和定时器等功能; 67、Spring:什么是IOC、AOP?

IOC是Spring的核心,控制翻转; 表示原来使用对象需要new实例化,等同于主动获取对象,现在使用spring,spirng可以事先将类实例化好,然后配置类和类依赖关系,注入指定的对象,此时,将主动获取对象的权利,通过spring扭转了,由spring实例化对象并主动给对方;

AOP:是pring中采用动态代理实现的机制,该面向切面编程的思想,可以很方便管理 Hibernate事务,将需要事务的类认为是切面,需要事务的方法认为是切点,然后将事务切入(注入即DI);

如果让你通俗点讲解:就切西瓜的例子;

68、spring注解你用过吗?(用过,记住 @repository注入dao的,@service注入service层的@controller控制层、@resource 注入bean)

69、Spring 是如何注入的?(意思不是问你如何配置bean和bean之间关系-装配)

1、接口注入、2构造方法注入、3、set方法注入 70、Spring 是如何进行bean的装配的?

1、property按照bean的id进行手动装配

2、按照bean标签 class属性,进行按照类型自动装配,但是需要在beans标签中设置;

3、按照名称进行自动装配,即字段名跟id名字一致,即可自动匹配; 71、Spring对事务的管理?

Spring有声明式事务,即以前我们讲的那种,最基本的那个(再说一下AOP对Hibernate事务操作过程);

可以采用JTA事务,分布式事务管理;(自己再看看这的资料)72、什么是事务?为什么要用事务?

事务是数据库端一组指定单元,要么都执行要么都不执行,数据恢复原始状态;

即:n条sql认为是一组,要么都执行,如果有一条错误,失败,那么都不执行,数据恢复原来状态;

使用事务是为了保证数据完整性一致性;例如:批量删除,批量修改等操作; 73、事务的特性有哪些?事务隔离级别有哪些?

原子性-多个sql是一组单元、9 一致性-要么都执行要么都不执行、持久性-事务一旦提交,不可以混滚、隔离性-事务与事务之间不互相影响干扰;

隔离级别:(重点要给对方用白话解释要举例说明)

(1)丢失更新:撤销一个事务时,如果另一个事务也要commit还没有commit,此时如果有一个事务突然rollback,此时会导致前面数据丢失,即也被回滚;(有人说事务是有隔离性的,这里跟它没关系,是指你一个人操作,在执行多个update或者insert,你前面没commit,这里直接rollback,会影响前面所有没提交的数据)

(2)脏读:就是一个事务读到另一个事务已经提交的数据;

(意思就是说你A事务提交前,在另一个事务B进行了查询,查询的数据结果不是数据库真正存在的数据,此时就是脏读-即读出来的就是脏数据)

(3)不可重复读:意思是A事务查询数据,查询结果正好是B事务提交前的更新结果,然后当B提交事务,此时数据库数据真的变了;此时A在读取数据,跟上一次数据不同,此时就是不可重复读;

(4)覆盖更新:就是不可重复读的特例:就是一个事务覆盖了另一个事务已经提交的更新;

意思是A事务要更新数据,此时B也更新这条记录,那么此时A当更新时,发现自己的数据已经被B更新啦;

74、什么是Json(开发时,项目中数据如何进行交互的?回家ajax以及json内容),请你手写一下他的格式?

{username:”abcdefg”,pwd:”123”}

[{username:””,pwd:””},{username:””,pwd:””},{username:””,pwd:””}] 75、什么是DOM?

文本对象模型

76、Tomcat如何修改端口号?如何解决乱码问题?如何部署项目?

(1)修改tomcat 服务器conf文件夹中server.xml(2)(记住黄色部分选中字体,会给对方讲即可,不必全记住配置)

1.直接把项目导出war包,放到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法。

2.在tomcat安装目录中找conf文件夹,配置server.xml,在之间插入context标签配置。

path=”/hello“

docBase=”F:eclipse3.2workspacehelloWebRoot“

debug=”0“

privileged=”true“>

其中,docBase为设置项目的路径。

3.在tomcat安装目录中找conf文件夹,在Catalinalocalhost(此处需要注意目录的大小写)目录下新建一个XML文件,任意命名,设置context标签的配置。

path=”/hello“

docBase=”D:eclipse3.2workspacehelloWebRoot“

debug=”0“

privileged=”true“>

(3)乱码解决可以通过:过滤器转码、new String 转码、修改服务器默认编码格式 77、tomcat和jboss和weblogic区别 :自己看看

78、spring配置中scope的意义?或者说如何实现bean的单例或非单例模式

(有时候问:spring的bean是默认是单例的还是非单例模式?如果不是怎么修改?如何是,如何变为非单例模式?)

默认是单例模式:即scope=singleton 非单例设置为: scope=prototype 除了上面属性值还有:session、request、globalSession 79、什么是B/S 什么是C/S

B/S 浏览器服务器

C/S 客户端服务器(需要本地安装的,跟浏览器无关的都是)

80、过滤器和拦截器区别?

过滤器filter: 用于过滤客户端向服务器端发送的请求,对于服务器端与服务器端跳转无法过滤到;

拦截器interceptor:是struts2中的,是属于struts2核心机制,用于拦截action,进入action中方法之前拦截,在action对客户端做出响应之前进行拦截; 81、开发中你用过哪些设计模式?

工厂模式、单例模式、代理模式(service层静态代理)82、手写一下单例模式?单例模式实现方式有几种?

(1)例如:

public class Test{

Private static TestDao dao;

Public static TestDao getInstance(){

dao=new TestDaoImpl();

}

}(2)使用静态初始化快实现:

static TestDao dao

static{

dao=new TestDaoImpl();

} 83、JavaBean是什么?

JavaBean是一种特殊的java类,里面有构造方法以及set和get方法,其他没了;

即该类中有无参构造方法、set和get方法、以及实现了Serializable接口;

83、你项目中如何实现的分页操作?(强调的是mysql或者oracle分页语句)

有时候也问是否是n+1(点一页查询一次,不是所有都查询出来再分页)分页?

Mysql:分页语句:select * from emp limit 1 and 10

Oracle: select * from(select rownum r ,emp.* from emp)a where a.r between 1 and 10

84、Map遍历方法,让你写效率高的那种:注意:使用Entry;

例如:

Map obj=...;数据源

//以下是遍历map集合最效率的方法,笔试题面试题

Set> set= obj.entrySet();Iterator> ite=set.iterator();while(ite.hasNext()){ Map.Entry e=ite.next();System.out.print(e.getKey()+”:“+e.getValue()+”:");11

}

85、Tomcat日志级别?

7种: waring>>info>> config>>fine>>finer>>finest

86、Eclipse和MyEclipse工具区别?

Eclipse 免费的,没有集成那么多插件;

MyEclipse 是收费的,继承了很多插件;

87、什么是POI?(老师讲过解析Excel表格或者word文档用过它)

它是Apache 下的开放资源库,用于解析Excel、Word等文档使用;

88、你对JS掌握的如何?说一下js中内置对象有哪些?

String对象:处理所有的字符串操作

Math对象:处理所有的数学运算

Date对象:处理日期和时间的存储、转化和表达

Array对象:提供一个数组的模型、存储大量有序的数据

Event对象,处理事件使用的对象

89、JS中window和document 有何区别?作用范围又有何不同?

Window是窗体对象,document是文本对项; 其中window包含document,Window作用范围比document大; 90、

第四篇:Java 软件工程师面试笔试题

Java 软件工程师面试笔试题.txt﹃根网线''尽赚了多少人的青春い有时候感动的就是身边微不足道的小事。﹎破碎不是最残酷的 最残酷的是踩着这些碎片却假装不疼痛 固执的寻找﹎将来就算我遇见再怎么完美的人,都有一个缺点,他不是你,_____下辈子要做男生,娶一个像我这样的女生。

一、你对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(web服务定义语言)/SOAP(简单请求协议)规范的。WebService=WSDL+SOAP+UDDI(webservice的注册)

Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。

Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。Web Service的优点

(1)可以让异构的程序相互访问(跨平台)

(2)松耦合

(3)基于标准协议(通用语言,允许其他程序访问)Web Service的基本原理

(1)Service Provider采用WSDL描述服务

(2)Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)

(3)Service Requestor在UDDI服务器上查询并 获取WSDL文件

(4)Service requestor将请求绑定到SOAP,并访问相应的服务。

三、什么是中间件?

中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。

举例:

1,RMI(Remote Method Invocations, 远程调用)

2,Load Balancing(负载均衡,将访问负荷分散到各个服务器中)

3,Transparent Fail-over(透明的故障切换)

4,Clustering(集群,用多个小的服务器代替大型机)

5,Back-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)

6,Transaction事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库联接内的事务)

7,Dynamic Redeployment(动态重新部署,在不停止原系统的情况下,部署新的系统)

8,System Management(系统管理)

9,Threading(多线程处理)

10,Message-oriented Middleware面向消息的中间件(异步的调用编程)

11,Component Life Cycle(组件的生命周期管理)

12,Resource pooling(资源池)

13,Security(安全)

14,Caching(缓存)

四、什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处? 答:(1)Presentation layer(表示层)

(1)表示逻辑(生成界面代码)

(2)接收请求

(3)处理业务层抛出的异常

(4)负责规则验证(数据格式,数据非空等)

(5)流程控制

(2)Service layer(服务层/业务层)

(1)封装业务逻辑处理,并且对外暴露接口

(2)负责事务,安全等服务

(3)Persistence layer(持久层)

(1)封装数据访问的逻辑,暴露接口

(2)提供方便的数据访问的方案(查询语言,API,映射机制等)Domain layer(域层)

(1)业务对象以及业务关系的表示

(2)处理简单的业务逻辑

(3)域层的对象可以穿越表示层,业务层,持久层

软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长的领域。

五、什么是OOP?OOP相对于面向过程编程有哪些优点?

OOP,Object-Oriented Programming,面向对象编程不同于面向过程编程:

(1)OOP关注对象和角色,也就是事物的本质

1)OOP把客观世界中的对象抽象成对应的类;

2)通过类构造实例;

3)通过依赖、继承、实现等形式建立对象间的通信关系

(2)OOP易于扩展,增加或改变业务的功能,无需大幅改动改变源代码

(3)OOP易于建模,OOP就是软件架构师在计算机高级语言中对客观世界的抽象和再现,人们可以很好地理解和建立起计算机中的抽象模型

六、谈谈Overload和Override的区别。

答:

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

七、谈谈HashMap和Hashtable的区别。答:

HashMap是轻量级的(线程不安全的,效率高的)集合,Hashtable是重量级的(线程安全的,效率低的)集合。

都属于Map接口的类,实现了将惟一键映射到特定的值上。

HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

八、请问abstract class和interface有什么区别?

答:

1)接口没有任何的实现,而抽象类它可以有部分的实现也可以没有;

2)如果需要复用或者共享部分代码,应该用抽象类而不是接口;

3)继承无法解决类型的转换问题,接口就是为了解决这一问题而产生的(Java的单继承是接口产生的根本原因)接口是一种抽象的第三方规范,跟对象没什么直接关系。

九、请问软件开发中的设计模式你会使用哪些?

答:我熟悉的设计模式有单例模式,DAO模式,模板方法,工厂模式,委托代理模式,MVC模式等。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

Singleton模式一般形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

十、类的核心特性有哪些?

类具有封装性、继承性和多态性。

封装性:

类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。

继承性:

类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部成员。

多态性:

类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。

十一、请问类与对象有什么区别?

类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。

对象

在面向对象概念中,对象(Object)是类的实例(instance)。对象与类的关系就像变量与数据类型的关系一样。

十二、写出生产者消费者模型的实现

十三、用软件工程和Java来叙述购物车(shopping cart)系统实现

十四、文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别

十五、请写出Java API中最常用的五个包,并且各举两个类加以说明。

十六、请问你在“电信运营支撑系统”中遇到了哪些问题?你是怎么解决的?做这个项目你最大的收获是什么?

十七、请说出几个常用的异常类

答:NullpointException(空指针异常)

ClassNotFoundException(类找不到异常)

ClassCastException(类型转换异常)

IllegalArgumentException(非法参数异常)

ArithmeticException(算术异常)

NumberFormatException(数据格式异常)

IndexOutOfBoundsException(数组下标越界异常)

IllegalStateException(非法语句异常)

十八、什么是进程和线程?两者的区别是什么?

十九、请简要描述一下你做的ShoppingCart项目。

二十、请问网络7层协议,tcp/ip4 层协议是什么?

二十一、Java面向对象的四大特点

二十二、public,private,protected,default访问权限(可见性)

答:

public:全局可见

protected:继承体系结构之间可见

default(或不写):同包可见

private:本类可见。

二十二、public,private,protected,default访问权限(可见性)

答:

public:全局可见

protected:继承体系结构之间可见

default(或不写):同包可见

private:本类可见。

二十三、名词解释

CRM

[Customer Relationship Management, 客户关系管理] ERP

[Enterprise Resource Planning, 企业资源规划] OSS

[Operation Support System, 运营支撑系统] BSS

[Business Support System, 数据定义语言] BOSS

[Business Operation Support System, 数据定义语言] OA

[Office Automatization, 办公自动化] HTTP OOP SOA GUI DDL

[Data Definition Language, 数据定义语言] DML

[Data Manipulation Language, 数据操作语言]

WYSIWYG

所见即所得 [What You See is What You Get] CMP CMT B2B C2C B2C IDE DOM

Client/Server CMM ORM MIS MVC

MVC是Model-View-Controller的简写。“Model” 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View” 是应用的表示面(由JSP页面产生),“Controller” 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

OLE

CORBA

CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织(Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。其目的为:

用不同的程序设计语言书写

在不同的进程中运行

为不同的操作系统开发。

UML

UML,标准建模语言,包含用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图等。

XML CMMI JRE J2EE

J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

JDK AOP OO

Container W3C JMS

Domain POJO JVM JNDI JTA SOAP

[Simple Object Access Protocol,简单对象访问协议] WSDL JDO

JDO是Java对象持久化的新的规范,为Java Data Object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。

TDD DAO IoC

[Inversion of Control, 控制反转] RMI DNS

[Internet Domain Name System, 因特网域名系统] URL URI

二十四、数据库连接池的工作机制

二十五、互联网提供哪些服务?

二十六、请写出JSP的几个隐含内置对象

答:JSP中隐含内置对象

名称 类型

request javax.servlet.http.HttpServletRequest request

response javax.servlet.http.HttpServletResponse

注释和范围 response page javax.lang.Object page

Exception java.lang.Throwable page

pageContext javax.servlet.jsp.PageContext page

session javax.servlet.http.HttpSession session

application javax.servlet.ServletContext ServletContext out javax.servlet.jsp.JspWriter OutputStream

config javax.servlet.ServletConfig ServletConfig

JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):

request 用户端请求,此请求会包含来自GET/POST请求的参数

response 网页传回用户端的回应

page JSP 网页本身

exception 针对错误网页,未捕捉的例外

pageContext 网页的属性是在这里管理

session 与请求有关的会话期

application servlet 正在执行的内容

out 用来传送回应的输出

config Servlet的构架部件

二十七、请你谈谈SSH整合

答:SSH:

Struts(表示层)+Spring(业务层)+Hibernate(持久层)

Struts:

Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。

在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,struts-config.xml,Action)

Hibernate:

Hibernate是一个持久层框架,它只负责与关系数据库的操作。

Spring:

Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。

二十八、应用服务器与Web Server的区别

二十九、Java Servlet API中forward()与redirect()的区别

答:

前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

十、写一个简单的C/S结构程序,Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?

答:Server端程序: package test;import java.net.*;import java.io.*;

public class Server { private ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server(){ try { ss=new ServerSocket(10000);while(true){ socket = ss.accept();String RemoteIP = socket.getInetAddress().getHostAddress();String RemotePort = “:”+socket.getLocalPort();System.out.println(“A client come in!IP:”+RemoteIP+RemotePort);in = new BufferedReader(new

InputStreamReader(socket.getInputStream()));String line = in.readLine();System.out.println(“Cleint send is :” + line);out = new PrintWriter(socket.getOutputStream(),true);out.println(“Your Message Received!”);out.close();in.close();socket.close();} }catch(IOException e){ out.println(“wrong”);} } public static void main(String[] args){ new Server();} };Client端程序: package test;import java.io.*;import java.net.*;

public class Client { Socket socket;BufferedReader in;PrintWriter out;public Client(){ try { System.out.println(“Try to Connect to 127.0.0.1:10000”);socket = new Socket(“127.0.0.1”,10000);System.out.println(“The Server Connected!”);System.out.println(“Please enter some Character:”);BufferedReader line = new BufferedReader(new

InputStreamReader(System.in));out = new PrintWriter(socket.getOutputStream(),true);out.println(line.readLine());in = new BufferedReader(new InputStreamReader(socket.getInputStream()));System.out.println(in.readLine());out.close();in.close();socket.close();}catch(IOException e){ out.println(“Wrong”);} } public static void main(String[] args){ new Client();} };

第五篇:Java试题A

Java测试题(A卷)

一、单选题(2分/题*20题=40分)

1.下列javaDoc注释正确的是()

A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 2.下列说法正确的是()

A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样

D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3.下列语句执行后,变量a、c的值分别是()。

int x=182;int a,c;c=x/100;a=x%10;A、1,2

B、2,1 C、1.82, 2 D、100,82 4.下面哪个表达式可用得到x和y的最大值()?

A、x>y?y:x B、xy?(x+y):(x-y)D、x==y?y:x;5.以下代码的执行结果是:()

a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);A、666 B、667

C、677 D、676 6.下列输出结果是()

int a = 2 while(a < 5){ switch(a){ case 0: case 3 : a = a + 2;case 1 : case 2 : a = a + 3;default : a = a + 5;} } System.out.print(a)A、5 B、7

C、10

D、1

27.下面是func(int m,int n)方法的定义,方法调用func(1,4)的返回结果是()。

int func(int m,int n){

int sum=0;for(int i=1;i<=4;i+=2){ sum+=i;} return sum;} A、1

B、4

C、5

D、10

8.以下定义一维数组的语句中,正确的是()

A、int a[5]

B、int a[] = new.int[5];C、int a[];D、int a[] = {1,2,3,4,5};

9.分析选项中关于Java中this关键字的说法正确的是()

A、this关键字是在对象内部指代自身的引用 B、this关键字可以在类中的任何位置使用

C、this关键字和类关联,而不是和特定的对象关联 D、同一个类的不同对象共用一个this 10.在Java中,关于构造方法,下列说法错误的是()

A、构造方法的名称必须与类名相同 B、构造方法可以带参数 C、构造方法不可以重载 D、构造方法绝对不能有返回值

11.假设类A有构造方法A(int a),则在类A的其它构造方法中调用该构造方法的语句为()

A、A(x)

B、this.A(x)C、this(x)//本类的构造方法都是使用this关键字来调用

法使用的是super 12.下列关于抽象类的说法正确的是()

A、某个抽象类的父类是抽象的,则这个子类必须重载父类的所有抽象方法 B、抽象类中必须存在抽象方法 C、绝对不能用抽象类去创建对象

D、抽象类可以实现接口,并且可以只实现接口的部分接口方法 13.下面代码段

静态的变量只有一个值,常驻内存存在的 class HasStatic{

} 输出的结果是: private static int x = 101;public static void main(String[] args){

} HasStatic hs1 = new HasStatic();hs1.x++;102 HasStatic hs2 = new HasStatic();hs2.x++;102 hs1 = new HasStatic();hs1.x++;103 HasStatic.x--;System.out.println(hs1.x + hs2.x);

D、super(x)调用父类的构造方

A、103102 B、204

C、205

D、206

14.下面()不是String类提供的合法的方法。

A、equals(String)//判断是否内容相同 B、trim()//去空格的函数 C、append()D、indexOf()//对索引进行处理

15.在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列()选项中的方法是LinkedList类有而ArrayList类没有的。A、add(Object o)B、add(int index,Object o)C、remove(Object o)D、removeLast()16.下列哪些说法是正确的?

A、IOException必须被捕获或抛出

B、java语言声明变量的同时必须赋值

C、java 语言不允许同时继承一个类并实现一个接口

D、垃圾收集可被随时强制执行 17.关于线程状态的说法正确的是()

A、使用new刚创建出来的线程是就绪状态 B、调用start()方法线程立即处于运行状态 C、提倡调用stop()方法终止线程

D、线程等待IO输入会处于线程阻塞状态 18.以下代码: class Message{

String mailmessage;}...Message data;Socket toServer=new Socket(“172.17.96.34”,1001);...ObjectOutputStream out=new ObjectOutputStream(toServer.getOutputStream());out.write(data);

在执行上面代码时引发异常NotSerializableException。引发此异常的可能原因是什么? A.没有连上服务器

B.此消息类(Message)声明不充分 C.输出套接字可能被破坏

D.写出到此套接字,不应使用ObjectOutputStream 19.关于JDBC编程,以下说法错误的是()。

A、使用Class.forName()方法加载数据库驱动程序

B、使用DriverManager的getConnection()方法建立与数据库的连接 C、使用Connection的executeQuery(sql)方法执行查询得到ResultSet对象 D、用executeUpdate()执行更新、删除语句不会得到ResultSet对象

20.下面代码段, class Dog {

} class Beagle extends Dog{ } 如果类Beagle继承Dog, 并且Beagle类只有一个构造器,下面哪个是Beagle类合法的构造器? A、Beagle(){ } B、Beagle(){ super();} C、Beagle(){ super(“fido”);}

D、不提供构造器,使用默认的构造器。Dog(String name){ }

二、多选题(错选、漏选不得分,2分/题*10题=20分)

1.下面的说法正确的是()。

A、Java 语言是面向对象的、解释执行的网络编程语言。

B、Java 语言具有可移植性,是与平台无关的编程语言。C、Java 语言可对内存垃圾自动收集。

D、Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。2.在Java接口中,下列选项中有效的方法声明是()。(选择二项)

A、public void aMethod();B、void aMethod();C、protected void aMethod();D、private void aMethod();3.定义变量如下:

char c='w';int i=8;long L=15;float f=8.9f;以下赋值语句正确的是()。

A、i=c+i;B、c=c+i;C、L=f+L;D、f=i+L+f;

4.面向对象程序设计的三大特征是()。

A、抽象 B、封装 C、继承 D、多态

5.下面关于类的说法正确的是()。

A、类是 Java 语言中的一种复合数据类型。B、类中包含数据变量和方法。

C、类是对所有具有一定共性的对象的抽象。D、Java 语言的类只支持单继承。

6.编译并运行下面的程序:

public class A {

} class B extends A { public static void main(String[] args){

} void test(){ } System.out.print(“A”);A a=new B();a.test();

} 以下结论正确的有().A、子类B定义了与父类A中同名的方法test,java中称为方法的覆盖。B、代码可以编译运行,并输出结果:AB。C、代码可以编译运行,并输出结果:A。

D、子类B定义了与父类A中同名的方法test,java中称为方法的重载。7.下面哪些说法正确()?

A、如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字。B、如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。C、如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。D、接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。8.关于面向对象的说法正确的是()

A、面向对象编程是类来描述现实世界中的实体 B、有多少个实体就要创建多少个类

C、对象的行为和属性被封装在类中,外界通过发送消息来通知对象执行某个任务 D、现实世界中的某些实体不能用类来描述 9.下面代码:

1.class Over { 2.3.4.5.} 6.7.class Over2 extends Over { 8.9.} 哪两个选项放在第8行会导致不能编译? A、public int doStuff(int x, float y){ return 4;} B、protected int doStuff(int x, float y){return 4;} C、private int doStuff(int x, float y){return 4;} D、String doStuff(int x, float y){ return “4”;} E、int doStuff(float x, int y){ return 4;} // 选择代码添加在此处 int doStuff(int a, float b){ } return 7;void test(){

} super.test();System.out.println(“B”);

10.以下关于布局的说法,正确的是()

A、布局管理是为了能自动适应窗口大小的变化

B、BorderLayout是边框布局,他将窗口分为上、下、左、右四部分

C、FlowLayout是流布局,这种布局将其中的组件按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续从左至右排列

D、GridLayout是网格布局,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件

三、填空题(2分/题*5题=20分)1.补充下面代码的实现求数组中元素的最小值。

int[] x={122,33,55,678,-987};int min=_____999_________;for(int i=1;i

} System.out.println(“最小值为:”+min);

2.终止循环使用关键字____break______,结束本次循环进入下一次循环使用关键字____continue______。3.子类中调用父类被重写的方法需使用关键字__Super,声明常量使用关键字___final______。4.自定义的异常类通常继承自______Execption____________类,方法声明中抛出异常使用关键字____throw______。

5.内部类的特点是内部类与外部类共享______外部类的成员变量_________;内部类中的实例变量与外部类的实例变量重名时,内部类中通过“_____________.this.外部类实例变量名”来引用外部类实例变量。if(_x[i]

四、问答题(4分/题*5题=20分)1.什么是垃圾,java垃圾回收的工作原理 2.类变量与实例变量的区别

3.Vector与TreeSet在存储结构和存取性能上的区别

4.IO流分为字节流和字符流,说明他们的区别,每一类分别说出两个java类

5.什么是线程安全问题?什么情况下容易产生线程安全问题?线程安全问题如何解决?

五、程序题(5分/题*2题=10分)

1.用循环输出九九乘法口诀表

2.编写TCP服务器端程序,并且每个连接启动一个单独的线程来处理。

下载java英语面试试题整理(5篇材料)word格式文档
下载java英语面试试题整理(5篇材料).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    java软件工程师面试试题集2

    第1 页共59 页 面试题集 面试题集共分为以下十个部分: 一、Core Java: 1 — 95 题1 — 24 页 基础及语法: 1 — 61 题1 — 13 页 异常: 62 — 69 题13 — 15 页 集合: 70 — 80......

    java工程师面试

    精通java语言及面向对象思想 具有扎实的java编程基础和良好的编程规范 精通 jsp语言 html语言 javascript脚本以及css 样式 熟练掌握sqlserver oracle 数据库熟练使用Spring......

    Java面试问题

    1、引用CSS样式有哪两种方式? Link,@import 2、js怎么控制两个文本框,当选中的时候边框变空,没选中的变会原来的颜色。onFocus="document.getElementById('text1').style.backg......

    java菜鸟面试

    【总结】技术菜鸟找工作总结 一,简历 1,邮件发简历形式:避免用附件 个人认为如果没有要求,最好不要用附件发简历,简短的求职信+正文粘贴简历比较好。标题比较通用的形式是学校姓......

    Java面试技巧

    Java面试注意事项 1,有公司通知面试时,首先要了解一下这家公司的背景,做什么产品设备,跟什么产业或行业有关系的; 2,去公司面试首先就是衣冠要整洁得体,不能太过随意,印象分也很重要......

    java面试技巧

    程序员Java面试中的30个问题陷阱当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最......

    Java面试总结~~~~

    Java面试总结~~~ 学习过程: 根据个人大学中的学习学习状况的过程如下: 1.看面试题 正常人第一步肯定都会看面试题,我也不例外,在看的过程中,我发现有些文章写的不错,对我帮助不小......

    百威英语面试试题

    百威英语面试试题 百威面试题形式是一半中文题目一半英文题目,大家好好看一下。 1.自我介绍。 2.:something urgent? how did u handle it? 3.通知一个人不好的消息,你怎么通知......