面试笔试题总结java.docx

上传人:b****7 文档编号:9113298 上传时间:2023-02-03 格式:DOCX 页数:22 大小:30.25KB
下载 相关 举报
面试笔试题总结java.docx_第1页
第1页 / 共22页
面试笔试题总结java.docx_第2页
第2页 / 共22页
面试笔试题总结java.docx_第3页
第3页 / 共22页
面试笔试题总结java.docx_第4页
第4页 / 共22页
面试笔试题总结java.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

面试笔试题总结java.docx

《面试笔试题总结java.docx》由会员分享,可在线阅读,更多相关《面试笔试题总结java.docx(22页珍藏版)》请在冰豆网上搜索。

面试笔试题总结java.docx

面试笔试题总结java

笔试题部分:

1、(北京37期)编程题:

编写一段程序用于生成随机码,入参为随机码长度,出参为随机码,要求随机码中必须包含大小写字母及数字

                   ,   2015/5/5 15:

59:

38

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

3、笔试题最难的内容:

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

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

订单表(订单号,订单名称,订单价格合计,订单明细信息id,客户编号)

订单明细表(id,产品名称,单位,单价,数量)

该存储过程要求根据客户编号,查询该客户的订单以及该订单下不同产品价格合计;

即:

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

4、笔试题最恶心的:

英文阅读翻译等;脑筋急转弯;

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

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内存溢出等;无法预知并且修改程序也无法避免的;

运行时异常:

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

非运行时异常:

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

如何捕获异常?

通过trycatchfinallytry{表示放可能产生异常的程序}catch(可能产生的异常){如果符合该异常,此时执行该语句段,表示这里要处理该异常}finally{不论是否有异常都执行该语句段}

Throws:

在方法声明时使用,表示该方法可能产生的异常,谁调用该方法,谁捕获处理;当前方法不处理不捕获

Throw:

表示抛出一个具体异常,使用在方法体中;例如:

thrownew Exception(“异常消息”);

6、String和StringBuffer区别?

为什么用StringBuffer拼字符串?

String表示不可长度字符串,finally不可被继承的类;

StringBuffer:

表示可变长度字符串,通过append方法追加字符串,默认有16位缓冲区,

时能new实例化赋值,不能=号赋值;

使用StringBuffer拼接字符串以为StringBuffer长度可变,并且通过append方法追加字符串,节省内存:

例如:

“a”+”b”+”c”此时字符串池中有:

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

则字符串池中有:

abc和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模型层,Vview视图层CController控制层;

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

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,OutputStreamFileInputStram、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>动态包含,被包含页面不独立存在,先包含进来在编译;

<%@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方法;

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

必须会写:

functiontrimStr(str){

returnstr.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动作

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

2.forward动作

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

3.useBean动作

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

4.getProperty动作

getProperty>标签用来获取Bean的属性值(在此之前必须用

useBean>创建它),并将之转化为一个字符串,然后将其插入到输出的页面中。

5.setProperty动作

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

6.plugin动作

plugin>标签用于在浏览器中播放或显示一个对象(典型为applet和Bean),这种显示需要在浏览器上安装Java插件。

当JSP文件被编译后送往浏览器时,

plugin>元素将会根据浏览器的版本替换成或者元素。

7.param动作

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

43、什么是js的闭包?

(类似函数嵌套函数的使用,描述一个例子即可)

functiona(){

vari=0;

functionb(){

alert(++i);

}

returnb;

}

使用时如下:

varc=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方先建立连接,连接建立后不断开,然后再进行报文发送和接收。

这种方式下由于通讯连接一直存在。

此种方式常用于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()/

Indexoffset().pageXoffset().pageY$.ajax()$.each()$.trim(“”)$.serialize()/foucs()/

事件:

click(function(){})

Mouseovermouseoutdbclickmousemovefocusblur

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;

My

展开阅读全文
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1