交通银行笔试题2013/5/4


1.标准的Statement有哪些(preparedStatement,callbaleStatement)
2.DB2在导入数据时,数据量过大,出现事务日志满的错误(Database transaction log is full)
只需要在导入命令中设置commitcount参数为一个合理的值,如1000,命令如下
db2 import from [file_name] of ixf commitcount 1000 insert into [tablename]
3.vmstat监控系统,说明系统瓶颈
  http://blog.csdn.net/xubo_zhang/article/details/8543585
  cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。
  us 用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。
  sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。
  id  空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。
  wt 等待IO CPU时间。
4.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。
去零的代码:
return sb.reverse().toString().replaceAll("零[拾佰仟]","零").replaceAll("零+万","万").replaceAll("零+元","元").replaceAll("零+","零");

public class RenMingBi {

/**
* @param args add by zxx ,Nov 29, 2008
*/
private static final char[] data = new char[]{
'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
};
private static final char[] units = new char[]{
'元','拾','佰','仟','万','拾','佰','仟','亿'
};
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(convert(135689123));
}

public static String convert(int money)
{
StringBuffer sbf = new StringBuffer();
int unit = 0;
while(money!=0)
{
sbf.insert(0,units[unit++]);
int number = money%10;
sbf.insert(0, data[number]);
money /= 10;
}

return sbf.toString();
}
}
5.java迭代器错误,怎么解决(iterator),删除下标时不存在(copyonArraylist)
6.基于j2ee框架设计系统对多语言,多时区的支持?
7.基于设计模式改造程序(定义异常类(招商项目)),怎么优化,对修改关闭,对扩展开放?

猜你喜欢

转载自lvwenwen.iteye.com/blog/1859730