搜索工作 |
搜索工作 公司点评 查工资 看趋势
微信

职友集

附近的工作

职友集>Java面试题 > Java企业面试题整理集合(5)

Java企业面试题整理集合(5)

2015-02-23 06:30:01 阅读( 6 )

2646人 收藏本页

标签:Java面试题

你知道的应用层协议都有什么?他们的端口是多少?答案:

a)         TCP/IP协议——传输控制协议(Transmission Control Protocol, TCP)和网际协议(Internet Protocol,IP)。

b)        TELNET协议——Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。

c)         SMTP协议——简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是事实上的在Internet传输email的标准。

d)        FTP协议——文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议。

e)         POP3协议——邮局协议版本3(Post Office Protocol – Version 3)。是TCP/IP协议族中的一员。主要用于支持使用客户端远程管理在服务器上的电子邮件。

f)         UDP协议——用户数据报协议 (User Datagram Protocol, UDP) 是一个简单的面向数据报的传输层协议,是不可靠的数据报协议。

g)        GPRS技术——通用分组无线服务技术(General Packet Radio Service,GPRS)是GSM移动电话用户可用的一种移动数据业务。 它经常被描述成“2.5G”,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。

 

无线局域网用的协议是?答案:GPRS。通用分组无线服务技术(General Packet Radio Service,GPRS)是GSM移动电话用户可用的一种移动数据业务。 它经常被描述成“2.5G”,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。

 

10个随机数冒泡排序答案:public void sort(int[] values) {

        if (values == null) {

            return null;

        }

        int temp = 0;

        for (int i = 0; i < values.length; i++) {

            for (int j = i; j < values.length – 1; j++) {

                if (values[j + 1] > values[i]) {

                    temp = values[j + 1];

                    values[j + 1] = values[i];

                    values[i] = temp;

                }

            }

        }

    }

 

1-2+3-4+5-6+7-……+n实现这个算法,要求传入参数n,并且要考虑数量很大的情况。答案:public BigInteger operate(int n) {

BigInteger sum = new BigInteger(“0″);

for (int i = 1; i <= n; i++) {

BigInteger num = new BigInteger(i + “”);

if (i % 2 == 0) {

num = num.negate();

}

sum = sum.add(num);

}

return sum;

}

 

doGet方法的参数答案:HttpServletRequest与HttpServletResponse

 

用javascript写出AJAX调用的基本实现?答案:



var http_request = false;

//向服务器发起XMLHTTP请求。

function send_request() {//初始化、指定处理函数、发送请求的函数

http_request = false;

//开始初始化XMLHttpRequest对象

if(window.XMLHttpRequest) { //Mozilla 浏览器

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType) {//设置MiME类别

http_request.overrideMimeType(‘text/xml’);

}

}

else if (window.ActiveXObject) { // IE浏览器

try {

http_request = new ActiveXObject(“Msxml2.XMLHTTP”);

} catch (e) {

try {

http_request = new ActiveXObject(“Microsoft.XMLHTTP”);

} catch (e) {}

}

}

if (!http_request) { // 异常,创建对象实例失败

window.alert(“不能创建XMLHttpRequest对象实例.”);

return false;

}

 

url=”http://localhost:8888/zf10/submit.jsp?operation=other&top=5″;

http_request.onreadystatechange = processRequest;

// 确定发送请求的方式和URL以及是否同步执行下段代码

http_request.open(“GET”, url, true);

http_request.send(null);

}

 

// 处理返回信息的函数

function processRequest() {

if (http_request.readyState == 4) {              // 判断对象状态

if (http_request.status == 200) {   // 信息已经成功返回,开始处理信息

var returnStr = http_request.responseText;

document.getElementById(“newsCtrl”).innerHTML = returnStr;

} else { //页面不正常

alert(“您所请求的页面有异常。”);

}

}

}



 

