大三毕业季--面试旅行之金山快盘
? ?“金山快盘”6道面试题题目及解答如下。
第一题:String,StringBuilder,StringBuffer的区别。
???String:有两种初始化方式。其一是字面值创建,其二是使用new关键字创建。
? ? 举例如下:
? ? String strA=“adf”;
????String strB=“adf”;
? ? String strC=new String("adf");
? ??String strD=new String("adf");
????根据字面值创建的是保存在常量池中,创建StrB的时候,先检查常量池中是否已经存在常量“adf”,如果已经存在,此时不会再创建新的字符串。创建strC的时候,不会去常量池中查找,而是在堆内存中直接创建了一个对象。即使再创建strD变量,同样会再开辟内存。因此当字符串串联时会造成很大浪费如下:
????String strE=“a”+“df”+"ty";//中间会生成无用的“adf”,最终生成“adfty”。
????String strF=strC+strD;//重新开辟内存存储strF
????如果经常对字符串进行插入,删除,追加等操作,显然会造成内存浪费。解决办法是:StringBuffer
????StringBuffer:String类是不可变的,体现在它是final修饰的类。内部维护的是:
? 2:private:无法继承,何谈重写。? 3:static?:可以被继承,不能被重写。
第三题:Java为什么可以在不同平台上运行?
? ?只要在不同平台上安装了JRE-运行时环境,它会根据不同的平台将class文件翻译成不同平台上的执行命令,实现与平台无关。
第四题:给定一个数组,求出第二个最大的数。
????可以先排序(如冒泡)再取出。方法应该很多。
第五题:用递归和非递归实现K阶Fib(K,n)函数。函数定义是:
F(n)=F(n-1)+F(n-2)+...+F(n-k),(n>=k)
F(n)=1,(n=k-1)
F(n)=0,(0=<n<k-1)
递归方法:
?
非递归方法:?
?
?
第六题:设计一个日志类框架,可以实现自定义的KPLog日志类,写出主要思路和核心代码(尚未实现)
?
???
?
?
?
?
?
1 楼 pigswimming 2012-03-15 有人拿到offer吗?感觉金山快盘是来打酱油的,二面被鄙视的人飘过..... 2 楼 十三月的 2012-03-15 pigswimming 写道有人拿到offer吗?感觉金山快盘是来打酱油的,二面被鄙视的人飘过.....
这个还是有的 同行的6个拿到了 ... 3 楼 endual 2012-03-15 天啊,都是面试宝典的题目啊 4 楼 十三月的 2012-03-15 endual 写道天啊,都是面试宝典的题目啊
嗯 看来看面试宝典还是有必要的