您的位置:首页 > 产品设计 > UI/UE

Top 10 Collection Interview Questions Answers in Java

2013-11-17 21:44 375 查看
Interview questions from Collection package or framework is most common in any Core Java Interview yet a tricky one. Together Collection
and multithreading makes any Java interview tough to crack and having a good understanding of Collection and threads will help you to excel in Java interview.
I thought about writing interview questions on collection when I wrote10 multi-threading Interview questions
asked in Java and
Top 20 Core java Interview questions answers but somehow it got delayed. In this article we will see mix of some beginners and advanced Java Collection interviews and there answers which has been asked in various Core Java interviews. These Collection interview
questions have been collected from various friends and colleagues and Answers of these interview questions can also be found byGoogle.



Now
let's start with interview questions on collections. Since collection is made of various data structures e.g. Map, Set and List and there various implementation, mostly interviewerchecks
whether interviewee is familiar with basics of these collections or not and whether he knows when to use Map, Set or List. Based on Role for which interview is going on questions starts with beginner’s level or more advanced level. Normally 2 to 3 years experience
counted as beginners while over 5 years comes under advanced category, we will see questions from both categories.

Java Collection Interview Questions Answers

How HashMap works in Java?
This is Classical Java Collection interview questions which I have also discussed inHow HashMap works
in Java. This collection interview questions is mostly asked during AVP Role interviews on Investment-Banks and has lot of followup questions based on response of interviewee e.g. Why HashMap keys needs to beimmutable,
what is race conditions on HashMap and how HashMap resize in Java. Forexplanation and answers of these questions Please see earlier link.

What is difference between fail-fast and fail-safe Iterators?
This is relatively new collection interview questions and can become trick if you hear the term fail-fast and fail-safe first time. Fail-fast Iterators throws ConcurrentModificationException when oneThread
is iterating over collection object and other thread structurally modify Collection either by adding, removing or modifying objects on underlying collection. They are called fail-fast because they try to immediately throw Exception when they encounter failure.
On the other hand
fail-safe Iterators works on copy of collection instead of original collection

What is difference between Synchronized Collection and ConcurrentCollection?
Java5 has added several new ConcurrentCollection classes e.g. ConcurrentHashMap, CopyOnWriteArrayList, BlockingQueue etc, which has made Interview questions on Java Collection even trickier. Java Also provided way to get Synchronized
copy of collection e.g. ArrayList, HashMap by using Collections.synchronizedMap() Utility function.One Significant difference is that ConccurentCollections has better performance than synchronized Collection because they lock only a portion of Map to achieve
concurrency and Synchronization. See
Difference between SynchronizedCollection and ConcurrentCollection in Java formore details.

What is difference between Iterator and Enumeration?
This is a beginner level collection interview questions and mostly asked during interviews of Junior Java developer up to experience of 2 to 3 years Iteratorduplicate
functionality of Enumeration with one addition of remove()method and both provide navigation functionally on objects of Collection.Another difference is that Iterator is more safe than
Enumeration and doesn't allow another thread to modify collection object during iteration except remove() method and throws ConcurrentModificaitonException. SeeIterator
vs Enumeraiton in Java for more differences.

Difference between HashMap and Hashtable?
This is another Classical Java Collection interview asked on beginner’s level and most of Java developer has a predefinedanswer for this interview questions
e.g. HashMap is not synchronized while hashtalbe is not or hashmap is faster than hashtable etc. What could go wrong is that if he placed another followup question like how hashMap works in Java or can you replace Hashtable with ConcurrenthashMap etc. SeeHashTable
vs HashMap in Java for detailed answer of this interview question.

When do you use ConcurrentHashMap in Java?
This is another advanced level collection interview questions in Java which normally asked to check whether interviewer is familiar with optimization done on ConcurrentHashMap or not. ConcurrentHashMap is better suited for situation
where you have multiple readers and one
Writer or fewer writers since Map gets locked only during write operation. If you have equaled number of reader and writer thanConcurrentHashMap
will perform in line of hashtable or synchronized hashMap.

What is difference between Set and List in Java?
Another classical Java Collection interview popular on telephonic round or first round of interview. Most of Java programmer knows that Set doesn't allowed duplicate while List does and List maintains insertion order while Set
doesn't. What is key here is to show interviewer that you can decide which collection is more suited based on requirements.

How do you Sort objects on collection?
This Collection interview question serves two purpose it not only test an important programming concept Sorting but Also utilty class like Collections which provide severalmethods
for creating synchronized collection and sorting. Sorting is implemented using Comparable and Comparator in Java and when youcall Collections.sort() it gets sorted based on natural order
specified in CompareTo method while Collections.sort(Comparator) will sort objects based on compare() method of Comparator. See

Sorting in Java using Comparator and Comparable for more details.

What is difference between
Vector and ArrayList?

One more beginner level collection interview questions, this is still very popular and mostly asked in telephonic round.ArrayList
in Java is one of the most used Collection class and most interviewer asked questions on ArrayList.See Difference between Vector and ArrayList for answer of this interview question.

What is difference between HashMap and HashSet?
This collection interview questions is asked in conjunction with hashmap vs hashtable. SeeHashMap vs HashSet
for detail Answer.

Read mo
ad8e
re: http://javarevisited.blogspot.com/2011/11/collection-interview-questions-answers.html#ixzz2ki0IsNxh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: