上海交通银行笔试题及答案.docx

上传人:b****2 文档编号:11804246 上传时间:2023-06-02 格式:DOCX 页数:14 大小:22.45KB
下载 相关 举报
上海交通银行笔试题及答案.docx_第1页
第1页 / 共14页
上海交通银行笔试题及答案.docx_第2页
第2页 / 共14页
上海交通银行笔试题及答案.docx_第3页
第3页 / 共14页
上海交通银行笔试题及答案.docx_第4页
第4页 / 共14页
上海交通银行笔试题及答案.docx_第5页
第5页 / 共14页
上海交通银行笔试题及答案.docx_第6页
第6页 / 共14页
上海交通银行笔试题及答案.docx_第7页
第7页 / 共14页
上海交通银行笔试题及答案.docx_第8页
第8页 / 共14页
上海交通银行笔试题及答案.docx_第9页
第9页 / 共14页
上海交通银行笔试题及答案.docx_第10页
第10页 / 共14页
上海交通银行笔试题及答案.docx_第11页
第11页 / 共14页
上海交通银行笔试题及答案.docx_第12页
第12页 / 共14页
上海交通银行笔试题及答案.docx_第13页
第13页 / 共14页
上海交通银行笔试题及答案.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

上海交通银行笔试题及答案.docx

《上海交通银行笔试题及答案.docx》由会员分享,可在线阅读,更多相关《上海交通银行笔试题及答案.docx(14页珍藏版)》请在冰点文库上搜索。

上海交通银行笔试题及答案.docx

上海交通银行笔试题及答案

选择题:

1.下面两段代码,输出为()

publicclassA{

{

System.out.println("A");

}

static{

System.out.println("B");

}

A(){

System.out.println("C");

}

}

publicclassBextendsA{

{

System.out.println("D");

}

static{

System.out.println("E");

}

B(){

System.out.println("F");

}

publicstaticvoidmain(String[]args){

Bb=newB();

System.out.println("G");

}

}

参考答案:

B

E

A

C

D

F

G

2.spring配置事物的属性是

参考答案:

事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。

Spring在TransactionDefinition接口中定义这些属性,以供PlatfromTransactionManager使用,

3.ajax核心对象xmlhttprequest对象

参考答案:

XMLHttpRequest对象在Ajax中占据着十分重要的地位,因为通常意义上的和服务器进行交互是通过提交表单的形式,而在Ajax中的客户端通过XMLHttpRequest对象实现与服务器的通信。

也就是说正是因为XMLHttpRequest才使得Ajax得以实现,于是我们的与服务器的交互速度明显提升,消除了令人头疼的等待之后用户体验便也更加良好。

4.在执行下面两条SQL语句后:

createtablet1

c1char(10)notnullprimarykey,

c2int,

c3char(10),

c4char(10)notnull,

constraintc4unique(c1,c4)

createindexindex1ont1(c2asc)

表t1上有几个索引?

()

参考答案:

3

5.LDAP是指什么?

参考答案:

轻型目录访问协议,即LightweightDirectoryAccessProtocol是一个访问在线目录服务的协议。

目录是一组具有类似属性、以一定逻辑和层次组合的信息。

常见的例子是电话簿,由以字母顺序排列的名字、地址和电话号码组成。

最新版本的LDAP协议由RFC4511所定义。

6.实现DAO的设计模式有哪些?

参考答案:

DataAccessor模式和ActiveDomainObject模式

7.使用“游标稳定性”可能会出现什么现象情况?

(不可重复读、幻像读)

参考答案:

可能会出现不可重复读和幻像读现象

8.HashTable、Vector、TreeSet、LinkedList哪些属于线程安全的?

参考答案:

HashMap是线程安全的Map,Vector是线程安全的ArrayList

TreeSet和LinkedList都是非线程安全的

9.标准Statement的类对象有哪些?

参考答案:

StatementPreparedStatementCallableStatement

10.泳道图属于那种类图?

参考答案:

活动图

11.transient变量,在以下那几个类中使用?

(serialization)

参考答案:

serialization

选择题知识点:

