当前位置:首页 > 范文大全>公文范文> 正文

财务会计岗位笔试题目及答案

神洲文档网 发表于2022-03-16 22:17:11 本文已影响

下面是小编为大家整理的财务会计岗位笔试题目及答案,供大家参考。

财务会计岗位笔试题目及答案

财务会计岗位笔试题目及答案

阿里巴巴 1、异常值是指什么?请列举1种识别连续型变量异常值的方法? 异常值(Outlier) 是指样本中的个别值,其数值明显偏离所属样本的其余观测值。在数理统计里一般是指一组观测值中与平均值的偏差超过两倍标准差的测定值. 常见的异常值检验方法如下:
l 基于统计的方法 l 基于距离的方法 l 基于密度的方法 l 基于聚类的方法 l 基于偏差的方法 l 基于深度的方法 t检验:按照t分布的实际误差分布范围来判别异常值,首先剔除一个可疑值,然后按t分布来检验剔除的值是否为异常值。

狄克逊检验法:假设一组数据有序x1<x2<…<xn,且服从正态分布,则异常值最有可能出现在两端x1和xn。

格拉布斯检验法:与狄克逊检验法思想一样,其检验公式为:
指数分布检验:
SPSS和R语言中通过绘制箱图可以找到异常值,分布在箱边框外部; 2、什么是聚类分析?聚类算法有哪几种?请选择一种详细描述其计算原理和步骤。


聚类分析(cluster analysis)是一组将研究对象分为相对同质的群组(clusters)的统计分析技术。聚类分析也叫分类分析(classification analysis)或数值分类(numerical taxonomy)。聚类与分类的不同在于,聚类所要求划分的类是未知的。

   聚类分析计算方法主要有:层次的方法(hierarchical method)、划分方法(partitioning method)、基于密度的方法(density-based method)、基于网格的方法(grid-based method)、基于模型的方法(model-based method)等。其中,前两种算法是利用统计学定义的距离进行度量。

常见的聚类方法有:K-pototypes算法,K-Means算法,CLARANS算法(划分方法),BIRCH算法(层次方法),CURE算法(层次方法),DBSCAN算法(基于密度的方法),CLIQUE算法(综合了基于密度和基于网格的算法);
k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。


其流程如下:

(1)从 n个数据对象任意选择 k 个对象作为初始聚类中心;
(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;   (3)重新计算每个(有变化)聚类的均值(中心对象);
(4)循环(2)、(3)直到每个聚类不再发生变化为止(标准测量函数收敛)。


优点:本算法确定的K 个划分到达平方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。对于处理大数据集,这个算法是相对可伸缩和高效的,计算的复杂度为 O(NKt),其中N是数据对象的数目,K是聚类中心,t是迭代的次数。

缺点:1. K 是事先给定的,但非常难以选定;2. 初始聚类中心的选择对聚类结果有较大的影响。

3.数据标准化技术 是将数据按比例缩放,使之落入一个小的特定区间。去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。常用的方法有:
(1)总和标准化。分别求出各要素所对应的数据的总和,以各要素的数据除以该要素的数据的总和,即 4.缺失值处理方法 1)
直接丢弃含缺失数据的记录 如:个案剔除法,这种方法却有很大的局限性。它是以减少样本量来换取信息的完备,会造成资源的大量浪费,丢弃了大量隐藏在这些对象中的信息。当缺失数据所占比例较大,特别是当缺数据非随机分布时,这种方法可能导致数据发生偏离,从而得出错误的结论。

2)补缺 A. 用平均值来代替所有缺失数据:均值替换法,均值替换法也是一种简便、快速的缺失数据处理方法。使用均值替换法插补缺失数据,对该变量的均值估计不会产生影响。但这种方法是建立在完全随机缺失(MCAR)的假设之上的,而且会造成变量的方差和标准差变小。

B. K -最近距离邻居法:先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。

C.用预测模型来预测每一个缺失数据:该方法最大限度地利用已知的相关数据,是比较流行的缺失数据处理技术。如:回归替换法,该方法也有诸多弊端,第一,容易忽视随机误差,低估标准差和其他未知性质的测量值,而且这一问题会随着缺失信息的增多而变得更加严重。第二,研究者必须假设存在缺失值所在的变量与其他变量存在线性关系,很多时候这种关系是不存在的。

5..Apriori算法和信息熵 信息熵是数学中一个抽象的概念,他表示了信息源的不确定度,这里不妨把信息熵理解成某种特定信息的出现概率,当一种信息出现概率更高的时候,表明它被传播得更广泛,或者说,被引用的程度更高。我们可以认为,从信息传播的角度来看,信息熵可以表示信息的价值。

支持度:Support(A->B)=P(A U B)。支持度揭示了A与B同时出现的概率。如果A与B同时出现的概率小,说明A与B的关系不大;如果A与B同时出现的非常频繁,则说明A与B总是相关的。

置信度(Confidence)的公式式:Confidence(A->B)=P(A | B)。置信度揭示了A出现时,B是否也会出现或有多大概率出现。如果置信度度为100%,则A和B可以捆绑销售了。如果置信度太低,则说明A的出现与B是否出现关系不大。

H(x) = E[I(xi)] = E[ log(2,1/p(xi)) ] = -∑p(xi)log(2,p(xi)) (i=1,2,..n),单位是bit. 其中,x表示随机变量,与之相对应的是所有可能输出的集合,定义为符号集,随机变量的输出用x表示。P(x)表示输出概率函数。变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大. 以频繁项集{I1,I2,I3}为例产生强关联规则,最小置信度为40% (1) 频繁项集{I1,I2,I3}的非空子集有{I1,I2},{I1,I3},{I2,I3},{I1},{I2},{I3} (2) 产生强关联规则 {I1,I2}=>I3 confidence=support({I1,I2,I3})/support({I1,I2})=2/4=0.5 {I1,I3}=>I2 confidence=support(I1,I2,I3)/support(I1,I3)=2/4=0.5 {I2,I3}=>I1 confidence=support(I1,I2,I3)/support(I2,I3)=2/4=0.5 I1=>{I2,I3} confidence=support(I1,I2,I3)/support(I1)=2/6=0.33 I2=>{I1,I3} confidence=support(I1,I2,I3)/support(I2)=2/7=0.29 I3=>{I1,I2} confidence=support(I1,I2,I3)/support(I3)=2/6=0.33 则强关联规则为:{I1,I2}=>I3;{I1,I3};{I2,I3}=>I1 3、根据要求写出SQL (没有学习过,之后的学习中需要补)

表A结构如下:

Member_ID (用户的ID,字符型)
Log_time (用户访问页面时间,日期型(只有一天的数据))
URL (访问的页面地址,字符型)
要求:提取出每个用户访问的第一个URL(按时间最早),形成一个新表(新表名为B,表结构和表A一致) 参考答案:

create table B as select Member_ID, min(Log_time), URL from A group by Member_ID ; 5、用户调研
某公司针对A、B、C三类客户,提出了一种统一的改进计划,用于提升客户的周消费次数,需要你来制定一个事前试验方案,来支持决策,请你思考下列问题:

a) 试验需要为决策提供什么样的信息?
c) 按照上述目的,请写出你的数据抽样方法、需要采集的数据指标项,以及你选择的统计方法。


a) 试验要能证明该改进计划能显著提升A、B、C三类客户的周消费次数。


b) 根据三类客户的数量,采用分层比例抽样;
需要采集的数据指标项有:客户类别,改进计划前周消费次数,改进计划后周消费次数;
选用统计方法为:分别针对A、B、C三类客户,进行改进前和后的周消费次数的,两独立样本T-检验 6.常见的抽样方法有哪些? 常用的有以下六种类型:

简单抽样(Simple sampling)

即简单随机抽样,指保证大小为n的每个可能的样本都有相同的被抽中的概率。例如:按照“抽签法”、“随机表”法抽取访问对象,从单位人名目录中抽取对象。


优点:

随机度高,在特质较均一的总体中,具有很高的总体代表度;是最简单的抽样技术,有标准而且简单的统计公式。


缺点:

未使用可能有用的抽样框辅助信息抽取样本,可能导致统计效率低;有可能抽到一个“差”的样本,使抽出的样本分布不好,不能很好地代表总体。


系统抽样(Systematic random sampling)

将总体中的各单元先按一定顺序排列,并编号,然后按照不一定的规则抽样。

其中最常采用的是等距离抽样,即根据总体单位数和样本单位计算出抽样距离(即相同的间隔),然后按相同的距离或间隔抽选样本单位。例如:从1000个电话号码中抽取10个访问号码,间距为100,确定起点(起点<间距)后每100号码抽一访问号码。


优点:

兼具操作的简便性和统计推断功能,是目前最为广泛运用的一种抽样方法。


如果起点是随机确定的,总体中单元排列是随机的,等距抽样的效果近似简单抽样;与简单抽样相比,在一定条件下,样本的分布较好。


缺点:

抽样间隔可能遇到总体中某种未知的周期性,导致“差”的样本;未使用可能有用的抽样框辅助信息抽取样本,可能导致统计效率低。


分层抽样(Stratified random sampling)

是把调查总体分为同质的、互不交叉的层(或类型),然后在各层(或类型)中独立抽取样本。例如:调查零售店时,按照其规模大小或库存额大小分层,然后在每层中按简单随机方法抽取大型零售店若干、中型若干、小型若干;调查城市时,按城市总人口或工业生产额分出超大型城市、中型城市、小型城市等,再抽出具体的各类型城市若干。


优点:

适用于层间有较大的异质性,而每层内的个体具有同质性的总体,能提高总体估计的精确度,在样本量相同的情况下,其精度高于简单抽样和系统抽样;能保证“层”的代表性,避免抽到“差”的样本;同时,不同层可以依据情况采用不同的抽样框和抽样方法。


缺点:

要求有高质量的、能用于分层的辅助信息;由于需要辅助信息,抽样框的创建需要更多的费用,更为复杂;抽样误差估计比简单抽样和系统抽样更复杂。


整群抽样(Cluster sampling)(层层深入抽样,不断缩小抽样的范围)

是先将调查总体分为群,然后从中抽取群,对被抽中群的全部单元进行调查。例如:入户调查,按地块或居委会抽样,以地块或居委会等有地域边界的群体为第一抽样单位,在选出的地块或居委会实施逐户抽样;市场调查中,最后一级抽样时,从居委会中抽取若干户,然后调查抽中户家中所有18岁以上成年人。


优点:

适用于群间差异小、群内各个体差异大、可以依据外观的或地域的差异来划分的群体。


缺点:

群内单位有趋同性,其精度比简单抽样为低。


前面谈到抽样方法的一些基本分类和各自特点,需要注意的是,在实际的运用中,一个调查方案  常常不是只局限于使用某一种抽样方式,而根据研究时段的不同采用多种抽样方法的组鸽为实现不同的研究目的,有时甚至在同一时段综合运用几种抽样方法。


例如,设计一个全国城市的入户项目,在抽样上可以分为几个不同的步骤,包括:

1)在项目正式开始前,可以采用判断抽样法选出某一城市先作试点,在问卷设计初期可以采用任意抽样法选出部分人群进行问卷试访。


2)采用分层随机抽样法,确定全国要分别在多少个超大型市、多少个中型 市、多少个小型市实施(先分出城市的几个层次,再依据研究需要在各层用PPS法选取具体城市)

3)采用简单抽样法或PPS抽样法,确定抽出城市中应抽的地块或居委会;
4)采用整群抽样法,确定抽出地块或居委会应访问的家庭户; 5)在项目后期,可以采用判断抽样法选取某城市进行深入研究。

8.置信度与置信区间 P(x1<x<x2)=1-a,称1-a为置信度,[x1,x2]为置信区间 置信度越大,置信区间越宽;置信区间越宽,置信度越大; 置信度越小,置信区间越窄 9.ROC曲线及含义 ROC曲线指受试者工作特征曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、(1-特异性)为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。

10.数据挖掘步骤 ① 理解数据和数据的来源(understanding)。

② 获取相关知识与技术(acquisition)。

③ 整合与检查数据(integration and checking)。

④ 去除错误或不一致的数据(data cleaning)。

⑤ 建立模型和假设(model and hypothesis development)。

⑥ 实际数据挖掘工作(data mining)。

⑦ 测试和验证挖掘结果(testing and verfication)。

⑧ 解释和应用(interpretation and use)。

11.如何评估促销活动? 11. Bayes公式(全概率公式)
探索在已知结果的情况下,是由哪种原因引起的概率; 12. 逻辑回归(分类问题)
逻辑回归适合求解哪些问题:逻辑回归本质上解决的是分类问题,Logistic回归的主要用途:
· 寻找危险因素:寻找某一疾病的危险因素等; · 预测:根据模型,预测在不同的自变量情况下,发生某病或某种情况的概率有多大; · 判别:实际上跟预测有些类似,也是根据模型,判断某人属于某病或属于某种情况的概率有多大,也就是看一下这个人有多大的可能性是属于某病。

11. 线性回归 线性回归(一元和多元)中对误差的假设都是假定服从均值为0方差为定值的正态分布,拟合系数的求解方法可以有最小二乘法梯度下降法等。关于残差的假设为:零均值,同方差,正态性,不相关,样本随机。

回归分析的自变量为连续性变量,而方差分析的自变量为离散型分类变量; 广义线性回归于线性回归的最大区别是随机误差的分布不一定是正态分布,与非线性模型的最大区别是非线性回归无明确的随机误差分布假定。