Xhtml XSLT xPath CSS 名词解释答案: XHTML——可扩展超文本置标语言(eXtensible HyperText Markup Language,XHTML),是一种置标语言,表现方式与超文本置标语言(HTML)类似,不过语法上更加严格。从继承关系上讲,HTML是一种基于标准通用置标语言(SGML)的应用,是一種非常灵活的置標語言,而XHTML则基于可扩展置标语言(XML),XML是SGML的一个子集。

XSLT——XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,把XML文档转化为另一文档的转换语言,即将源文档的所有数据或者部分数据,利用XPath进行选择,生成另外的XML文档或者其他可直接显示或打印的文件格式(例如 HTML文件、RTF文件或者TeX文件)。XSLT语言是声明性的语言,即XSLT程序本身只是包含了一些转换规则的文档。而这些规则可以被递归地应用到转换过程中。XSLT处理程序会首先确定使用XSLT中的哪些规则,然后根据优先级作出相应的转换操作。XSLT本身也是一份XML文档,所以它也必须遵守严格的XML规范。

Xpath——XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer與XSL间的语法模型。但是 XPath 很快的被開發者採用來當作小型查詢語言。

CSS——Cascading Style Sheets(层叠样式表/串樣式列表),简写为CSS,由W3C定义和维护的标准,一种用来为结构化文档(如HTML文档或XML应用)添加样式(字体、间距和颜色等)的计算机语言。CSS最主要的目的是将文件的结构(用HTML或其他相关的语言写的)与文件的显示(CSS)分隔开来。

 

你知道的设计模型有哪些?谈谈singleton 和 Adapter思想答案:单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、修饰模式、命令模式、组合模式等等

 

用报表打网页某个区域的技术方案。答案:在后台处理该区域,生成报表。

 

22 一个旅行者来到一个岛上旅行,岛上有两个部落,X部落和Y部落,已知道X部落的人都说真话,Y部落的人都说假话,旅行者遇到了个土著人A,问A是哪个部落的,A说自己是X部落的,旅行者相信了他,让他给自己当导游。然后他们又遇到了一个土著人B,旅行者让A去问B是哪个部落的,A回来告诉旅行者,说B也是X部落的。旅行者晕了,于是问逻辑博士,A是哪个部落的,逻辑博士说:A确实就是X部落的。请问,为什么?

答案:因为岛上的人无论是属于哪个部落,都说自己是X部落的人。A回来说:“他说他是X部落的人。”,说明A说真话。

 

一个正三角形,每个角上有一只蚂蚁,三只蚂蚁同时走,但不确定冲哪个角走,请问三只蚂蚁互不相撞的几率有多大?答案:1/4。

计算出所有的可能性(P33),以及三只蚂蚁互不相撞的可能性(2,同时顺时针或者同时逆时针)。

 

谈谈final, finally, finalize的区别答案:final是修饰符,用于修饰类和变量,表明该类或者变量不可更改。

finally是用于表明该关键字描述的方法块是最终会被执行的。

finalize是超级对象Object的方法

 

&和&&的区别答案:&是逻辑与,&&是短路与

对于exp1&exp2而言,即便exp1为false,exp2也会被执行,最终返回false。意思就是说,无论如何,&两边的表达式都回被判断。

对于exp1&&exp2而言,如果exp1为false,exp2不会被执行,直接返回false。意思就是说,只有当exp1为true时,才会继续判断exp2。

 

Collection 和 Collections的区别答案:Collection是集合接口。而Collections是用于处理集合的工具类。

 

sleep() 和 wait() 有什么区别答案:sleep()是休眠,wait()是等待。

 

sqlserver中的操作员是()A)dbo B)administrator  C)sa   D)可以与数据库交互的用户

答案:A

 

用最有效率的方法算出2乘以8等于几?答案:用位运算。2<<3

 

什么是linux的基本命令答案:ls(列出某目录所有文件),mv(移动文件),cp(复制文件),rm(删除文件),cat(查看文文件),ln(创建链接),shutdown(关机),reboot(重启)等等。

 