J2EE;EJB;JPA;SSH;IBatis;AIX;WAS;Statement;数据库日志满;CPU瓶颈;泳道图;静态类;事物;spring;游标稳定性;MVC;设计模式

编程题

1.编写一个人民币金额数字转换成大写的函数,无小数,最大999999999。

例如:

12304转为壹万两仟三佰零四元整

40000转为4万元整

参考答案:

publicclassNum2Rmb{

    privateString[]hanArr={"零","壹","贰","叁","肆","伍",

            "陆","柒","捌","玖"};

    privateString[]unitArr={"拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};

 

    privateStringtoHanStr(StringnumStr)

    {

        Stringresult="";

        intnumLen=numStr.length();

        for(inti=0;i

        {

            intnum=numStr.charAt(i)-48;

            if(i!

=numLen-1&&num!

=0)

            {

                result+=hanArr[num]+unitArr[numLen-2-i];

            }

            else

            {

                result+=hanArr[num];

            }

        }

        returnresult;

    }

    publicstaticvoidmain(String[]args)

    {

        Num2Rmbnr=newNum2Rmb();

         

        System.out.println(nr.toHanStr("633779433451"));

    }

}

2.字符串截取,中文不会被截取半个。

例如:

我和你ABC截取4位:

我和你A

我和你ABC截取2位:

我和

参考答案:

publicstaticStringsubString(Stringstr,intlen){

if(str==null&&"".equals(str)){

returnnull;

}

//将字符串中的char数组转换成指定编码方式的byte数组的函数

byte[]strBytes=null;

try{

strBytes=str.getBytes("GBK");

}catch(UnsupportedEncodingExceptione){

e.printStackTrace();

}

//得到字符串的长度,判断截取字符串的长度是否在判断的范围内,否则返回原串

intstrLen=strBytes.length;

if(len>=strLen||len<1){

returnstr;

}

System.out.println("strBytes.length="+strBytes.length);

System.out.println("len="+len);

intcount=0;

for(inti=0;i

//将每个字节数组转换为整型数,以为后面根据值的正负来判断是否为汉字

intvalue=strBytes[i];

System.out.print(value+",");//我ABC你-50,-46,65,66,67,-60,-29

//对于第一种情况:

//注,一个函数转换成整型数就为两个负整数,上面的”我ABC你“,

//转换成整型数就为-50,-46,65,66,67,-60,-29,但是len=6,所以截取下来的就是-50,-46,65,66,67,-60,count就为3

//如果是汉字(负),则统计截取字符串中的汉字所占字节数

if(value<0){

count++;

}

System.out.println("zhcount="+count);

}

//依据判断给定的字符串是否含有汉字,利用String类的substring()方法来截取不同的长度

//根据所统计的字节数,判断截取到字符是否为半个汉字,奇数为半个汉字

if(count%2!

=0){

//如果在截取长度为1时,则将该汉字取出,

//其他情况则不截取这里的截取长度则按字符长度截取(截取字节长度数-截取汉字字节数/2-截取到的半个汉字的字节数)

len=(len==1)?

len:

len-count/2-1;//len=6-3/2-1=4我ABC

//System.out.println("处理后的len="+len);

}else{

//截取字符长度为字节长度-汉字所占字节长度/2(汉字占两个字节)

len=len-(count/2);

}

returnstr.substring(0,len);

}

3.个人所得税的计算,不同阶段的工资给出不同阶段的个人所得税的交付。

输入工资salary计算出应付的税款tax。

计算公式:

tax=n*(salary–850)n为税率

税率表为:

工资税率

salary<8500%

850

3000

5000

8000

10000

参考答案:

Doublecal(Doublesalary){

if(salary<850){

//

}elseif(salary>850&&salary<3000){

salary=0.05*(salary-850d);

}elseif(salary>3000&&salary<5000){

salary=0.1*(salary-850d);

}elseif(salary>5000&&salary<8000){

salary=0.15*(salary-850d);

}elseif(salary>8000&&salary<10000){

salary=0.2*(salary-850d);

}elseif(salary>10000){

salary=0.22*(salary-850d);

}

returnsalary;

}

问答题

1.使用系统设计的思想实现程序对不同语言,不同时区的支持。

参考:

对不同语言,不同时区的支持,涉及国际化和本地化。

国际化是指在设计软件时,将软件与特定语言及地区脱钩的过程。

当软件被移植到不同的语言地区时,软件本身不用做内部工程上的改变或修正。

本地化则是指当移植软件时,加上与特定区域设置有关的资讯和翻译文件的过程。

通常作法是将文本和其他环境相关的资源与程序代码相分离。

这样在理想的情况下,应对变化的环境时无需修改代码,只要修改资源,从而显著简化了工作。

2.什么是快速迭代失效?

如何解决?

参考:

Vector等Collection类,都有类似的说明:

由Vector的iterator和listIterator方法所返回的迭代器是快速失败的:

如果在迭代器创建后的任意时间从结构上修改了向量(通过迭代器自身的remove或add方法之外的任何其他方式),则迭代器将抛出ConcurrentModificationException。

因此,面对并发的修改,迭代器很快就完全失败,而不是冒着在将来不确定的时间任意发生不确定行为的风险。

解决办法:

不适用Collection自身的remove()方法,而使用Iterator本身的方法remove()来删除对象,因为这样子可以删掉原对象,同时当前迭代对象的索引也得到同步。

3.下面是一段对数据库异常处理的代码:

publicclassDBUtil{

privatestaticfinalintCAN_CONNECT=5001;

privatestaticfinalintSQL_ERROR=5002;

publicvoidexceptionHandle(intexception){

switch(exception){

caseCAN_CONNECT:

{

//dosomething...

System.out.println("TheDBcan'tbeconnected....");

}

caseSQL_ERROR:

{

//dosomething...

System.out.println("TheSQLisError...");

}

default:

//dosomething...

System.out.println("Otherreasons...");

}

}

}

若需要添加其他错误码,则只需添加case分支即可。

但是在异常非常多时这种方式处理会造成代码的冗余。

而且经常改动已经完成的代码还很可能会带来其他代码块的错误,带来未知的风险。

请使用设计模式改造该代码。

参考:

可用策略模式改造。

知识点:

多态、反射

一:

枚举类:

packagestrategy;

publicenumErrorTypeEnum{

CANNOT_CONNECT(5001,"TheDBcan'tbeconnected...."),

SQL_ERROR(5002,"TheSQLisError...");

/**

*状态值

*/

privateintvalue;

/**

*类型描述

*/

privateStringdescription;

privateErrorTypeEnum(intvalue,Stringdescription){

this.value=value;

this.description=description;

}

publicintvalue(){

returnvalue;

}

publicStringdescription(){

returndescription;

}

publicstaticErrorTypeEnumvalueOf(intvalue){

for(ErrorTypeEnumtype:

ErrorTypeEnum.values()){

if(type.value()==value){

returntype;

}

}

returnnull;

}

}

二:

Strategy接口:

packagestrategy;

publicinterfaceStrategy{

//可添加通用方法

Stringoutline();

}

三:

Cannot_ConnectStrategy类:

packagestrategy;

publicclassCannot_ConnectStrategyimplementsStrategy{

@Override

publicStringoutline(){

return"TheDBcan'tbeconnected....";

}

}

四:

Sql_ErrorStrategy类:

packagestrategy;

publicclassSql_ErrorStrategyimplementsStrategy{

@Override

publicStringoutline(){

return"TheSQLisError...";

}

}

五:

Context类:

packagestrategy;

publicclassContext{

privateStrategystrategy;

publicStringcontextOutline(intexception){

strategy=StrategyFactory.getInstance().creator(exception);

if(strategy!

=null){

returnstrategy.outline();

}else{

return"Otherreasons...";

}

}

publicStrategygetStrategy(){

returnstrategy;

}

publicvoidsetStrategy(Strategystrategy){

this.strategy=strategy;

}

}

六:

Client类,测试

packagestrategy;

publicclassClient{

publicstaticvoidexceptionHandle(intexception){

Contextcontext=newContext();

Stringoutline=context.contextOutline(exception);

System.out.println(outline);

}

publicstaticvoidmain(String[]args){

exceptionHandle(5001);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2