12. 过拟合现象以及避免的方法 所谓过拟合问题:过拟合反映的是在学习训练中,模型对训练样本达到非常高的逼近精度, 为了能够对样本完全正确的分类,使得它的构造如此精细复杂,规则如此严格,以至于任何与样本数据稍有不同的文档它全都认为不属于这个类别,在测试数据上往往显示出很差的效果. 产生过拟合是因为:
1.由于对样本数据,可能存在隐单元的表示不唯一,即产生的分类的决策面不唯一. 2.权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征. 过度拟合解决方法:
1.权值衰减.  它在每次迭代过程中以某个小因子降低每个权值 ,此方法的动机是保持权值较小,避免weight decay,从而使学习过程向着复杂决策面的反方向偏。

2. 减少特征的数量,有人工选择,或者采用模型选择算法 3.验证数据       一个最成功的方法是在训练数据外再为算法提供一套验证数据,应该使用在验证集合上产生最小误差的迭代次数,不是总能明显地确定验证集合何时达到最小误差. 4.Cross-validation with some patterns       交叉验证方法在可获得额外的数据提供验证集合时工作得很好,但是小训练集合的过度拟合问题更为严重.    k-fold交叉方法:   把训练样例分成k份,然后进行k次交叉验证过程,每次使用不同的一份作为验证集合,其余k-1份合并作为训练集合.每个样例会在一次实验中被用作验证样例,在k-1次实验中被用作训练样例; 5.正则化方法 正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大,正则化方法的作用是:保留所有特征但减小参数的取值。

13. 监督学习与非监督学习 有监督学习:对具有概念标记(分类)的训练样本进行学习,以尽可能对训练样本集外的数据进行标记(分类)预测。这里,所有的标记(分类)是已知的。因此,训练样本的岐义性低。所有的分类回归算法都是有监督算法,常见的算法有:SVM,KNN,决策树算法,朴素Bayes算法,神经网络,最小平方拟合,最大熵等。

无监督学习:对没有概念标记(分类)的训练样本进行学习,以发现训练样本集中的结构性知识。这里,所有的标记(分类)是未知的。因此,训练样本的岐义性高。聚类就是典型的无监督学习,常见的无监督学习算法:聚类,PCA,关联规则算法Aprior,FP-Growth等。

14.分位数3原则 3原则:在区间上的概率密度曲线之下的面积占总面积的99.7%,对于标准正态分布有。

15.常见分布的密度函数均值和方差 16. 常见的区间估计以及假设检验表 对于均值的检验,方差已知一般采用U检验(标准正太分布),方差未知采用T检验(t分布); 关于方差的检验,一般都采用卡方检验,若是两个正太总体采用F检验; 17.假设检验 P值(P value)是一个概率,就是当原假设为真时所得到的样本观察结果或更极端结果出现的几率。如果P值很小,说明原假设发生的概率很小,我们就有理由拒绝原假设,P值越小,我们拒绝原假设的理由越充分。总之,P值越小,表明结果越显著,一般以P < 0.05 为显著, P<0.01 为非常显著。

Sig值是显著性指标,一般大于0.05拒绝原假设,否则接受原假设,一般大于0.05表示差异不显著,小于0.05表示差异显著,小于0.01表示差异极显著。

a:第一类错误是原假设真时拒绝了原假设(弃真); b:第二类错误是原假设错误时接受了原假设(取误); c=1-b:检验功效是原假设错误拒绝原假设; 第一类错误与第二类错误互相矛盾的,检验功效越大越好即犯第二类错误的概率竟可能的小。

18.数据分析的基本流程

财务会计岗位笔试题目及答案

第一题     简答题 1. 多线程和多进程模式有什么区别?在用两种模型开发服务程序时,分别有什么优缺点?采用长连接和短连接模式有什么区别?分别有什么优缺点?采用同步和异步模式有什么区别?分别有什么优缺点。

(1)启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的。在进程中,有些程序流程块是可以乱序执行的,并且这个代码块可以同时被多次执行。实际上,这样的代码块就是线程体。线程是进程中乱序执行的代码流程。当多个线程同时运行的时候,这样的执行模式成为并发执行。

对于一个进程中的多个线程来说,多个线程共享进程的内存块,当有新的线程产生的时候,操作系统不分配新的内存,而是让新线程共享原有的进程块的内存。因此,线程间的通信很容易,速度也很快。不同的进程因为处于不同的内存块,因此进程之间的通信相对困难。线程切换快,但实现稍复杂。进程易实现,较稳定,但性能与线程相比较差。

(2)所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。

短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。

长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。  (3)同步:调用方调用一个程序,等待返回,然后再继续下面的程序处理  异步: 调用方调用一个程序,不等待返回,继续执行下面的程序。

1)异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。

2)通信效率:异步通信低,同步通信高。

2.请写出以下程序的运行结果,并解释导致这样运行结果的关键性原因。

 #include <iostream> using std::cout; class P { public: virtual void print() { cout << “P“; } }; class Q: public P { public: virtual void print() { cout << “Q“; } }; int main() { P * p = new P; Q * q = static_cast <Q *> (p);   q->print();          delete p; cout << endl;            q = new Q;          p = q;          q->print();          p->print();          cout << endl;            p = new (q) P;          q->print();          p->print();          cout << endl;            p->~P();          delete q;          return 0; } P QQ PP   第二题 算法与程序设计题 1.给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增 1 2 3 3 5 6 4 8 9 现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。

描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)
算法思想:
沿着对角线查找,获得i,使得k位于a[i][i]与a[i+1][i+1]之间。

k只可能存在于a[i][i]对应的右上角矩阵 和a[i+1][i+1]对应的左下角矩阵。

使用递归法继续查找即可。

时间复杂度 O(n) int searchK(int int_arr[][],int n,int startlow,int startclm,int k) { int lefttemp=0; int downtemp=0; int i=0; while(int_arr[startlow+i][startclm+i]<k||i<n) i++; if (i==n) return 0; else if(arr[i][i]==k) reuturn 1; else return searchK(int_arr,n,startlow,startclm+i,k)+searchK(int_arr,n,startlow+i,startclm,k); } 2.设 一个64位整型n,各个bit位是1的个数为a个. 比如7, 2进制就是 111,  所以a为3。

现在给出m个数, 求各个a的值。要求代码实现。

 #include <iostream> #include<vector> using namespace std; int count(long long v) { int num=0; while(v) { v &=(v-1); //执行效率为V中1的个数,时间复杂度比通过除操作、位操作比较高出很多 num++; } return num; } void main() { vector<long long> arr; long long i; cout<<“输入需要计算的数,Ctrl+z 停止“ <<endl; while(cin>>i) { //输入随机个数的数,使用Ctrl+z 停止,之后回车键继续。

arr.push_back(i); }; for(vector<long long>::size_type idx=0;idx!=arr.size();++idx) { int n=count(arr[idx]); cout<<n<<“\n“; } }   第三题 系统设计题 实现一个简化的搜索提示系统。给定一个包含了用户query的日志文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中出现频率最高的前10条query。

由于是分布式系统,假设至少有26台机器,每个机器存储以26个字母开头的query日志文件(如机器1存的是a字母开头的,机器2存的是以b字母开头的……)
每个机器上维护着一张哈希表,对于每条query, 在哈希表表中存放其地址(哈希地址为链式的),并对其进行排序,按频率由高到低进行排序。

当用户进行搜索时,可以很快定位到某台机器,并根据哈希表,返回出现频率最高的前10条query。

提示:
1、可以预处理日志 2、假设query不超过10亿条,每个query不超过50字节。

3、考虑在大查询量的情况下如何实现分布式服务

财务会计岗位笔试题目及答案

一 单项选择题
1.Java是从( )语言改进重新设计。


A.Ada
B.C++
C.Pasacal
D.BASIC
答案:B
2.下列语句哪一个正确( )
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code
C. Java程序经编译后会产生DLL
D. 以上都不正确
答案:B
3.下列说法正确的有( )
A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D. 一个class只能定义一个constructor
答案:C
4.提供Java存取数据库能力的包是( )
A.java.sql
B.java.awt
C.java.lang
D.java.swing
答案:A
5.下列运算符合法的是( )
A.&&
B.<>
C.if
D.:=
答案:A
6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是( )
A.0
B.1
C.-1
D.死循环
答案:C
7.下列哪一种叙述是正确的( )
A. abstract修饰符可修饰字段、方法和类
B. 抽象方法的body部分必须用一对大括号{ }包住
C. 声明抽象方法,大括号可有可无
D. 声明抽象方法不可写出大括号
答案:D
8.下列语句正确的是( )
A. 形式参数可被视为local variable
B. 形式参数可被字段修饰符修饰
C. 形式参数为方法被调用时,真正被传递的参数
D. 形式参数不可以是对象
答案:A
9.下列哪种说法是正确的( )
A. 实例方法可直接调用超类的实例方法
B. 实例方法可直接调用超类的类方法
C. 实例方法可直接调用其他类的实例方法
D. 实例方法可直接调用本类的类方法
答案:D
二、多项选择题
1.Java程序的种类有( )
A.类(Class)
B.Applet
C.Application
D.Servlet
2.下列说法正确的有( )
A. 环境变量可在编译source code时指定
B. 在编译程序时,所能指定的环境变量不包括class path
C. javac一次可同时编译数个Java源文件
D. javac.exe能指定编译结果要置于哪个目录(directory)
答案:BCD
3.下列标识符不合法的有( )
A.new
B.$Usdollars
C.1234
D.car.taxi
答案:ACD
4.下列说法错误的有( )
A. 数组是一种对象
B. 数组属于一种原生类
C. int number=[]={31,23,33,43,35,63}
D. 数组的大小可以任意改变
答案:BCD
5.不能用来修饰interface的有( )
A.private
B.public
C.protected
D.static
答案:ACD
6.下列正确的有( )
A. call by value不会改变实际参数的数值
B. call by reference能改变实际参数的参考地址
C. call by reference不能改变实际参数的参考地址
D. call by reference能改变实际参数的内容
答案:ACD
7.下列说法错误的有( )
A. 在类方法中可用this来调用本类的类方法
B. 在类方法中调用本类的类方法时可直接调用
C. 在类方法中只能调用本类中的类方法
D. 在类方法中绝对不能调用实例方法
答案:ACD
8.下列说法错误的有( )
A. Java面向对象语言容许单独的过程与函数存在
B. Java面向对象语言容许单独的方法存在
C. Java语言中的方法属于类中的成员(member)
D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
答案:ABC
9.下列说法错误的有( )
A. 能被java.exe成功运行的java class文件必须有main()方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar选项运行.jar文件
D. 能被Appletviewer成功运行的java class文件必须有main()方法 三、 判断题
1.Java程序中的起始类名称必须与存放该类的文件名相同。( ) 答案:正确
2.Unicode是用16位来表示一个字的。( ) 答案:正确
3.原生类中的数据类型均可任意转换。( ) 答案:错误
四,编程题
1:输入1--50个数字,求出最小数和最大数的和输入以逗号隔开
结果:

这个题用C做,要考虑的东西太多了
如果用java做,可以用split函数,值得尝试。


2.简述有几种排序方法,并且实现快速排序。


3.JSP写入内容到文件有哪几种方式,实现其中至少两种。


4. 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 5. 判断101-200之间有多少个素数,并输出所有素数。


程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。


public class exp2{
public static void main(String args[]){
int i=0;
for(i=1;i<=20;i++)
System.out.println(f(i));
}
public static int f(int x)
{
if(x==1 || x==2)
return 1;
else
return f(x-1)+f(x-2);
}
}
5. 判断101-200之间有多少个素数,并输出所有素数。


程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。


import java.util.ArrayList;
public class Sushu {
public static void main(String[] args) {
ArrayList list = new ArrayList();
for(int i =101;i<=200;i++){
if(isPrime(i))
list.add(i);
}
System.out.println(list+“\n共有“+list.size()+“个素数“);
}
public static boolean isPrime(int i){
boolean flag = true;
for(int j =2;j<=Math.sqrt(i);j++){
if(i%j==0){
flag = false;
}
}
return flag;
}
}
6.取一个整数a从右端开始的4~7位。


程序分析:可以这样考虑:

(1)先使a右移4位。


(2)设置一个低4位全为1,其余全为0的数。可用~(~0 < <4)
(3)将上面二者进行&运算

财务会计岗位笔试题目及答案

2015年百度产品经理笔试题目汇总 百度的产品经理笔试今年全部为开放式回答,1个小时,1张白纸,回答两个大题。题目基本上一题为产品分析题,一题为产品设计题。个人认为这些问题对产品经理的阅读能力、理解能力、思考能力以及解决问题的能力都有着不错的考验。半个小时的时间说多不多,说少不少,怎么在有限的时间里表达出自己的想法、创意并解决问题是考察的重点。

题目一(大连、深圳站)
1.请分别给出世界杯开赛前、开赛期间、开赛后,“世界杯”这个关键词下的用户主需求,以及网页搜索结果展现页面。(50分)(如果对世界杯不熟悉,可用一个热门电影代替)
2.请设计一款百度地图和大数据相结合的产品,产品形态不限。(50分)注:需要说清楚包括但不限于一下内容:产品的功能,产品的主要界面框架图,产品的价值。产品形态可以是仪的独立产品,或一个承载于百度地图产品的模块等。

