In a scenario with large datasets, which collection should you use to avoid boxing overhead?
Answer: C
List<T> is a generic collection that avoids boxing of value types, whereas ArrayList boxes all values, causing performance overhead.
Q.142Medium
Which method allows you to get an element from a SortedSet<T> at a specific index without using indexer?
Answer: B
ElementAt() is a LINQ method that retrieves an element at a specific index. SortedSet<T> doesn't support direct indexing.
Q.143Medium
What does TryDequeue() return in ConcurrentQueue<T> when the queue is empty?
Answer: B
TryDequeue() returns false if the queue is empty and sets the out parameter to the default value of T, avoiding exceptions.
Q.144Medium
Which scenario best uses Stack<T> instead of Queue<T> in a practical application?
Answer: B
Stack<T> follows LIFO (Last-In-First-Out) principle, making it ideal for undo/redo functionality where the most recent action is reversed first.
Q.145Medium
In a scenario where you need to store key-value pairs with fast lookup times, which collection is optimal?
Answer: B
Dictionary<K,V> provides O(1) average-case lookup time using hash tables, making it optimal for key-value pair storage with fast retrieval.
Advertisement
Q.146Medium
Which method should be used to safely check and retrieve a value from a Dictionary<K,V> without throwing an exception?
Answer: B
TryGetValue() is the safe method that returns a boolean indicating success and outputs the value without throwing KeyNotFoundException.
Q.147Medium
What is the primary difference between ArrayList and List<T>?
Answer: B
List<T> is strongly-typed (type-safe) and eliminates boxing/unboxing overhead. ArrayList is non-generic and slower due to boxing of value types.
Q.148Medium
In a multiprocessing environment, which thread-safe collection should be used for concurrent operations?
Answer: B
ConcurrentBag<T> and other Concurrent* collections from System.Collections.Concurrent are thread-safe for multi-threaded scenarios without explicit locking.
Q.149Medium
What happens when you modify a List<T> while iterating over it using a foreach loop?
Answer: B
Modifying a collection during enumeration invalidates the enumerator and throws InvalidOperationException. Use a for loop or ToList() to avoid this.
Q.150Medium
Which LINQ method is used to convert a Dictionary<K,V> to a List<T> of key-value pairs?
Answer: B
ToList() converts the Dictionary's KeyValuePair<K,V> enumeration into a List<KeyValuePair<K,V>>. ToArray() would create an array instead.
Q.151Medium
In a data processing pipeline, if you need FIFO (First-In-First-Out) semantics with O(1) enqueue/dequeue, which collection is best?
Answer: C
Queue<T> provides FIFO semantics with O(1) Enqueue() and Dequeue() operations. Stack<T> is LIFO, and LinkedList operations vary.
Q.152Medium
Which collection maintains elements in sorted order and is backed by a binary search tree?
Answer: B
SortedDictionary<K,V> uses a red-black tree (binary search tree) for O(log n) operations. SortedSet<T> also uses BST but for single values.
Q.153Medium
What is the time complexity of Contains() method in a HashSet<T>?
Answer: C
HashSet<T> uses hash-based lookup for Contains(), achieving O(1) average-case time complexity, with O(n) worst-case in case of hash collisions.
Q.154Medium
In a scenario with frequent additions and removals at both ends, which collection is most efficient?
Answer: B
LinkedList<T> provides O(1) AddFirst(), AddLast(), RemoveFirst(), and RemoveLast() operations. List<T> requires O(n) for head removals due to reindexing.