三个月,顺利搞定java面试及笔试题

时间:2019-05-15 05:51:47下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《三个月,顺利搞定java面试及笔试题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《三个月,顺利搞定java面试及笔试题》。

第一篇:三个月,顺利搞定java面试及笔试题

3点建议,三个月,顺利搞定java面试及笔试题

一、Java语言基础

《Java编程思想》,是必须看的。Java初级程序员考试参考书,也是不错的补充。

二、Java语言高级

面试和笔试的难题,往往不是《Java编程思想》里的。所以,一定要看java高级程序员参考书——Java2学习指南。所以的难题,都是出自这里。

当然,也欢迎去下载一个Java.J2EE.Job.Interview.Companion.2nd.Edition.pdf。看完这个pdf,基本上java语言考试是所向无敌了。

三、UML、OO和模式

抓住重点,一网打尽。Java与模式一书,就足够了。可以再补充一本老外写的《UML与模式》。那么任何UML、面向对象、设计模式方面的题目,都没问题。

当然,《J2EE核心模式》,也是一定要看的。

四、数据库

任何系统,都离不开数据库。范式、pk、fk、join、sql、性能及优化,不能逃避。找一个《SQL Server宝典》、《SQL Server管理员指南之类》就够了。

五、测试(性能、单元)

找本《软件测试》、Junit之类,基本够了。如果不是面试测试的话。

七、数据结构和算法

少部分企业喜欢考数据结构和算法。基本看下教科书就行。要不看下排序、递归。http://blog.csdn.net/fancyhf/archive/2008/06/19/2566288.aspx

八、架构设计

如果想做架构师,必定要看Sun的架构师考试指南。还有本《J2EE架构师手册》,不错。

九、框架及开源

Swing和SWT,Spring、Struts、Hiberlate,JSF、EJB3、Seam。不熟悉的,要做几个sample。并且找到各自的《**Action》书,仔细理解其系统结构和模型。能说出各自的原理、优缺点、应用场景。

十、管理和软件工程

如果想做项目管理,或者想表现好点。这是必定要看的。概念性的东西,不难。推荐学习RUP、XP、CMM、TSP/PSP、PMP、人月神话、人件、管理学。基本足够应付项目管理的面试了。

十一、智力题

微软的面试题,你是否觉得很可怕?其实,哪怕名企的智力题,也不是说靠运气的。智力题,多数是属于数学范畴。静下心,有点耐心,就能做出。特别是,学习《MBA入学考试逻辑分册》、《博弈论》后,你会发现,那些刁钻古怪的智力题,原来这么容易搞定。

十二、业务领域

这个很难准备。金融、电信、电子商务、ERP/SCM,只能靠行业经验。

但是,ERP/SCM是个很广泛的应用,陈启申的《企业资源计划(ERP):原理、规划、实施及应用》和马士华《供应联管理》就可以了。

其实,如果各位找机会直接去做SAP和Oracle ERP的实施和顾问工作,将比做Java开发有钱途多了。那只要学好数据库、ERP、商业智能,SAP和Oracle ERP本身就足够了。

十三、英语

高薪和非高薪的区别,在于英语。

讲英语的公司,工资一般比不讲英语的高。

第二篇:面试笔试题总结(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程序员笔试题

Java程序员笔试题

说明:该份题目要求在1小时内答完

1、工厂方法模式和抽象工厂模式的区别

2、jsp/servlet 中 forward, include, reDirect 之间的区别

3、JSP中的两种include包含指令的区别与用法

4、ArrayList和Vector的区别,HashMap和Hashtable及HashSet的区别?

5、请说明在实际应用中,java.sql 包中的Statement和PreparedStatement有何区别?

6、如何遍历一个集合(collection),并在屏幕上打印出集合中的每个元素public void printStr

(Collection cols){

}

7、写一个方法,实现字符串的反转,例如:输入abc,输出cba

PublicString reverseStr(String str){

//代码

}

8、输入为整数数组,请写出如下的排序算法,使得数组data里面存储的数字随数组脚标的增大而依

次增大,即越小的数字存储的位置越靠前

Public void sort(int[]data){

}

9、用户在JSP: input.jsp中输入姓名和手机号码,点”Done”按钮来提交请求到一个/ 6

servlet:test.java。test.java将输入的姓名和手机号码存储在文件store.txt里。

请写出input.jsp, test.java的程序源码,并在input.jsp和test.java中分别通过js和java代码对输入进行校验,如果1)姓名项没有填写或者输入的长度超过了20个字符2)手机号码项没有填写,或者输入了非数字的字符或者输入的长度不是13位,则返回input.jsp,并给出相应的错误提示。

10、有若干条有关城市的信息,每条包括如下属性:ID(唯一递增的序列),CITY(城市名称),DESC(城市说明),要求设计一套数据结构及算法使得1)所有登陆系统的用户均能使用这些城市信息2)能够根据城市ID 号或名称获得城市的其他信息3)如果从该数据结构中找不到合适的城市信息,可以往该数据结构中添加新的城市信息,但相同的城市(ID号或名称有任意一个相同均认为是同一城市)在数据结构中只能有一条记录 4)如任一条城市信息,超过两个小时没有被使用(查询)则需自动将其删除

pubic class CityCache{

}

11、读下面一段程序,写出运行结果

----

pubicclassBaseClass{

static{

System.out.println(“aaaaa”);/ 6

}

BaseClass(){

System.out.println(“11111”);

}

}