题目二(武汉站)
1、列举一款你常用的移动APP,并分析他的最核心功能、满足的需求、超预期的功能以及竞争优势和发展趋势 2、如果让你设计一款相册APP,代替系统自带的相册功能,你会怎么设计,列举主要功能。分析原生相册的不足,用户需求痛点,画出相关页面的产品原型线框图(1-3个页面即可)。并分析为什么用户要使用你这款产品 题目三(上海站、北京站)
1.从用户需求角度出发,设计“中国好声音”query的搜索结果页面,并详细说明你的设计思路。【50分】 2.一个社区有A、B……Z共26个社区,每个社区有100位居民,每个居民有独一无二的身份编码,如:
    A社区:A001、A002……A100     B社区:B001、B002……B100     ……     Z社区:Z001、Z002……Z100 在距离社区5个公交站远处有一个 百度广场,提供吃喝玩乐等一条龙服务。现百度广场拟开展促销活动,如“发放积分券”等。对这个社区居民一个月来的出行活动进行调查得到以下【一种】出行信息:
   ①出门→②坐公交车→③在百度广场逛街→④在百度广场吃饭→⑤在百度广场唱歌→⑥在百度广场看电影→⑦……【后面的我忘记了抱歉】   其中:② 该社区公交站只有888路公交直达百度广场,还有其他公交**路、**路等到达别的娱乐休闲场所,顾客可能乘坐888路到百度广场,也可能乘坐其他路线去别处;              ③④⑤⑥ 四项消费的消费金额都有记录可以查询;              ④ 顾客常去的餐馆有所记录;              ⑤ 顾客常点的歌曲有所记录;              ⑥ 顾客常看的电影及类型有所记录;              ① 顾客出门后不一定要搭公交车,可以出门在社区下个棋再回家;              ③⑥④ 顾客进行各项活动的顺序不一定按上述顺序,且也不一定逛街、吃饭、唱歌和看电影都进行,可以逛街、看电影、吃饭然后直接回家。

问:1.如何确定单个居民的 生活质量(还是其他一个**质量?)高低? 如何确定促销价值最大的居民群体?【20分】         2.如何确定不同社区的促销价值?【30分】? 题目四(天津站)
1、目前在移动互联网领域,O2O产品发展很快,请任选一款你熟悉的O2O产品,例举它的核心功能,分析它们最大的优缺点各一个,并说明理由。(50分)
2、在你平时的学习生活过程中,是否存在某些事情效率低下,诱使你产品想提高此事效率的需求?     1)请简要描述该需求场景,指出相应的目标用户群及特征,用户规模,分析需求强度和使用频率等。

    2)请设计一种解决方案,来满足这种需求,并简要阐述设计思路,给出产品使用流程图,并说明你的解决方案比原有方案高效在哪里。

    注:解决方案可能包括但不限于一款产品,或一个页面,或一个模块;如果是一个模块,可以附属在已有的知名产品中。(50分)
题目五(杭州站)
1、请选一个熟悉的关键词(一款游戏、一个明星、一个体育比赛都可以),凭借着你对这个领域的了解     1)分析搜索这些词可能的用户群特征;     2)分析这些词可能的具体用户需求;     设计你认为理想的网页搜索结果页展现样式 2、为百度设计一款新产品,可以结合百度现有的优势和资源,专注解决大学生用户的某个需求痛点,请给出主要页面设计(1-2个页面)。

请说明你的产品解决了大学生在什么场景下的什么痛点,为什么选择这个痛点方向,并分析这个需求的强度和频率,如何保证你的竞争优势,如何推广给你的第一批启动用户。

财务会计岗位笔试题目及答案

软件测试笔试题及答案 1、TCP是互联网中的(1)协议,使用(2)次握手协议建立连接。当主动发出SYN连接请求后,等待对方回答(3)。这种连接的方法可以防止(4),TCP使用的流量控制协议是(5)。

(1)A.传输层 B.网络层 C会话层 D.应用层 (2)A.1 B.2 C.3 D.4 (3)A.SYN,ACK B.FIN,ACK C.PSH,ACK D.RST,ACK (4)A.出现半连接 B.无法连接 C.假冒的连接 D.产生错误的连接 (5)A.固定大小的滑动窗口协议 B.可变大小的滑动窗口协议 C.后退N帧ARQ协议 D.选择重发ARQ协议 2、下列叙述中,与提高软件可移植性相关的是 。

A.选择时间效率高的算法 B.尽可能减少注释 C.选择空间效率高的算法 D.尽量用高级语言编写系统中对效率要求不高的部分 D软件可移植性是指与软件可从某一环境移植到另一环境的能力有关的一组属性。高级语言具有较好的可移植性,所以可以尽量用高级语言编写系统中对效率要求不高的部分。减少注释、选择时间/空间效率高的算法都不能提高软件的可移植性。

3、用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是______ A.X=1,X=100; B.X=0,X=1,X=100,X=101; C.X=2,X=99; D.X=O,X=101; 4、在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理解,正确的是______ A.指响应时间; B.指报文从客户端发出到客户端接收到服务器响应的间隔时间; C.指报文在网络上的传输时间; D.指从报文开始进入网络到它开始离开网络之间的时间 网络延迟:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。

5、软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性()是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。

A.成熟性; B.易恢复性; C.容错性; D.可靠性依从性 国家标准GB/T 16260《软件产品评价-质量特性及其使用指南》规定了软件产品的六个质量特性,并推荐了与之对应的27个子特性,质量特性和子特性列表如下:
质量特性 描述 子特性 子特性描述 功能性 当软件在指定条件下使用时,软件产品满足明确和隐含要求功能的能力 适合性 软件产品为指定的任务和用户目标提供一组合适的功能的能力 准确性 软件产品具有所需精确度的正确或相符的结果及效果的能力 互操作性 软件产品与一个或更多的规定系统进行交互的能力 功能性依从性 软件产品依附于同功能性相关的标准、约定或法规以及类似规定的能力 安全保密 软件产品保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,但不拒绝授权人员或系统对它们的访问。

可靠性 软件产品维持规定的性能级别的能力 成熟性 软件产品避免因软件中错误的发生而导致失效的能力 容错性 在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力 易恢复性 在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力 可靠性依从性 软件产品依附于同可靠性相关的标准、约定或规定的能力 易用性 软件产品在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力 易理解性 软件产品使用户能理解软件是否适合以及如何能将软件用于特定的任务和使用环境的能力。

易学性 软件产品使用户能学习它的能力 易操作性 软件产品使用户能操作和控制它的能力 吸引性 软件产品吸引用户的能力 易用性依从性 软件产品依附于同易用性相关的标准、约定或规定的能力 效率 在规定条件下,相对于所用资源的数量,软件产品提供适当的性能的能力 时间特性 在规定条件下,软件产品执行其功能时,提供适当的相应时间和处理时间以及吞吐率的能力 资源特性 在规定条件下,软件产品执行其功能时,使用合适的数量和类型的资源的能力 效率依从性 软件产品依附于同效率相关的标准、约定或规定的能力 维护性 软件产品可被修改的能力。修改可能包括修正、改进或软件适应环境、需求和功能规格说明中的变化 易分析性 软件产品诊断软件中的缺陷或失效原因,以及判定待修改的部分的能力 易改变性 指软件产品使指定的修改可以被实现的能力 稳定性 软件产品避免由于软件修改而造成以外结果的能力 易测试性 软件产品使已修改软件能被确认的能力 维护性依从性 软件产品依附于同维护性相关的标准、约定或规定的能力 可移植性 软件产品从一种环境迁移到另外一种环境的能力 适应性 指软件产品无需采用有别于为考虑该软件的目的而准备的活动或手段,就可能适应不同的指定环境的能力 易安装性 软件产品在指定环境中被安装的能力 共存性 软件产品在公共环境中同与其分享公共资源的其他独立软件共存的能力 易替换性 软件产品在环境相同、目的相同的情况下替代另一个指定软件产品的能力 可移植性依从性 软件产品依附于同可移植性相关的标准、约定或规定的能力 6、关于软件质量的描述,正确的是______ A.软件质量是指软件满足规定用户需求的能力; B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性; C.软件质量保证过程就是软件测试过程; D.以上描述都不对 解析:软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。

7、 (1)是面向对象程序设计语言不同于其它语言的主要特点,是否建立了丰富的(2)是衡量一个面向对象程序设计语言成熟与否的重要标志之一。

(1)A.继承性;B.消息传递;C.多态性;D.静态联编; (2)A.函数库;B.类库;C.类型库;D.方法库; 8、8位ASCII编码的最大编码值为______ A.128  B.127  C.256 D.255 9、对计算机软件和硬件资源进行管理和控制的软件是______ A.文件管理程序  B.输入输出管理程序  C.命令处理程序  D.操作系统 操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。

10、下列说法正确的是______ A.给计算机加电称为热启动 B.计算机死机后常用冷启动计算机 C.可用Ctrl+Alt+Del键对计算机冷启动 D.可用Ctrl+Alt+Del按钮对计算机热启动 热启动就是 按 ctrl+alt+delete 的重启。冷启动是按机箱上的电源(power)按钮的开机。

11、1024B是______ A.1KB  B.1MB  C.1GB  D.1Gb 1个字节等于8位二进制,1TB=1024GB 1GB=1024MB
1MB=1024KB 1KB=1024Byte 12、衡量计算机的平均无故障时间是计算机的______ A.可靠性  B.可维护性  C.适应性  D.稳定性 MTBF,即平均无故障时间,英文全称是“Mean Time Between Failure”。是衡量一个产品(尤其是电器产品)的可靠性指标。

13、十进制102转换为二进制是______ A.1100111  B.1100110  C.1100001 D.101111 ,102=1100110 14、在Windows中,下列可以作为文件名的是______ A.a?.txt B.abc>.doc C.abc*.xls D.Rula.bmp 1l 允许文件或者文件夹名称不得超过255个字符。

2l 文件名除了开头之外任何地方都可以使用空格。

3l 文件名中不能有下列符号:“?”、“、”、“╲”、“*”、““”、“”“、“<”、“>”、“|”。

4l Windows 98文件名不区分大小写,但在显示时可以保留大小写格式。

5l 文件名中可以包含多个间隔符,如“我的文件。我的图片。001”。

15、SNMP 所采用的传输层协议是______ A.UDP      B.ICMP      C.TCP      D.IP  简单网络管理协议(SNMP)是目前TCP/IP网络中应用最为广泛的网络管理协议,SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。

16、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括______ A.配置项标识、配置项控制、配置状态报告、配置审计 B.配置基线确立、配置项控制、配置报告、配置审计 C.配置项标识、配置项变更、配置审计、配置跟踪 D.配置项标识、配置项控制、配置状态报告、配置跟踪 17、______方法根据输出对输入的依赖关系设计测试用例。

A.路径测试    B.等价类     C.因果图    D.边界值 18、在C++语言中,若类C中定义了一个方法int f(int a,int b),那么方法______不能与该方法同时存在于类C中 A.int f(int x,int y)         B.int f(float a,int b) C.float f(int x,float y)       D.int f(int x,float y) 答案选A,这个题目考的是函数的重载。

重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。(引自百度百科)
从题目来看 选项A 函数f的参数是两个int类型,跟题目中的函数名和参数都相同。

19、下列关于软件验收测试的合格通过准则错误的是:______ A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求; B. 所有测试项没有残余一级、二级和三级错误; C. 立项审批表、需求分析文档、设计文档和编码实现不一致; D. 验收测试工件齐全 软件验收测试合格通过准则:1软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。2所有测试项没有残余的一级二级三级的错误。3立项审批表、需求分析文档、设计文档和编码实现一致。4验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告)
20、测试设计员的职责有:______ ①制定测试计划 ②设计测试用例 ③设计测试过程、脚本 ④评估测试活动 A.①④ B.②③ C.①③ D.以上全是 测试设计员的职责:确定并描述相应的测试技术、确定相应的测试支持工具、定义并维护测试自动化架构、 详述和验证需要的测试环境配置、验证与评估测试途径 21、对于业务流清晰的系统可以利用D贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用C选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用B和判定表驱动法 A.等价类划分    B.因果图法    C.正交试验法   D.场景法、 因果图适合于检查程序输入条件涉及的各种组合情况,正交实验法就是利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果 22、下列软件实施活动的进入准则描述错误的是:______ A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 23、软件的六大质量特性包括:______ ①功能性、可靠性 ②可用性、效率 ③稳定性、可移植 ④兼容性、可扩展性 A.①②③ B.②③④ C.①③④ D.①②④ 24、正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中错误的是______ A.评审产品,而不是评审生产者的能力 B.要有严格的评审计划,并遵守日程安排 C.对评审中出现的问题要充分讨论,以求彻底解决 D.限制参与者人数,并要求评审会之前做好准备 正式技术评审(FTR)是一种由软件工程师和其他人进行的软件质量保障活动。

1. 目标 (1) 发现功能、逻辑或实现的错误
(2) 证实经过评审的软件的确满足需求
(3) 保证软件的表示符合预定义的标准
(4) 得到一种一致的方式开发的软件
(5) 使项目更易管理 2、评审会议
3-5人参加,不超过2小时,由评审主席、评审者和生产者参加,必须做出下列决定中的一个 : (1)工作产品可不可以不经修改而被接受;(2)由于严重错误而否决工作产品;
(3)暂时接受工作产品。

3、评审总结报告、回答
评审什么?由谁评审?结论是什么?
评审总结报告是项目历史记录的一部分,标识产品中存在问题的区域,作为行政条目检查表以指导生产者进行改正。