Sql server的存储过程是否了解答案:了解

 

在数据库方面都学过什么?答案:学过SQL语句、存储过程

 

JDBC读取数据源的方法:答案:直接通过JNDI读取、使用properties配置文件、在连接池中配置

 

Hibernate实体文件配置的要点。h)        每一个实体节点的id不能重复。

i)          Id节点有genarate,column属性,property节点有name,type属性。

 

Many-to-one的配置。





 

Hibernate使用的API主要有哪些答案:Configuration,SessionFactory,Session,Transction

 

简述一下Spring。答案:Spring Framework 是一个开源的Java/Java EE的应用程序框架。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。

Spring 中包含的关键特性

l  强大的基于 JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易。

l  一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。

l  数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。

l  内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。

l  JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码), 简化了错误处理, 大大减少了程序员的编码量. 再次利用JDBC时,你无需再写出另一个 ‘终止’ (finally) 模块. 并且面向JDBC的异常与Spring 通用数据访问对象 (Data Access Object) 异常等级相一致.

l  以资源容器,DAO 实现和事务策略等形式与 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用众多的翻转控制方便特性来全面支持, 解决了许多典型的Hibernate集成问题. 所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范.

l  灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts,WebWork,或 Tapestry。

l  提供诸如事务管理等服务的面向方面编程框架。

 

Spring自带的AOP有哪些。答案:@AspectJ和基于Schema的两种切面定义的AOP

 

Spring里的声明式事务是怎么实现的。先定义一个类,实现MethodBeforeAdvice、AfterReturningAdvice等接口。

在Spring配置文件里配置advice的bean,然后配置代理类,在类里注入advice和目标类。

 

Spring依赖注入有哪几种方式。答案:构造注入、接口注入、Set方法注入、映射注入。

 

Action存在的作用域。答案:request。

 

怎样布置web应用程序。答案:有三种方法:一种是把应用程序文件夹拷贝到webapps目录下,一种是把应用程序打成war包,拷贝到webapps目录下,一种是在tomcat配置文件里把其他位置的应用程序文件夹配置下来。

 

一个网页里有10个div,一个网页里有10个table,这两个页面哪个速度更快。答案:DIV速度更快一些。因为对于DIV的解释是从内到外,而对于TABLE的解释则是见到才会显示所有的内容。

 

一个td标签,有一个id,里面是空的,怎样通过javascript在标签里设置文字。答案:使用document.getElementById(“”).innerText = “111”;

 

怎样使用javascript删除表格的一行数据。答案:document.getElementById(“tableId”).deleteRow(rowIndex)。

 

在Hibernate中所使用的类;答案:主要使用了:Session,SessionFactory,Transaction,Configuration;

 

在运行静态页面时,乱码问题怎么处理?答案:设置页面编码方式

 

怎么使用log4g处理空指针异常?答案:配置一下异常的捕获处理

 

说说javaWeb;答案:

 

单位,用户,角色,权限四个表之间是什么关系;答案:单位和用户表之间是一对多的关系,用户和角色之间是多对多的关系,角色和权限之间也是多对多的关系。

 

什么是MVC模式;答案:(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。

它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。

模型—视图—控制器模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外此模式通过对复杂度的简化使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。

j)          模型(Model)——“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权利,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。(比较:观察者模式(软件设计模式))

k)        视图(View)——视图层能够实现数据有目的的显示(理论上,这不是必需的)。在视图中一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。

l)          控制器(Controller)——控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并做出响应。“事件”包括用户的行为和数据模型上的改变。

 

servlet,jsp跟MVC是什么关系?答案:servlet——控制层,jsp——显示层。

 

自定义标签是怎么使用的?答案:继承Struts的相关标签基类(BodyTagSupport或者BaseHandlerTag),并且实现相关方法(doStartTag和doEndTag)即可。

来自IT公司面试手册

下一篇:Java企业面试题整理集合(6)

上一篇:Java企业面试题整理集合(3)

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题