码迷,mamicode.com
首页 > 其他好文 > 详细

uc笔试

时间:2014-05-15 07:33:44      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:java   c   a   string   使用   set   

今晚参加了uc的实习生笔试,越发自己基础掌握还不牢固,看起来又免不了被刷了。暑假还是好好巩固基础吧,校招再战!

下面是一些还记得的题目,重做一遍,也当做是练习。

前面有8道java单选题,还有几道多选题,多选涉及到了快排、二叉树遍历等。

有五道简答题,题目不难,也是很常考的题目,有准备的应该都很熟悉。

1.final,finally和finalize的区别?

final是一个修饰符,可以用于修饰类和变量。当修饰类时,代表该类不可被继承;当修饰变量时,代表该变量不可以重新赋值,即为常量;

finally是用于异常处理的关键字之一。当代码执行到try语句块时,如果发生了异常,将会跳转到catch语句块执行,而无论是否有异常产生,在离开异常处理块之前,都会跳转到finally语句块中执行(特别地,当try语句块中有System.exit(0)代码段时,finally语句块将不会得到执行);

finalize是Object类中的一个方法,根据虚拟机规范,GC在回收一个对象之前,需要先调用该对象的finalize方法,当finalize方法执行后,对象仍符合回收条件时,GC才会真正回收此对象,因此可用此方法安全的关闭一些打开的资源,但并不推荐这样做,因此在对象的一次生命周期中,此方法只会被GC调用一次。

2.HashMap有什么特性,和HashTable的区别是什么?

HashMap是java对关联数组的一种实现,底层采用的是hash散列确定元素的数组下标,并利用链表法解决冲突问题。因为基于hash散列,该容器类对元素的基本操作的时间复杂度都为O(1)。HashMap还允许key为null的情况。HashMap还是线程不安全的,不过也因此比线程安全的HashTable在单线程下效率更高。

HashTable和HashMap基本实现是一致的,但HashTable的方法都是同步方法,因此它是线程安全的。另外它不允许key为null的情况。

3.String,StringBuffer,StringBuilder的区别?

String用于构造不可变的字符串对象。一经创建后,该对象代表的字符串将不可以修改。

StringBuffer用于构建一种可变的字符串对象,并且是线程安全的,StringBuffer主要用于字符串连接操作,相比不可以的String对象,StringBuffer在字符串连接上更加高效。

StringBuilder和StringBuffer类似,但它是线程不安全的,在无需考虑线程安全的情况下,使用StringBuilder要比StringBuffer更高效。

4.sleep()方法和wait()方法的区别?

sleep方法会是当前线程停止执行,但不会释放当前线程持有的锁;wait方法同样可以使当前当前线程停止执行,但会释放当前线程持有的锁;

下面是补充的答案:

1.sleep是Thread的一个静态方法,起作用的是当前调用线程,wait是Object类的一个方法;

2.wait必须在同步块内使用,sleep则可以在任意地方使用

3.sleep会抛出异常,必须捕获,wait则没有需要捕获的异常

5.列举常用集合类的实现原理和适用场景?

 ArrayList:

LinkedList:

Vector:

HashMap:

HashSet:

TreeMap:

TreeSet:

ConcurrentHashMap:

 

 

uc笔试,布布扣,bubuko.com

uc笔试

标签:java   c   a   string   使用   set   

原文地址:http://www.cnblogs.com/YESheng/p/3729086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!