4、评审指导原则 (1)评审产品,而不是评审生产者。注意客气地指出错误,气氛轻松。

   (2)不要离题,限制争论。有异议的问题不要争论但要记录在案。

   (3)对各个问题都发表见解。问题解决应该放到评审会议之后进行。

   (4)为每个要评审的工作产品建立一个检查表。应为分析、设计、编码、测试文档都建立检查表。

   (5)分配资源和时间。应该将评审作为软件工程任务加以调度。

   (6)评审以前所做的评审 25、下列关于文档测试描述错误的是______ A.文档测试主要检查文档的正确性、完备性、可理解性、可操作性和易维护性; B.正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾; C.完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容。有些学生在证明数学题时,喜欢用“显然”两字蒙混过关。文档中很多内容对开发者可能是“显然”的,但对用户而言不见得都是“显然”的; D.文档不可以写成散文、诗歌或者侦探、言情小说,要让大众用户看得懂,能理解 文档测试主要检查文档的正确性、完备性、可理解性 26、软件工程的主要环节有______ ①人员管理;②项目管理;③可行性与需求分析;④系统设计;⑤程序设计;⑥测试;⑦维护等 A.①②④⑤⑥⑦ B.②③⑤⑥⑦ C.①②③④⑤⑥ D.以上全是 27、以下关于集成测试的内容正确的有______ ①集成测试也叫组装测试或者联合测试; ②在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失; ③一个模块的功能是否会对另一个模块的功能产生不利的影响; ④各个子功能组合起来,能否达到预期要求的父功能; ⑤全局数据结构是否有问题; ⑥单个模块的误差累积起来,是否会放大,从而达到不能接受的程度; A.①②④⑤⑥ B.②③④⑤⑥ C.①②③⑤⑥ D.以上全部正确 28、新开发的数据库管理系统中,数据库管理员张工发现被用户频繁运行的某个查询处理程序使用了多个表的连接,产生这一问题的原因在于(1).在保证该处理程序功能的前提下提高其执行效率,他应该(2). (1)
A.需求分析阶段对用户的信息要求和处理要求未完全掌握 B.概念结构设计不正确 C.逻辑结构设计阶段未能对关系模式分解到BCNF D.物理设计阶段未能正确选择数据的存储结构 (2)
A.建立该查询处理程序所用到表的视图,并对程序作相应的修改 B.建立查询处理程序所用到表进行必要的合并,并对程序作相应的修改 C.修改该程序以减少所使用的表 D.尽可能采用嵌套查询实现该程序的功能 29、在某学校的综合管理系统设计阶段,教师实体在学籍管理子系统中被称为“教师“,而在人事管理子系统中被称为“职工“,这类冲突描述正确的为______ A.语义冲突 B.命名冲突 C.属性冲突 D.结构冲突 30、以下选项中,可以用于Internet信息服务器远程管理的是______ A.Telnet B.RAS C.FTP D.SMTP Telnet是进行远程登录的标准协议和主要方式,它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。所以telnet具有Internet信息服务器远程管理功能 RAS服务(Remote Access Service,远程访问服务),通过RAS可以在远程将PC登录到网站的服务器上,以便在非工作时间对网站进行紧急维护和内容删改。所以RAS也具有Internet信息服务器远程管理功能。

FTP(File Transfer Protocol)是个文件传输协议。正如其名:协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联系的方式、以及使用的操作系统无关。它的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。

SMTP称为简单Mail传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。它是个请求/响应协议,命令和响应都是基于ASCII文本的。

31、计算机的指令系统不包括:______ A. 程序控制指令  B. 运算指令  C.数据传送指令  D.循环控制指令 常见指令按功能可划分为:
①数据处理指令:包括算术运算指令、逻辑运算指令、移位指令、比较指令等。

  ②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。

  ③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。

  ④输入-输出指令:包括各种外围设备的读、写指令等。有的计算机将输入-输出指令包含在数据传送指令类中。

  ⑤状态管理指令:包括诸如实现置存储保护、中断处理等功能的管理指令。

32、OSI规定的网络协议包括几层并顺序排列:______ ①数据链路层 ②网络层 ③传输层 ④会话层 ⑤表示层 ⑥应用层 ⑦物理层 ⑧TCP层 ⑨数据传输层 A.⑦①②③④⑤⑥ B.①⑦②③④⑤⑥ C.⑦⑧②③④⑥⑤ C.⑦①⑨③④⑤⑥ OSI的7层从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

