上海交通银行笔试题及答案.docx
- 文档编号:1917252
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:14
- 大小:20.35KB
上海交通银行笔试题及答案.docx
《上海交通银行笔试题及答案.docx》由会员分享,可在线阅读,更多相关《上海交通银行笔试题及答案.docx(14页珍藏版)》请在冰点文库上搜索。
上海交通银行笔试题及答案
选择题:
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〈numLen;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〈len;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〈salary<1000020% 10000〈salary25% 参考答案: 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); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海交通 银行 笔试 答案