publicclassDerivedClass

extendsBaseClass{

static{

System.out.println(“bbbbb”);

}

DerivedClass(){

System.out.println(“22222”);

}

}

publicclassStartRun {

public static void main(String[ ] args){

DerivedClasssdc 1 = newDerivedClass();

dc1 = newDerivedClass();

}

}

12、请写出符合要求的sql 语句(假定数据库为Oracle)。/ 6

现有数据表a,建表语句如下:

create table a(bm char(4),——编码

mc varchar2(20)——名称)

表中数据如下

bmmc

11111111

11121111

11131111

11141111

要求1:用一条sql语句实现对表a中数据的复制,即达到如下的结果(2)bmmc

11111111

11121111

11131111

11141111

11111111

11121111

11131111

11141111/ 6

要求2:请删除表中重复的记录(bm和mc都相同的记录为重复记录)

13、classStack {

LinkedListlist = new LinkedList()

public synchronized void push(Objectx){

synchronized(list){

list.addLast(x);

notify();

}

}

public synchronized Object pop(){

synchronized(list){

if(list.size()<=0)

wait();

return list.removeLast();

}

}/ 6

}

请问上面这个类中有什么错误?应该怎么解决?14、15、请写出MSSQL、ServerMysql和ORACE实现分页算法的sql语句。UNIX和网络基础,依次写出完成下列的操作命令,最好有常用参数的简单说明

1)如何显示当前的IP配置信息

2)查看当前目录

3)拷贝文件或目录

4)移动文件或目录

5)删除文件或目录

6)切换用户

7)修改文件或目录的权限

8)查看日志文件的最后1行

9)查看系统内存、CPU的使用状况

10)查看系统正在运行的和apache相关的进程/ 6

第五篇:JAVA程序员笔试题

深圳市九城恩科软件技术有限公司

java程序员笔试题

JAVA 程序员笔试题

时间:30分钟

试题一:

简单描述一下什么是事务管理,事务管理中有哪些语句?

姓名:

试题二:

跳出当前循环的关键词是什么?继续本次循环的关键词是什么?

试题三:

在JSP页面源代码中写 “${flag}”是代表什么意思?

试题四:

请写出最少五种设计模式的名称。

试题五:

请写出Eclipse 中下列功能的快捷键: 删除当前行: 注释当前行:

代码助手完成一些代码的插入: 打开类型: 打开资源:

试题六:

什么情况下Eclipse不编译生成Class文件?

深圳市九城恩科软件技术有限公司

java程序员笔试题

试题七:

public static void main(String[] args){

int i=3,j=16;do{ if(++i>=j--)continue;}while(i<9);System.out.println(“i=”+i+“;j=”+j);} 这段程序运行后输出的结果是什么?

试题八:

public class One {

} public class Two extends One {

} protected void printA(){System.out.println(“two A”);} private void printB(){System.out.println(“two B”);} public static void main(String[] args){ Two t = new Two();t.printAB();} protected void printA(){System.out.println(“one A”);} private void printB(){System.out.println(“one B”);} protected void printAB(){printA();printB();} 这段程序运行后输出的结果是什么?

试题九:

有一个表 “表A” 中包含 “姓名”,“成绩”两个字段,请写一个SQL语句查询出“成绩”大于60分的,“姓名”有重复的人的名字

试题十:

请写一个方法实现:传入的一个大于10位的字符串,把字符串的最后两位移动到字符串的第4位后面。

下载三个月,顺利搞定java面试及笔试题word格式文档
下载三个月,顺利搞定java面试及笔试题.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


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

相关范文推荐

    java笔试题06

    Using the java.lang.String Class 1. Given the following, 1. public class StringRef { 2. public static void main(String [] args) { 3. String s1 = "abc"; 4. Strin......

    JAVA工程师笔试题

    一、选择题 1.Java中提供了名为( )的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.java.lang包的( )方法比较两个对象是否相等,相等返回true。 A.toString() B.equ......

    面试笔试题

    行政助理岗位笔试题 姓名:日期:评分: 一、多项选择题(第1~6题)(每题2分) 1、下列说法中,属于服务“忌语”的是()。 (A)报刊部营业员:“如果您不买,就别看了!” (B)服装店营业员:“您到......

    JAVA工程师笔试题5篇

    【程序17】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的......

    java程序员笔试题5篇

    姓名:联系方式:考试开始时间: Java程序员笔试题 一、单项选择题(共10题,每题2分,共20分) 1. 下列说法哪一个是正确的。( B ) A.Java程序经编译后会产生machine code B.Java程序经编译后......

    软件开发工程师(JAVA)笔试题A

    JAVA笔试题  软件开发工程师(JAVA)笔试题 请在90分钟以内做答 答案请写在答题纸上 一、选择题 1、下面哪项是不合法的标识符:(c e) A. $persons B. TwoUsers C. *point D. _en......

    Java软件开发工程师笔试题

    Java软件开发工程师笔试题 一、选择题(25 x 2’ = 50’) 1、 一个Java程序运行从上到下的环境次序是() A. 操作系统、Java程序、JRE/JVM、硬件 B. JRE/JVM、Java程序、硬件、操作......

    JAVA程序员笔试题1

    java程序员笔试题 JAVA 程序员笔试题 时间:30分钟 试题一: 简单描述一下什么是事务管理,事务管理中有哪些语句?姓名: 试题二: 跳出当前循环的关键词是什么?继续本次循环的关键词是......