33、软件测试的目的是______ A.评价软件的质量 B.发现软件的错误 C.找出软件中的所有错误 D.证明软件是正确的 34、为了提高测试的效率,应该______ A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误的可能性大的数据作为测试数据 35、下列与设计测试数据无关的文档是______ A.该软件的设计人员 B.程序的复杂程度 C.源程序 D.项目开发计划 36、软件调试的目的是______ A.找出错误所在并改正之 B.排除存在错误的可能性 C.对错误性质进行分类 D.统计出错的次数 调试跟测试是两个不同的过程,有着根本的区别. 1,软件测试是找出软件已经存在的错误,而调试是定位错误,修改程序以修正错误. 2,软件测试从一个已知的条件开始,有预知的结局 而调试从未知的条件开始,其结局不可预知 3,软件测试可以计划,可以预先制定测试用例和过程,工作进度可以度量.而调试不能计划,进度不可度量. 4,调试是在测试之后,在方法,思路,策略上都有所不同. 5,测试的对像可以是文档和代码 而调试的对像只能是代码 6.调试是随机性的 由程序员完成 为了程序可运行 测试是有目的性的 由测试人员完成 为了程序可完成指定功能 37、下列关于软件测试的叙述中,选择出全部正确的一组______ (1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的 (2) 尽量用公共过程或子程序去代替重复的代码段 (3) 测试是为了验证该软件已正确地实现了用户的要求 (4) 对于连锁型分支结构,若有n个判定语句,则有2n条路径 (5) 尽量采用复合的条件测试,以避免嵌套的分支结构 (6) GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁 (7) 发现错误多的程序模块,残留在模块中的错误也多 (8) 黑盒测试方法中最有效的是因果图法 (9) 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写 (10) 程序效率的提高主要应通过选择高效的算法来实现 A.(4)(5)(6)(7)(10) B.(1)(2)(4)(5)(7) C.(2)(4)(5)(7)(9) D.以上描述全部正确 38、单元测试一般以白盒为主,测试的依据是______ A.模块功能规格说明 B.系统模块结构图 C.系统需求规格说明 D.ABC都可以 39、下列关于alpha、beta 测试的描述中正确的是:______ A.alpha 测试需要用户代表参加; B.beta 测试是不是验收测试的一种; C.alpha 测试不需要用户代表参加; D.beta 测试是系统测试的一种; 40、Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用______命令。

A.cat; B.more; C.less; D.menu; cat 这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件less具有more相同的功能,同时支持方向键和前翻页,后翻页滚屏。more只能用空格键下翻,不小心翻多了就没法反回看。

41、string s = new string(“xyz”);创建了几个string object?______(多选)
A.“xyz”; B.仅仅是s; C.指向“xyz”的引用对象s; D.仅仅是“xyz”; 42、关系模型的数据操纵即是建立在关系上的数据操纵,一般有______四种操作;(多选)
A.增加; B.删除; C修改.; D.查询; E.存储; F.定时触发 常用的关系操作包括查询操作和插入、删除、修改操作两大部分 43、一个文件名字为rr.Z,可以用来解压缩的命令是:______ A tar B gzip C compress D uncompress 44、对文件进行归档的命令为______ A dd B cpio C gzip D tar dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。[cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tra备份档内的文件。

GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。

tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。

45、改变文件所有者的命令为______ A chmod B touch C chown D cat 利用 chmod 可以藉以控制档案如何被他人所存取。

touch更新文件的访问和修改时间。

利用 chown 可以将档案的拥有者加以改变。

46、用ftp进行文件传输时,有两种模式:______ A Word和binary B .txt和Word Document C ASCII和binary D ASCII和Rich Text Format 47、若文件A的创建者希望对所有用户(包括其自身)可读写文件A但不可执行A,可用下列哪一个命令完成? ______ A. chown 333 A B. chown 666 A C. chmod 555 A D. chmod 666 A 48、在UNIX文件系统中,若在根文件系统的某个子目录上挂上其它的文件系统,可使用的命令是______ A. mount B. more C. grep D. nice mount是Linux下的一个命令,它可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来, grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。nice更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序,. 49、在SQL语言的Select语句中,用于对结果元组进行排序的是哪一个子句?______ A.GROUP BY B.HAVING C.ORDER BY D.Where 50、关系模型中实体与实体间是通过______联系的. A.表 B.图 C.树 D.关系 51、在SQL语法中,用于更新的命令是______ A.INSERT B.UPDATE C.DELETE D.CREATE 说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like '%value1%' ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 52、 关于自动化测试局限性的描述,以下错误的描述有______ A.自动化测试不能取代手工测试 B.自动测试比手工测试发现的缺陷少 C.自动测试不能提高测试覆盖率 D.自动化测试对测试设计依赖性极大 53、测试ATM取款功能,已知取款数只能输入正整数,每次取款数要求是100的倍数且不能大于500,下面哪个是正确的无效等价类______ A.(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500, +∞); B.(500, +∞); C.(500, +∞)、任意大于0小于500的非100倍数的整数; D.(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500, +∞); java web面试题 第1题.  编写一个Filter,需要()           A.  继承Filter 类     B.  实现Filter 接口     C.  继承HttpFilter 类     D.  实现HttpFilter接口  正确答案为:B       第2题.  自定义标签的配置文件放在________           A.  WebRoot     B.  lib     C.  classes     D.  WEB-INF  正确答案为:D               第3题.  有关会话跟踪技术描述正确的是(多选)           A.  Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端     B.  关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期     C.  在禁用Cookie时可以使用URL重写技术跟踪会话     D.  隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示   正确答案为:ABC               第4题.  在J2EE中,重定向到另一个页面,以下()语句是正确的           A.  request . sendRedirect(“http :// www . svse . com . cn”);     B.  request . sendRedirect();     C.  response . sendRedirect(“http: // www . svse . com . cn”);     D.  response .sendRedirect();  正确答案为:C               第5题.  EL表达式,${10 mod3},执行结果为:           A.  10 mod 3     B.  1     C.  3     D.  null  正确答案为:B               第6题.  自定义标签的作用是           A.  编写和使用方便     B.  规定是这样的,如果不用,别人会说我们不专业     C.  可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发     D.   连数据库   正确答案为:C               第7题. request.getRequestDispatcher().forward(request,response)称之为           A.  流转     B.  转发      C.  重定向     D.  导航  正确答案为:B               第8题.  有关Servlet的生命周期说法正确的有 (多选)           A.  Servlet的生命周期由Servlet实例控制     B.  init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext接口的对象     C.  service()方法响应客户端发出的请求     D.  destroy()方法释放Servlet实例  正确答案为:BCD               第9题.  在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。(选择一项)
Public class Servlet1 extends HttpServlet{          Publicvoid init() throws ServletException{          }          Publicvoid service(HttpServletRequest request,HttpServletResponse response)                             ThrowsServletException,IOException{                    PrintWriterout = response.getWriter();                    out.println(“hello!”);          } }           A.  编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过     B.  编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!     C.  编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字     D.  编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息   正确答案为:B               第10题.  在Servlet中,response.getWriter()返回的是____________           A.  JspWriter对象     B.  PrintWriter对象     C.   Out对象     D.  ResponseWriter对象  正确答案为:B               第11题.  在web.xml中使用___________标签配置过滤器           A.  <filter>和<filter-mapping>     B.  <filter-name>和<filter-class>     C.  <filter>和<filter-class>     D.  <filter-pattern>和<filter>   正确答案为:A               第12题.  自定义标签的描述文件在web.xml中配置正确的           A.  <taglib>          <tag-uri>bob-tld</tag-uri>           <tag-location>/WEB-INF/bob.tld</tag-location>      </taglib>     B.  <tag>          <taglib-uri>bob-tld</taglib-uri>            <taglib-location>/WEB-INF/bob.tld</taglib-location>      </tag>     C.  <jsp-taglib>          <taglib-uri>bob-tld</taglib-uri>           <taglib-location>/WEB-INF/bob.tld</taglib-location> </jsp-taglib>     D.  <jsp-config>      <taglib>          <taglib-uri>bob-tld</taglib-uri>           <taglib-location>/WEB-INF/bob.tld</taglib-location>      </taglib> </jsp-config>  正确答案为:D               第13题.  J2EE中,Servlet API为使用Cookie,提供了()类。           A.  javax.servlet.http.Cookie     B. javax.servlet.http.HttpCookie     C.  javax.servlet. Cookie     D.  javax.servlet.http.HttpCookie  正确答案为:A               第14题.  在访问Servlet时,在浏览器地址栏中输入的路径是在_______地方配置的           A.  <servlet-name/>     B.  <servlet-mapping/>      C.  <uri-pattern/>     D.  <url-pattern/>  正确答案为:D               第15题.  在JSP页面中,能够完成输出操作的内置对象是           A.  out     B.  response     C.  request     D.  config  正确答案为:A               第16题.  给定以下JSP代码片段,有2个客户依次浏览该JSP;且每个客户只浏览一次,第2个客户会看到浏览器显示()。(请选择一项)
<%int x = 1; %> <%!int x = 10; %> X =<%=x%>           A.  x=1     B.  x=2     C.  x=10     D.  x=11  正确答案为:A               第17题.  在JSP中,若要在JSP正确使用标签:<x:getKing/>,在jsp中声明的taglib指令为:<%@tagliburi = “/WEB-INF/myTags.tld” prefix = “_____”%>,下划线处应该是           A.  x     B.  getKing     C.  myTags     D.  king  正确答案为:A               第18题.  能够保留请求作用域中数据的转向方式是______________           A.  response.forward()     B.  response.sendRedirect()     C. session.getRequestDispatcher().forward(request,response)     D. request.getRequestDispatcher().forward(request,response)  正确答案为:D               第19题.  Login.jsp为登录页面,表单代码如下:
<form action=“index.jsp“method=“post“>      <input type=“text“ name=“name“/>      <input type=“submit“ value=“login“/> </form> Index.jsp中直接显示用户名,以下哪种代码正确()           A.  ${requestScope.name}     B.  <%=name%>     C.  ${param.name}     D.  <%=param.name%>  正确答案为:C               第20题.  某JSP中有如下代码,显示结果为()
<%          inta = 5;          request.setAttribute(“a”,”123”);          session.setAttribute(“a”,”456”); %> <c:out value=“${a}“/>           A.  5     B.  123     C.  456     D.  null  正确答案为:B               第21题.  在a.jsp中有代码片断如下:
<form action =”b.jsp” method =”POST”name=”form1”> loginName:<input type=”text”name=”loginName”/> <input type=”submit” name=”submit”/> </form> 在b.jsp中加入下列()代码,可以输出在a.jsp页面上输入的loginName的值(多选)           A. <%=request.getParameter(“loginName”)%>     B.  <%=request.gerAttribute(“loginName”)%>     C.  <%Stringname=request.getParameter(“loginname”); out.println(name); %>     D.  <% Stringname=request.getAttribute(“loginname”); out.println(name); %>  正确答案为:AC               第22题.  要在jsp中使用ArrayList,做法正确的是           A.  <% import  java.util.ArrayList%>     B.  <%@ import  “java.util.ArrayList“%>     C.  <%@ pageimport=“java.util.ArrayList“%>     D.  <%@ pagepackage=“java.util.ArrayList“%>   正确答案为:C               第23题.  如果只希望在多个页面间共享数据,可以使用__________作用域           A.  request,session     B.  application session     C.  request,application     D.  pageContext request  正确答案为:A               第24题.  在编写过滤器时,需要完成的方法           A.   doFilter()     B.  doChain()     C.  doPost()     D.  doDelete()  正确答案为:A               第25题.  以下代码执行效果为():
<c:forEach var  = “i“ begin = “1“ end =“5“ step = “2“>          <c:outvalue=“${i}”/> </c:forEach>           A.  1 2 3 4 5     B.  1 3 5     C.  i i i     D.  15  正确答案为:B               第26题. request.setAttribute(“user“,“svse“);           session.setAttribute(“user“,“bob“); 使用{user}则显示           A.  null     B.  svse     C.   bob     D.   啥也没有   正确答案为:B               第27题.  给定一个 Servlet 的doGet方法中的代码片段,如下:
         request.setAttribute(“name”,”zhang”);          response.sendRedirect(“http://localhost:8080/servlet/MyServlt”);          那么在 MyServlet中可以使用()方法把属性 name的值取出来。           A.  Stringstr=request.getAttribute(“name”);     B.  Stringstr=(String)request.getAttribute(“name”);     C.  Objectstr=request.getAttribute(“name”);     D.  无法取出来   正确答案为:D               第28题.  在JSP中,test . jsp文件如下,试图运行时,将发生()。

<html>              <% String str = null; %>              str is <%= str%> </html>           A.  转译期有误     B.  编译Servlet源码时发生错误     C.  执行编译后的Servlet时发生错误     D.  运行后,浏览器上显示:str isnull  正确答案为:D               第29题.  自定义标签中,如果要声明标签参数为必须的,则需要进行哪种配置:           A. <required>true</required>     B. <rtexprvalue>true</rtexprvalue>     C.  <required>false</required>     D. <rtexprvalue>false</rtexprvalue>  正确答案为:A               第30题.  编写自定义标签处理类后,需要编写一个()去描述           A.   .tag文件     B.  .tld文件     C.  dtd文件     D.  .xml文件  正确答案为:B               第31题.  考虑下面JSP文件代码片断:
<HTML> <BODY> <jsp:include page=”test2.jsp”> <jsp:param name=”username”value=”svse”/> </jsp:include> </BODY> </HTML> 以下()代码片断放置在test2.jsp中不会导致错误           A.  <jsp:getParamname=”username”/>     B.  <jsp:include param=”username”/>     C.  <%=request.getParameter(“username”)%>     D. <%=request.getAttribute(“username”)%>   正确答案为:C               第32题.  在HTTP协议中,用于发送大量数据的方法是           A.  get     B.  post     C.  put     D.  options  正确答案为:B               第33题.  J2EE 中,()类型的()方法用于得到会话           A.  HttpServletRequest、getSession     B.  HttpServletResponse、newSession     C.  HtttpSession、newInstance     D.  HttpSession、getSession  正确答案为:A               第34题.  以下代码执行效果为:
<c:forEach var = “i“ begin =“1“ end = “5“>          <c:outvalue=“${i}“/> </c:forEach>           A.  1 2 3 4 5     B.  i i i i i     C.  15     D.  编译错误  正确答案为:A               第35题.  MVC中的 M    V    C  分别用_______、_______、_____表示           A.  jsp  servlet javabean     B.  HTml  javabean jsp      C.  javabean jsp  servlet     D.  servlet   html jsp  正确答案为:C               第36题. pageContext.setAttribute(“user“,“tom“);           request.setAttribute(“user“,“bob“); 显示“bob“,则可以使用           A. {request.getAttribute(“user“)}     B.  {param.user}     C.  {user}     D.  {requestScope.user}   正确答案为:D               第37题.  以下哪个标签实现了switch功能           A.  <c:if>     B.  <c:switch>     C.  <c:choose>     D.  <c:case>   正确答案为:C               第38题.  在jsp中导入自定义标签的方式正确的是           A.  web.xml文件的<taglib>     B.  <%@ tagliburi=““ prefix=““%>     C.  <jsp:tagliburi=““ prefix=““%>     D.  无需导入,可直接使用  正确答案为:B               第39题.  public classSecurityFilter  __________________{ ... } 如果想要让该类成为一个过滤器,横线处应为           A.   implements HttpFilter     B.  extends Filter     C.  extends HttpFilter     D.  implements Filter  正确答案为:D               第40题.  在JSP中可动态导入其他页面的标签是           A.  <%include/></textarea>    B.<%@ include%>     C.  <jsp:importPage/>     D.  <jsp:include/>   正确答案为:D               第41题.  下面哪项是错误的设置Bean属性值的方法           A.  <jsp:setPropertyname=“beanInstanceName“ property= “*“ />     B.  <jsp:setPropertyname=“beanInstanceName“ property=“propertyName“value=“123“/>     C.  <jsp:setPropertyname=“beanInstanceName“ property=“propertyName“param=“parameterName“ />     D.  <jsp:setPropertyname=“beanInstanceName“ property=“*“ value=“{string |<%= expression %>}“/>  正确答案为:D               第42题.  <%     String count=“100“;     pageContext.setAttribute(“cnt“,count); %> Count:{pageScope.cnt 100} 显示为           A.  100100     B.  运行异常     C.   200     D.   没有任何显示  正确答案为:C               第43题.  在 J2EE中,使用 Servlet 过滤器,需要在web.xml中配置()元素 (选择两项)           A.  <filter>     B.  <filter-mapping>     C.  <servlet-filter>     D.  <filter-config>   正确答案为:AB               第44题.  在JSP中,只有一行代码:<%=AB%>,运行将输出           A.  A B     B.  AB     C.  113     D.  没有任何输出,因为表达式是错误的  正确答案为:D               第45题.  在J2EE中,假如HttpSession的getLastAccessTime()方法返回值为x,getCreationTime()方法返回值为y,则为x - y()           A.  两个连续请求之间间隔的最长时间     B.  最近的两个连续请求之间的时间间隔     C.  最后使用session发送请求的时间和session创建时间的间隔     D.  最后使用session发送请求的时间  正确答案为:C               第46题.  自定义标签中,使用属性时,需要在______文件中配置,使用_______标签           A.  .tld     <attribute/>     B.   web.xml   <attribute/>     C.  .tld     <tag/>     D.  web.xml   <tag/>  正确答案为:A               第47题.  以下哪个方法不是TagSupport类的方法           A.  doPost()     B.  doStartTag()     C.  doEndTag()     D.  doAfterBody()   正确答案为:A               第48题.  Jsp中有如下代码:
<% Cookie c = new Cookie(“name” , “admin”); c.setMaxAge(10000); response.addCookie(c); %> 以下哪句代码可以正确显示”admin”           A.  ${cookie.name}     B.  ${cookie.name.value}     C.  ${ name}     D.  ${name.value}  正确答案为:B               第49题.  以下()可用于检索session属性userid的值           A.  session. getAttribute(“userid”);     B.  session. setAttribute(“userid”);     C.  request. getParameter(“userid”);     D.  request. getAttribute(“userid”);  正确答案为:A               第50题.  给定某Servlet程序的片段如下,用户在浏览器地址栏中键入正确的请求URL并回车后,在控制台上显示的结果是().       (选择一项)    public void doGet(HttpServletRequest request,HttpServletResponseresponse)    throws ServletException ,IOException     {          System.out.println(“get“);     }    public void doPost(HttpServletRequest request,HttpServletResponseresponse)     throws ServletException ,IOException     {          System.out.println(“post“);    }           A.  get     B.  post     C.  get post     D.  post get   正确答案为:A               第51题.  test.jsp文件中有如下一行代码:
<jsp:useBean id=”user” scope=”__” class=”com.UserBean”> 要使user对象可以作用于整个应用程序,下划线中应添入()           A.  page     B.  request     C.  session     D.  application 正确答案为:D               第52题.  JSP中有三大类标签,分别是           A.  HTML标记   JSP标记   Servlet标记     B.   CSS标记   HTML标记   Javascript标记     C.   动作标记   脚本标记   指令标记     D.  指令标记  脚本标记  HTML标记  正确答案为:C               第53题.  在JSP中,只有一行代码:${1+2},运行将输出()           A.  1+2     B.  3     C.  null     D.  没有任何输出,因为表达式是错误的   正确答案为:B               第54题.  下面__________方法可以返回当前请求的请求方式           A.  request.getAttribute()     B.  session.getMethod()     C.   request.getMethod()     D.  request.getRequestURI()  正确答案为:C               第55题.  利用MyEclipse开发Servlet,下列说法正确的是           A.  MyEclipse可自动产生web.xml     B.  MyEclipse不能自动产生web.xml,需要手工编写     C.  可利用MyEclipse自带的Tomcat作为Servlet容器     D.  MyEclipse没有自带Tomcat,需要自己安装配置。  正确答案为:AC               第56题.  当一个Servlet首次被请求的时候,服务器首先会调用________方法           A.  doGet     B.  doPost     C.  doInit     D.  init   正确答案为:D               第57题.  只能够传递字符串类型数据的方式是_________           A.  表单   URL重写     B.  session对象   表单     C.  隐藏域   setParameter方法     D.  都可以  正确答案为:A               第58题.  某JSP中有如下代码:
<% pageContext.setAttribute(“a”,”page”); request.setAttribute(“a”,”request”); session.setAttribute(“a”,”session”); application.setAttribute(“a”,”application”); %> 有:${a} 则显示结果为:           A.  page     B.  request     C.  session     D.  application   正确答案为:A               第59题.  过滤器使用______________才能继续传递到下一个过滤器           A. request.getRequestDispatcher().forward(request,response);     B.  doFilter()     C.  doPut()     D.  doChain()  正确答案为:B               第60题.  在Servlet里,能实现跳转的方法有           A.  运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法     B.  运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法     C.  运用javax.servlet.RequestDispatcher接口的forward方法     D.  运用javax.servlet.ResponseDispatcher接口的forward方法   正确答案为:BC               第61题.  以下哪项陈述是错误的           A.  在WEB项目的共享数据范围内,application是范围最广泛的     B.  当我们在一个JSP页面新开窗口时,新开窗口的页面也共享session范围内的数据     C.  当在JSP页面中通过<jsp:forward>指令将页面请求转发到的页面中,可以共享一个page范围内的数据     D.  当用户重新打开一个浏览器窗口时,原session对象不再有效  正确答案为:C               第62题.  下面关于JSP作用域对象的说法错误的是           A.  request对象可以得到请求中的参数     B.  session对象可以保存用户信息     C.  application对象可以被多个应用共享     D.  作用域范围从小到达是request、session、application   正确答案为:C               第63题.  以下代码能否编译通过,假如能编译通过,运行时得到什么输出结果()。

<% request.setAttribute(“count“,newInteger(0)); Integer count =request.getAttribute(“count“) ; %> <%=count %>           A.  编译不通过     B.  可以编译运行,输出0     C.  编译通过,但运行时抛出ClassCastException     D.  可以编译通过,但运行无输出   正确答案为:A               第64题.  在Servlet中,下列语句可以正确获取PrintWriter对象的是           A.  PrintWriter out=request.getWriter();     B.  PrintWriter  out =  request.getPrintWriter();     C.  PrintWriter out=response.getWriter();     D.  PrintWriter  out =  response.getPrintWriter();  正确答案为:C               第65题.  有showgamej.jsp,代码如下 <%          Game game=request.getAttribute(“gameEntity“); %> <%=game.getGameName()%> 在浏览器中输入 http://localhost:8080/game/showgame.jsp 访问时,出现500错误,报出异常为NullPointerException造成该问题的原因可能是:           A.  jsp文件路径不对     B.  game对象没有用new初始化     C.  getGameName()方法未定义     D.  参数名称所代表的对象在请求中根本就不存在   正确答案为:D               第66题.  从JSP中将数据传递给另一个JSP或Servlet,方式有____________           A.  表单   javascript  HTML标签     B.  表单    URL重写    setAttribute方法     C.  URL重写   隐藏域   表单     D.  JSP的标签  正确答案为:B               第67题.  在编写Servlet时需要__________           A.  继承Servlet     B.  实现HttpRequestServlet     C.  继承HttpServlet     D.  实现HttpRequest  正确答案为:C               第68题.  现在session中没有任何属性,阅读下面2个JSP中的代码,将分别输出()。

         <%                    out.println(session.getAttribute(“svse“));          %>          <%                    session.invalidate();                    out.println(session.getAttribute(“svse“));          %>           A.  null, 异常信息     B.  null, null     C.  异常信息,异常信息     D.  异常信息,null  正确答案为:A               第69题.  Http协议的状态码()表示文件没有创建           A.  200     B.  400     C.  500     D.  404  正确答案为:D               第70题.  Servlet程序的入口点是:           A.  init()     B.  main()     C.  service()     D.  doGet()   正确答案为:A               第71题.  如下代码,执行效果为()
<c:set var=“a” value=“123” /> <c:out value=“${a}”/> <c:out value=“a”/>           A.  123  123     B.  a    123     C.  123  a     D.  A    a       正确答案为:C               第72题.  在JSP页面中通过<jsp:forwardpage=urlname/>将本页面请求转发至指定URL指定的文件,则在该URL组件(JSP页面)中可接收数据的范围是(选择3项)           A.  session     B.  request     C.  page     D.  application  正确答案为:ABD               第73题.  在WEB应用中,数据传递的默认编码是           A.  ISO-8859-1     B.  UTF-8     C.  GBK     D.  UNICODE  正确答案为:A               第74题.  以下哪句代码可以正确导入核心标签库           A.  <% page import =“c“%>     B.  <% page prefix =“c“ uri = “/WEB-INF/c.tld“%>     C.  <% taglib prefix =“c“ import = “/WEB-INF/c.tld“ %>     D.  <% taglib prefix =“c“ uri = “/WEB-INF/c.tld“%>   正确答案为:D               第75题.  从HTTP请求中,获得请求参数,应该调用           A.  request对象的getAttribute()方法     B.  request对象的getParameter()方法     C.  session对象的getAttribute()方法     D.  session对象的getParameter()方法   正确答案为:B               第76题.  在servlet中的doGet和doPost方法中只有如下代码:
()          request.setAttribute(”jb”,”aPtech”);          response.sendRedirect(”http://localhost:8080/servlet/Servlet2”);        那么在Servlet2 中使用()可以把属性jb的值取出来           A.  String str =request.getAttribute(“jb”);     B.  String sir=(String)request.getAttribute(“jb”);     C.  Object str =request.getAttribute(“jb“);     D.  取不出来  正确答案为:D                第77题.  J2EE中,HttpServletRequest类的( )方法用返回与当前请求相关联的会话,如果没有,则返回null           A.  getSession()     B.  getSession(true)     C.  getSession(false)     D.  getSession(null)   正确答案为:C               第78题.  Servlet 接受请求时,会调用_____________           A.  service     B.  doGet     C.  doPost     D.  init    正确答案为:A               第79题.  关于<jsp:include>,下列说法不正确的是()           A.  它可以包含静态文件     B.  它可以包含动态文件     C.  当它的flush属性为true时,表示缓冲区满时,将会被清空     D.  它的flush属性的默认值为true  正确答案为:D               第80题.  在一个Filter中,处理filter业务的是()方法           A.  dealFilter (ServletRequestrequest,ServletResponse response,FilterChain chain)     B.  dealFilter (ServletRequestrequest,ServletResponse response)     C.  doFilter (ServletRequestrequest,ServletResponse response, FilterChain chain)     D.  doFilter (ServletRequestrequest,ServletResponse response)   正确答案为:C               第81题.  在自定义标签中,HelloTag继承自TagSupport类,其中有如下代码:
out.println(“HELLO“); 该out对象声明方法为:           A.  PrintWriter out =response.getOut();     B.  JspWriter out =pageContext.getOut();     C.  JspWriter out =pageContext.getWriter();     D.  PrintWriter out =response.getWriter();   正确答案为:B               第82题.  Servlet的运行过程是           A.  当请求Servlet时,服务器会即时加载Servlet类,然后对该类进行实例化,调用相应的方法处理请求     B.  首先对Servlet 进行配置,然后服务器在处理请求时,将配置过的Servlet类找到,然后实例化处理请求     C.  在服务器启动时,会加载Servlet,然后在处理请求的时候,实例化Servlet对象处理请求     D.  Servlet是一个具有接受请求和响应功能的类,在被请求时,Servlet早就被实例化好了,可以直接处理请求   正确答案为:C               第83题.  在JSP中,对<jsp:setProperty>标记描述正确的是()           A.  <jsp:setProperty>和<jsp:getProPerty>必须在一个JSP文件中搭配出现     B.  就如同session.setAttribute()一样,来设计属性/值对     C.  和<jsp:useBean>动作一起使用,来设置bean的属性值     D.  就如同request.setAttribute()一样,来设置属性/值对    正确答案为:C               第84题.  在Servlet中有一段代码如下   public void doPost(HttpServletRequestrequest, HttpServletResponse response)                                      throwsServletException, IOException {     request.setAttribute(“name“, new Integer(100));     response.sendRedirect(“show.jsp“);   } 在show.jsp中 <%=request.getAttribute(“name“)%> 页面结果为           A.  100     B.  java.lang.Integer     C.  Integer     D.  null   正确答案为:D                第85题.  test.jsp文件如下:
<jsp:useBean id =“buffer“scope=“page“ type=“java.lang.StringBuffer“/> <%buffer.append(“ABC“);%> Buffer is <%=buffer%> 试图运行时,将发生()           A.  编译期错误     B.  编译Servlet源码时发生错误     C.  运行Servlet时发生错误     D.  运行后,浏览器上显示:buffer isABC.  正确答案为:A               第86题.  <tag>   <name>message</name>   <tag-class>org.bob.taglib.MessageTag</tag-class>   <body-content>empty</body-content>   <attribute>      <name>name</name>      <required>true</required>   </attribute> </tag> 对这段配置描述正确的是           A.   定义了一个message标签,有一个属性叫name     B.  配置了一个名字为message的标签,该名称对应到org.bob.taglib.MessageTag类,并且标签不允许有主体内容,使用标签时有一个必须得属性为name     C.  声明了一个名字为message的标签,该标签对应到MessageTag类,并且标签没有主体内容     D.  标签配置错误,主体不能为空  正确答案为:B               第87题.  public class Writerimplements TagSupport{   (1)   protected int doStartTag(){SKIP_BODY}    (2)   public int doEndTag(){return EVAL_PAGE} (3) } 有问题的语句是           A.   2  3     B.  3     C.  1  2 3     D.  1  2                                                                                                                                                                                                                                                                                                                                                                                                                                                                         正确答案为:D               第88题.  支持中文的常用字符集有            A. UTF-8   GBK  ZH23 BIG5     B.  ISO-8859-1  MS950        C.  UTF-8   GBK GB2312  BIG5     D.  UTF-16  ANSI SQL   正确答案为:C               第89题.  Servlet 可以在以下()三个不同的作用域存储数据           A.  请求、会话和上下文     B.  响应、会话和上下文     C.  请求、响应和会话     D.  请求、响应和上下文  正确答案为:A               第90题.  在Filter过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用()方法           A.  init     B.  service     C.  doFilter     D.  destroy    正确答案为:C               第91题.  application对象是______________  ,而session对象则是_____________           A.  服务器的一个数据空间,可以让服务器中的所有应用共享数据       与用户的请求有关     B.  应用程序上下文,它允许数据在同一应用程序中的任何Web组件共享     每个客户专用的     C.  存放所有的请求中数据     存放会话中的所有数据     D.  HttpApplication类型    保存用访问应用期间的私有数据  正确答案为:B               第92题.  给定一个Model1体系结构,其中有一个JSP页面处理所有控制器函数,这个JSP控制器要把请求分派给另一个JSP页面           A.  <jsp:forwardpage=”view.jsp”/>       B.  <jsp:forwardfile=”view.jsp”/>       C.  <jsp:dispatchpage=”view.jsp”/>       D.  <jsp:dispatchfile=”view.jsp”/>     正确答案为:A               第93题.  <jsp:useBeanid=“emp“ scope=“request“class=“org.svse.entity.Employee“>      <jsp:setProperty name=“emp“ property=“ename“value=“Susan“/> </jsp:useBean>    员工名:_____________________.  显示员工姓名正确的做法是           A.  {emp.ename}     B.  {requestScope.emp.getEname()}     C.  {requestScope.emp.ename}     D.  {emp.getEname()}    正确答案为:C               第94题.  以下哪个参数不属于<c:forEach>标签           A.  var     B.  begin     C.  end     D.  delims   正确答案为:D               第95题.  在J2EE中,以下对RequestDispatcher描述正确的是           A.  Jsp中有个隐含的对象diapatcher,它的类型是RequestDispatcher     B.  ServletConfig有一个方法:getRequestDispatcher可以返回RequestDipatcher对象     C.  RequestDipatcher 有一个方法:forward可以把请求继续传递给别的Servlet或者JSP界面     D.  JSP中有个隐含的默认对象request,它的类型是RequestDipatcher   正确答案为:C               第96题.  关于MVC模式说法正确的是           A.  用来将代码分开的方法     B.  将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度     C.  视图 模型 控制器模型     D.  只用java才有的模型    正确答案为:B               第97题.  在JSP页面中,类型为HttpServletResponse的内置对象是           A.  out     B.  response     C.  request     D.  config    正确答案为:B               第98题.  在JSP页面中,保存数据的范围由小到大依次是           A. pageContext,request,application,session     B.  pageContext,application,session,request     C. pageContext,request,session,application     D. pageContext,session,request,application    正确答案为:C               第99题.  http是一个()协议           A.  无状态     B.  有状态     C.  状态良好的     D.  局域网    正确答案为:A               第100题.  编写Servlet 的doPost方法时,需要抛出异常为           A.  ServletException,IOException     B.  ServletException,RemoteException     C.  HttpServletException,IOException     D.  HttpServletException,RemoteException   正确答案为:A               第101题.  使用GET方式提交数据,接收数据时,处理中文最直接有效方式为           A. request.setCharacterEncoding(“utf-8“);     B. response.setContentType(“text/html;charset=utf-8“);     C.  String name=newString(request.getParameter(“name“).getBytes(“ISO-8859-1“),“gbk“);      D. response.setCharacterEncoding(“gbk“);  正确答案为:C               第102题.  在JSP页面中,正确引入JavaBean的是()           A.  <%jsp: useBean id =”myBean”scope =”page” class=”pkg.MyBean” %>     B.  <jsp: useBean name=”myBean” scope =”page” class=”pkg.MyBean” >     C.  <jsp: useBean id =”myBean”scope =”page” class=”pkg.MyBean” />     D.  <jsp: useBean name=”myBean” scope =”page” class=”pkg.MyBean” />    正确答案为:C               第103题.  Tomcat的端口号可以在_____文件中修改           A.  server.xml     B.  web.xml     C.  tomcat.xml     D.  不能改   正确答案为:A               第104题.  给定TheBean类,假设还没有创建TheBean类的实例,以下哪些JSP标准动作语句能创建这个bean的一个新实例,并把它存储在请求作用域           A.  <jsp :useBeanname=“myBean“ type=“com.example.TheBean“/>      B.  <jsp :takeBeanname=“myBean“ type=“com.example.TheBean“/>      C.  <jsp :useBeanid=“myBean“ class=“com.example.TheBean“ scope=“request“/>     D.  <jsp :takeBeanid=“myBean“ class=“com.example.TheBean“ scope=“request“/>     正确答案为:C               第105题.  有三个JSP文件如下  1.jsp <ahref=“2.jsp?user=svse“>To 2.jsp</a> 2.jsp <%Stringuser=request.getParameter(“user“);%> <jsp:forward page=“3.jsp“/> 3.jsp <%=request.getParameter(“user“)%> 页面中输出           A.  报错     B.  什么都没有     C.  null     D.   svse    正确答案为:D               第106题.  自定义标签的描述文件在web.xml中配置正确的           A.  <taglib>          <tag-uri>bob-tld</tag-uri>           <tag-location>/WEB-INF/bob.tld</tag-location>      </taglib>     B.  <tag>          <taglib-uri>bob-tld</taglib-uri>           <taglib-location>/WEB-INF/bob.tld</taglib-location>      </tag>     C.  <jsp-taglib>          <taglib-uri>bob-tld</taglib-uri>           <taglib-location>/WEB-INF/bob.tld</taglib-location> </jsp-taglib>     D.  <jsp-config>      <taglib>          <taglib-uri>bob-tld</taglib-uri>           <taglib-location>/WEB-INF/bob.tld</taglib-location>      </taglib> </jsp-config>   正确答案为:D               第107题.  Servlet中,HttpServletResponse的()方法用来把一个Http请求重定向到另外的URL.           A.  sendURL()     B.  redirectURL()     C.  sendRedirect()     D.  redirectResponse()    正确答案为:C               第108题.  在J2EE中,对于HttpServlet类的描述,错误的是           A.  我们自己编写的Servlet继承了HttpServlet类,一定需覆盖doPost或者doGet     B.  Httpservlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法     C.  Httpservlet类中处理客户请求和响应时所使用的两个接口是:HttpServletRequest和HttpServletResponse.     D.  我们自己编写的servlet继承了Httpservlet类,一般只需要覆盖doPost或doGet方法,不必覆盖servive()方法,因为一个service()方法会调用doPost或者doGet方法    正确答案为:A               第109题.  在JSP中,以下的page指令设置了使用的脚本语言是Java,且导入了java.rmi.*和java.util.*包.正确的是           A.  <%@ pageLanguage=“Java”,import=”java.rmi.*;java.uitl.* ”%”>     B.  <%@ pagelanguage=“Java” import=”java.rmi.* ;java.uitl.* ”%”>     C.  <%@ pagelanguage=“Java”;import=”java.rmi.*;java.uitl.* ”%”>     D.  <%@ pagelanguage=“Java” import=”java.rmi.* ,java.uitl.* ”%>   正确答案为:D               第110题.  下面关于MVC的说法不正确的是           A.  M表示Model层,是存储数据的地方     B.  View表示视图层,负责向用户显示外观     C.  Controller是控制层,负责控制流程      D.  在MVC架构中 jsp通常做控制层   正确答案为:D               第111题.  给定test1.jsp代码片断,如下:
<html> <jsp:include page=”test2.jsp”flush=”false”> <jsp:param name=”color” value=”red”/> </jsp:include> </html> 要在test2.jsp中输出参数color中的值,以下选项正确的是()           A.  <%=request.getParameter(“color”)%>     B. <%=request.getAttribute(“color”)%>     C.  <jsp:getParamname=”color”/>     D.  <jsp:includeparam=”color”/>   正确答案为:A               第112题.  在JSP中,给定以下JSP代码片段,运行结果是()。

         <%  int x=5; %> <% ! int x=7;  %>          <%!             Int getX(){                    returnx; } %> <% out.print(“X1=” x);       %>          <%  out.print(“X2=” getX());   %>           A.  X1=5  X2=7     B.  X1=5  X2=5     C.  X1=7  X2=7     D.  X1=7  X2=5      正确答案为:A               第113题.  在WEB应用程序的目录结构中,在WEB-INF文件夹中的lib目录是放()文件的           A.  .jsp文件     B.  .class文件     C.  .jar文件     D.  web.xml文件   正确答案为:C               第114题.  给定一个Servlet程序的代码片段,如下:() Public void doPost(HttpServletRequestrequest,HttpServletResponse response) throws ServletException {     request.getSession().getAttribute(“A”);  //第二行 } 假定第二行返回的对象引用不是null,那么这个对象存储在()范围中           A.  page     B.  session     C.  request     D.  application  正确答案为:B               第115题.  在 J2EE中,使用Resultset对象的 next()方法移动光标时,如果超过界限,会抛出异常,该异常通常是           A.  InterruptedExceptlon     B.  AlreadyBoundExceptlon     C.  SQLException     D.  NetExcePtlon   正确答案为:C               第116题.  以下代码执行效果为:()
<% session.setAttribute(“a”,”svse”); %> <c:if test=“${2>1}”> <c:out value=“${a}”/> </c:if>           A.  a     B.  svse     C.  2>1     D.  null      正确答案为:B               第117题.  给定一个Servlet的代码片段如下:(  )          Publicvoid doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{    ______ out.println(“hi kitty!”); out.close(); } 运行次Servlet时输出如下:
         hikitty! 则应在此Servlet下划线处填充如下代码           A.  PrintWriter out =response.getWriter();     B.  PrintWriter out =request.getWriter();     C.  OutputStream out =response.getOutputStream();     D.  OutputStream out =request.getWriter();    正确答案为:A               第118题.  按作用域从大到小排列正确的是           A.  application page requestresponse     B.  session pageContext requestapplication     C.  public  application session request     D.  application sessionrequest  pageContext   正确答案为:D               第119题.  <%        String name=request.getAttribute(“uname“); %> ________________________ 横线处使用什么代码可以将name的值显示在页面           A.  response.print(name);     B.  <%request.getOut().print(name)%>     C.  <%=name%>     D.  <p>name</p>    正确答案为:C               第120题.  在J2EE中,在web.xml中,有如下代码: <session - config>          <session- timeout>30</session - timeout> </session - config> 上述代码定义了默认的会话超时时长,时长为30()           A.  毫秒     B.  秒     C.  分钟     D.  小时   正确答案为:C               第121题.  在JSP中,<%=“1+4“%>将输出           A.  1+4     B.  5     C.  14     D.  不会输出,因为表达式是错误的    正确答案为:A               第122题.  jsp最终被运行的是           A.  一个java文件     B.  一个class文件     C.  一个HTML     D.  一个JSP    正确答案为:B               第123题.  完整的配置一个Servlet需要__________________标签           A. <webapp></webapp>     B. <servlet></servlet>和<servlet-mapping></servlet-mapping>     C.  <servlet-name/>和<servlet-class>     D. <servlet-mapping><servlet-name>   正确答案为:B               第124题.  在J2EE中,标签库中文件(*.tld)存放在()目录下           A.  WEB—INF     B.  WEB—INF/tags     C.  WEB—INF/classes     D.  WEB—INF/lib   正确答案为:A               第125题.  JSP EL 表达式:${user.loginName}执行效果等同于( )           A. <%=user.getLoginName()%>     B. <%user.getLoginName();%>     C.  <%=user.loginName%>     D.  <%user.loginName;%>  正确答案为:A               第126题.  在JSP中,以下是有关<jsp:setProperty>和<jsp:getProperty>标记的描述,正确的是()           A.  <jsp:setProperty>和<jsp:getProperty>标记都必须在<jsp:useBean>的开始标记和结束标记之间     B.  这两个标记的name属性的值必须和<jsp:usebean>标记的id 属性的值相对应     C.  <jsp:setProperty>和<jsp:getProperty>标记可以用于对bean中定义的所有属性进行选择和设置     D.  这两个标记的name属性的值可以和<jsp:userbean>标记的id属性的值不同  正确答案为:B               第127题.  在请求中没有包含名为user的参数时,使用如下语句 {user},则会出现           A.  编译报错     B.  运行出错     C.  null     D.  什么都没有   正确答案为:D               第128题.  核心标签库中,用来实现循环功能的标签是()           A.  <c:if>     B.  <c:for>     C.  <c:while>     D.  <c:forEach>   正确答案为:D               第129题.  在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为           A.  .jsp文件     B.  .class文件     C.  .jar文件     D.  web.xml文件   正确答案为:A               第130题.  下列那个类是抽象类           A.  ServletConfig     B.  HttpServlet     C.  Cookie     D.  HttpServletRequest  正确答案为:B               第131题.  在JSP中,page指令的()属性用来引入需要的包或类           A.  extends     B.  import     C.  languge     D.  contentType   正确答案为:B               第132题.  请求Servlet的时候,Servlet的对象由__________           A.  服务器负责实例化     B.  由开发人员在请求中实例化     C.  Servlet会自动实例化     D.  Servlet只加载,无需实例化   正确答案为:A               第133题.  过滤条件配置正确的是           A. <filter-class>/*</filter-class>     B. <url-pattern>/user/*</url-attern>     C. <url-pattern>*</url-attern>     D. <filter-mapping>*</filter-mapping>     正确答案为:B               第134题.  关于session的使用,下列说话正确的是(多选)           A.  不同的用户窗口具有不同的session     B.  不同的用户窗口具有相同的session     C.  session可能超时间     D.  session永远不可能超时   正确答案为:AC               第135题. http://localhost:8080/web/show.jsp?name=svse下列取得请求参数值正确的是_______           A.   {param.name}     B.  {name}     C.  {parameter.name}     D. {param.get(“name“)}  正确答案为:A               第136题.  {empty param.user?“Administrator“:param.user} 说法正确的是           A.  编译时出错,不支持该语法     B.  如果参数user为空则返回Administrator否则就返回user的值     C.   如果参数user为空字符则返回Administrator否则就返回user的值     D.  如果参数user为空则返回user否则就返回Administrator的值   正确答案为:B               第137题.  不属于jsp动作标记的是           A.  <jsp:attribute/>     B.  <jsp:forwards/>     C.  <jsp:include/>     D.  <jsp:useBean/>   正确答案为:B  J2EE相关基础知识   1、面向对象的特征有哪些方面  1.  抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

  2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。

java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类   3、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,而原始类型实例变量的缺省值与它们的类型有关。

  4、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

  5、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

  6、说出Servlet的生命周期,并说出Servlet和CGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

  7、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

  8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。

    EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。

SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。

  9、Collection 和 Collections的区别。 
Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

  10、&和&&的区别。      &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。

  11、HashMap和Hashtable的区别。

    HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。  Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。  Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

  12、final, finally, finalize的区别。 
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

13、sleep() 和 wait() 有什么区别?  sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。

  wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

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

  15、error和exception有什么区别? error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理 这样的情况。

  exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

  16、同步和异步有何异同,在什么情况下分别使用他们?举例说明。

如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

  17、abstract class和interface有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

  18、heap和stack有什么区别。

栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。

堆是栈的一个组成元素   19、forward 和redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把 这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。

redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

  20、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组件。

  21、Static Nested Class 和 Inner Class的不同。      Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

  22、JSP中动态INCLUDE与静态INCLUDE的区别? 动态INCLUDE用jsp:include动作实现 <jsp:include page=“included.jsp“ flush=“true“ />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。会生成class文件,在页面被请求时应采取的动作.在请求期间将其他页面的输出包含进来,在被包含的页面中不能使用任何有可能总体上影响主页面的jsp构造。

静态INCLUDE用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@ include file=“included.htm“ %> 不会生成class文件,在页面转换期间引入代码。

  23、什么时候用assert。      assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

  24、GC是什么? 为什么要有GC? GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。      25、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?      short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
  short s1 = 1; s1 += 1;(可以正确编译)
  26、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?  Math.round(11.5)==12 Math.round(-11.5)==-11 round方法返回与参数最接近的长整数,参数加1/2后求其floor.   27、String s = new String(“xyz“);创建了几个String Object?    两个对象,一个是“xyx“,一个是指向“xyx“的引用对象s。

  28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。

以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。

public class ThreadTest1{   private int j;   public static void main(String args[]){ ThreadTest1 tt=new ThreadTest1(); Inc inc=tt.new Inc(); Dec dec=tt.new Dec(); for(int i=0;i<2;i++){ Thread t=new Thread(inc); t.start(); t=new Thread(dec); t.start(); } }   private synchronized void inc(){ j++; System.out.println(Thread.currentThread().getName()+“-inc:“+j);   }   private synchronized void dec(){ j--; System.out.println(Thread.currentThread().getName()+“-dec:“+j);   }   class Inc implements Runnable{ public void run(){ for(int i=0;i<100;i++){ inc(); } }   }   class Dec implements Runnable{ public void run(){ for(int i=0;i<100;i++){ dec(); }  }   } }   29、Java有没有goto? java中的保留字,现在没有在java中使用。

  30、启动一个线程是用run()还是start()? 启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。    31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? SessionBean:Stateless Session Bean(无状态) 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful(有状态) Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例。

EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。

EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。

  32、应用服务器有那些? BEA WebLogic Server,IBM WebSphere Application Server,Oracle9i Application Server,jBoss,Tomcat 33、给我一些你最常见到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException   34、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

  35、List, Set, Map是否继承自Collection接口?     List,Set是,Map不是   36、说出数据连接池的工作机制是什么? J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

  37、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 都不能   38、数组有没有length()这个方法? String有没有length()这个方法? 数组没有length()这个方法,有length的属性。String有有length()这个方法。

  39、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。

equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

  40、构造器Constructor是否可被override? 构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

  41、是否可以继承String类? String类是final类故不可以继承。

  42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、  char 或者 byte。long,string 都不能作用于swtich。

  43、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 会执行,在return前执行。

  44、编程题: 用最有效率的方法算出2乘以8等於几? 2 << 3   45、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 不对,有相同的hash code。

  46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

  47、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 不能,一个对象的一个synchronized方法只能由一个线程访问。? 无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问,每个对象只有一个锁(lock)与之相关联。

  48、编程题: 写一个Singleton出来。

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

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

public class Singleton { private Singleton(){}      //注意这是private 只供内部调用
    private static Singleton instance = new Singleton();
    //这里提供了一个供外部访问本class的静态方法,可以直接访问  
    public static Singleton getInstance() {
      return instance;   
    }      }      第二种形式:  public class Singleton { 
private static Singleton instance = null; private Singleton(){};
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次     
//使用时生成实例,提高了效率!
if (instance==null)
  instance=new Singleton(); return instance;   }  }  其他形式: 定义一个类,它的构造函数为private的,所有方法为static的。

一般认为第一种形式要更加安全些    49、Java的接口和C++的虚类的相同和不同处。

由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。

  50、Java中的异常处理机制的简单原理和应用。

当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。

  51、垃圾回收的优点和原理。并考虑2种回收机制。

Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域“的概念,只有对象的引用才有“作用域“。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

  52、请说出你所知道的线程同步的方法。

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

notityAll():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

  53、你所知道的集合类都有哪些?主要方法? 最常用的集合类是set、 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。  Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作“键“和“值“),其中每个键映射到一个值。

  54、描述一下JVM加载class文件的原理机制? JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

55、char型变量中能不能存贮一个中文汉字?为什么?  能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的   56、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?  多线程有两种实现方法,分别是继承Thread类与实现Runnable接口  同步的实现方面有两种,分别是synchronized,wait与notify   57、JSP的内置对象及方法。(共有9个)
request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie,  header, 和session数据的有用的方法。      response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)      out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。      pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet  相关的对象的API,并且包装了通用的servlet相关功能的方法。      session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息      applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息      config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。      page表示从该页面产生的一个servlet实例   58、线程的基本概念、线程的基本状态以及状态之间的关系 线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。

Java中的线程有四种状态分别是:运行、就绪、挂起、结束。    59、JSP的常用指令 <%@page language=“java“ contenType=“text/html;charset=gb2312“ session=“true“ buffer=“64kb“ autoFlush=“true“ isThreadSafe=“true“ info=“text“ errorPage=“error.jsp“ isErrorPage=“true“ isELIgnored=“true“ pageEncoding=“gb2312“ import=“java.sql.*“%> isErrorPage(是否能使用Exception对象),<%@page isELIgnored=”false”%> (启用表达式) <%@include file=“filename“%> <%@taglib prefix=“c“ uri=“http://......“%>/   60、什么情况下调用doGet()和doPost()? Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。

  61、servlet的生命周期 web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。

  62、如何实现servlet的单线程模式 <%@ page isThreadSafe=“false“%>   63、页面间对象传递的方法 Cookie, request,session,application等   64、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?  JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是“类servlet“。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。JSP仅在修改后第一次被访问时,才会被转换成servlet 并进行编译。

  65、四种会话跟踪技术 会话作用域ServletsJSP 页面描述 page是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的  include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面 request是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个  Web 组件(由于 forward 指令和 include 动作的关系)
session是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨      越多个客户机请求 application是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个     页面、请求和会话的一个全局作用域   66、Request对象的主要方法:
setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值 getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的Body的长度 getHeader(String name):获得HTTP协议定义的文件头信息 getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例 getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法 getParameter(String name):获得客户端传送给服务器端的有name指定的参数值 getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例 getParameterValues(String name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串 getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字 getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的名字 getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号 removeAttribute(String name):删除请求中的一个属性   67、J2EE是技术还是平台还是框架? J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。

    J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

  68、getAttribute和getParameter的区别 1.getAttribute是取得jsp中 用setAttribute設定的attribute  2.parameter得到的是string;attribute得到的是object  3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。

  69、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。

区别主要答两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型 b.逻辑操作不会产生短路   70、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?  a: 两种形式 dtd  schema,b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),c:有DOM,SAX,STAX等      DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问 SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问      STAX:Streaming API for XML (StAX)   71、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而 Lock一定要求程序员手工释放,并且必须在finally从句中释放。

  72、EJB的角色和三个对象 一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。这六个角色分别是EJB组件开发者(Enterprise Bean Provider) 、应用组合者(Application Assembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系统管理员(System Administrator)
三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类   73、EJB容器提供的服务 主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。

  74、EJB规范规定EJB中禁止的操作有哪些? 1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等), 2.不能操作awt 3.不能实现服务器功能 4.不能对静态属生存取 5.不能使用IO操作直接存取文件系统 6.不能加载本地库. 7.不能将this作为变量和返回 8.不能循环调用   75、remote接口和home接口主要作用 remote接口定义了业务方法,用于EJB客户端调用业务方法。

home接口是EJB工厂用于创建和移除查找EJB实例   76、bean 实例的生命周期 对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。

  77、EJB的激活机制 以Stateful Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。

  78、EJB的几种类型 会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean 会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种 实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种   79、客服端调用EJB对象的几个基本步骤 设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote接口,通过Remote接口调用其业务方法。

  80、如何给weblogic指定大小的内存?  在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M   81、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者 commenv文件,增加set PRODUCTION_MODE=true。

  82、如何启动时不需输入用户名与密码? 修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码.   83、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 保存在此Domain的config.xml文件中,它是服务器的核心配置文件。

  84、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了?  又比如这其中用到了一个自己写的javaBean该如何办? Domain目录服务器目录applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无需输入应用名。

  85、在weblogic中发布ejb需涉及到哪些配置文件 不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml    86、如何在weblogic中进行ssl 配置与客户端的认证配置或说说j2ee (标准)进行ssl 的配置 缺省安装中使用DemoIdentity.jks和DemoTrust.jks  KeyStore实现SSL,需要配置服务器使用Enable SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity和trust keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。

  87、如何查看在weblogic中已经发布的EJB? 可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB   88、CORBA是什么? 用途是什么?  CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:用不同的程序设计语言书写在不同的进程中运行,为不同的操作系统开发。

  89、说说你所熟悉或听说过的j2ee中的几种常用模式? 及对设计模式的一些看法 Session Facade Pattern:使用SessionBean访问EntityBean Message Facade Pattern:实现异步调用 EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问 Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性 Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性 Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性 EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。

  90、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。

91、Servlet执行时一般实现哪几个方法? public void init(ServletConfig config) public ServletConfig getServletConfig() public String getServletInfo() public void service(ServletRequest request,ServletResponse response) public void destroy()   92、j2ee常用的设计模式?说明工厂模式。

Java中的23种设计模式:
Factory(工厂模式),         Builder(建造模式),         Factory Method(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式),      Facade(门面模式), Adapter(适配器模式),      Bridge(桥梁模式),          Composite(合成模式), Decorator(装饰模式          Flyweight(享元模式),       Proxy(代理模式), Command(命令模式),       Interpreter(解释器模式),  Visitor(访问者模式), Iterator(迭代子模式),      Mediator(调停者模式         Memento(备忘录模式), Observer(观察者模式        State(状态模式),             Strategy(策略模式), Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)
工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

  93、EJB需直接实现它的业务接口或Home接口吗,请简述理由。

远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。

  94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码:
/ /使用快速排序方法对a[ 0 :n- 1 ]排序 从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点 把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点 递归地使用快速排序方法对left 进行排序 递归地使用快速排序方法对right 进行排序 所得结果为l e f t + m i d d l e + r i g h t   95、请对以下在J2EE中常用的名词进行解释(或简单描述) web容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接表跟容器 中的环境变量接**互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT, WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标 准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。

EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理能。      只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的 接口来获得系统级别的服务。例如邮件服务、事务管理。

JNDI:(Java Naming & Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系统,      让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的能。

JMS:(Java Message Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。

JTA:(Java Transaction API)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接       口即可。

JAF:(Java Action FrameWork)JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各 种部署和自定义实现自己的个性安全控制策略。

RMI/IIOP:(Remote Method Invocation /internet对象请求中介协议)他们主要用于通过远程调用服务。例如,       远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直 接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。

  96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。

用try来指定一块预防所有“异常“的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的“异常“的类型。

throw语句用来明确地抛出一个“异常“。

throws用来标明一个成员函数可能抛出的各种“异常“。

Finally为确保一段代码不管发生什么“异常“都被执行一段代码。

可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,“异常“的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种“异常“进行处理,堆栈就会展开,直到遇到有处理这种“异常“的try语句。

  97、一个“.java“源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以。必须只有一个类名与文件名相同。

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

  99、java中有几种方法可以实现一个线程 ?用什么关键字修饰同步方法?  stop()和suspend()方法为何不推荐使用? 有两种实现方法,分别是继承Thread类与实现Runnable接口 用synchronized关键字修饰同步方法 反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被“挂起“的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应在自己的Thread类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。

  100、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 字节流,字符流。字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。

  101、java中会存在内存泄漏吗,请简单描述。

会。如:int i,i2;  return (i-i2);   //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。

  102、java中实现多态的机制是什么? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

  103、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是“可达的“,哪些对象是“不可达的“。当GC确定一些对象为“不可达“时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

  104、静态变量和实例变量的区别? static i = 10; //常量  class A a;  a.i =10;//可变   105、什么是java序列化,如何实现java序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

  106、是否可以从一个static方法内部发出对非static方法的调用? 不可以, 如果其中包含对象的method();不能保证对象初始化.   107、写clone()方法时,通常都有一行代码,是什么? Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

  108、在JAVA中,如何跳出当前的多重嵌套循环? 用break; return 方法。

  109、List、Map、Set三个接口,存取元素时,各有什么特点? List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。

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

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

  112、说出一些常用的类,包,接口,请各举5个 常用的类:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer 常用的包:java.lang  java.awt  java.io  java.util  java.sql 常用的接口:Remote  List  Map  Document  NodeList    113、开发中都用到了那些设计模式?用在什么场合?  每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。

  114、jsp有哪些动作? 作用分别是什么?  JSP共有以下6种基本动作 jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个JavaBean。 jsp:setProperty:设置JavaBean的属性。 jsp:getProperty:输出某个JavaBean的属性。 jsp:forward:把请求转到一个新的页面。 jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。

  115、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?  可以继承其他类或完成其他接口,在swing编程中常用此方式。

  116、应用服务器与WEB SERVER的区别? 应用服务器:Weblogic、Tomcat、Jboss WEB SERVER:IIS、 Apache   117、BS与CS的联系与区别。

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。

B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。

C/S 与 B/S 区别:  1.硬件环境不同:  C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行  2.对安全要求不同 
C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。

3.对程序架构不同 
C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.  4.软件重用不同 
C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.
B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子  5.系统维护不同  
C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.  6.处理问题不同 
C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.  7.用户接口不同 
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.  8.信息流不同 
C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。

  118、LINUX下线程,GDI类的解释。

LINUX实现的就是基于核心轻量级进程的“一对一“线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。  GDI类为图像设备编程接口类库。

  119、STRUTS的应用( 如STRUTS架构 )  Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。  Struts有如下的主要功能:
 一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。 二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。 三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。

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

  121、内部类可以引用他包含类的成员吗?有没有什么限制? 一个内部类对象可以访问创建它的外部类对象的内容   122、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。

Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。

JAXP(Java API for XML Parsing) 定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。

JAXM(Java API for XML Messaging) 是为SOAP通信提供访问方法和传输机制的API。

WSDL是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。

SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。  UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

  123、EJB的角色和三个对象    EJB角色主要包括Bean开发者 应用组装者  部署者  系统管理员  EJB容器提供者  EJB服务器提供者    三个对象是Remote(Local)接口、Home(LocalHome)接口、 Bean类   124、作用域public,private,protected,以及不写时的区别  答:区别如下:  作用域 当前类 同一package 子孙类 其他package  public    √ √ √ √  protected  √ √ √ ×  friendly   √ √ × ×  private    √ × × ×  不写时默认为friendly 125.struts中的actionform有什么好处?    struts的actionform其实不好,里面有一堆属性,虽然可以自动填充,但是你会发现,在很多情况下(比如你用到Hibernate)    你还要需要自动写一个数据库表的映射类,通常是domain.UserInfo.java,这样就和strutsform中的属性重复,所以他很多余,    struts1.1版本,保留了actionform,struts1.2中已经有了新的LazyValidatorForm,但仍然保留了原有的actionform,   而在struts 2.0中已经把actionform去掉了    下面是解决方法    a:  把actionform换成DynaActionForm ,和原来不同的是在dynaActionForm可以domain.UserInfo.java的一个实例做为他的一个属性        这样你就不需要在里面写一堆的get,set方法,只是在页面上绑定稍有不同    b:  把actionform换成org.apache.struts.validator.LazyValidatorForm,这样你完全不用写你的actionform这个类,直接在xml里面做        相应配置,当然也可以加上验证框架    警告:这个问题是陷阱,实际上struts的actionform很不好,非常麻烦,用久了你会发现他其实是多余的,所以这个问题你应该说他的坏处, 126.通常所说的web应用程序分3层,即MVC,如果我想分四层,应该怎么分?     加一个Hibernate数据持久层   1、 简述你对IoC的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。

  IoC将创建的职责从应用程序代码搬到了框架中。Spring对Setter注入和构造方法注入提供支持。

2、Spring提倡面向接口编程,请讲一下你对它的理解,它有什么好处。

    在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。

3、Spring的Bean有哪些作用域。

   singleton、prototype、request、session、global session、自定义 4、简单描述Spring Framework与Struts的不同之处,整合Spring与Struts有哪些方法,哪种最好,为什么?    Spring是完整的一站式框架,而Struts仅是MVC框架,且着重于MVC中的C。Spring有三种方式整合Struts:使用 Spring 的 ActionSupport 类整合 Struts;使用 Spring 的 DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor;将 Struts Action 管理委托给 Spring 框架,动作委托最好。

5、Rails中大量使用Convention over Configuration的思想,SpringMVC在2.0后也引入了CoC,请简单描述一下SpringMVC的CoC。

   控制器Bean以Controller结尾可直接映射为地址,模型ModelAndView可以不用指定键名,可根据URL自动取得视图名。

6、Hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。

saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体如下:
如果对象在该session中已经被持久化,不进行操作; 对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它; 如果session中的另一个对象有相同的标识符抛出一个异常; 以上皆不符合则调用update()更新之。

Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于:
如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException; load方法可返回实体的代理类实例,而get方法永远直接返回实体类; load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。

7、Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。

   在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。

8、简述Spring的事务传播行为和隔离级别。

传播行为分为六种:
PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。  PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。  PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。  PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。  PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。  PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。

隔离级别:
ISOLATION_DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.另外四个与JDBC的隔离级别相对应 ISOLATION_READ_UNCOMMITTED 这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。  ISOLATION_READ_COMMITTED 保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。这种事务隔离级别可以避免脏读出现,但是可能会出现不可重复读和幻像读。  ISOLATION_REPEATABLE_READ 这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。  ISOLATION_SERIALIZABLE 这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读   Action是不是线程安全的?如果不是 有什么方式可以保证Action的线程安全? 不是线程安全的。只要不申明类变量就可以保证线程安全。因为只存在一个Action类实例,所有线程会共享类变量。

Hibernate有哪几种查询数据的方式 HQL,QBC,SQL Struts的工作原理         在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet, ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此 FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的 FormBean名称和ActionBean名称,这些在Struts-config.xml中配置 数据库方面:
  1.       存储过程和函数的区别 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。  2.  事务是什么? 事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:  原子性  事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。  一致性  事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。  隔离性  由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。  持久性  事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。  3.  游标的作用?如何知道游标已经到了最后? 游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。

  4.  触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。  事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。  语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。

文档内容仅供参考

推荐访问: