Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Short answer: dictionary.Keys – returns a collection of all keys dictionary.Values – returns a collection of all values Example: foreach (var key in dictionary.Keys) Console.WriteLine(key); foreach (var value in dictiona…
Short answer: Insert(index, item) adds an item at a specific index. Add(item) adds to the end of the list. Example: list.Insert(0, 99); // Add at beginning list.Add(100); // Add at end Example code Insert(index, item) ad…
Short answer: Feature Non-Generic Generic Type Safety No Yes Performanc Slower (boxing/unboxing) Faster Casting Required Not required Syntax Less readable Clean and type-specific Examples: // Non-generic ArrayList arr =…
Short answer: Use a foreach loop; the iteration order is not guaranteed. foreach (var item in uniqueNumbers) { Console.WriteLine(item); } 📘 C# LinkedList<T> – Interview Questions & Answers Example code Use a f…
Short answer: Use the Clear() method to remove all elements. stack.Clear(); After this, Count becomes 0, and the internal array is reset. Example code Use the Clear() method to remove all elements. stack.Clear(); After t…
Short answer: Again, use the Peek() method: var front = queue.Peek(); Difference from Dequeue(): Peek() returns the front element without removing it. Dequeue() returns and removes the front element. 📘 C# Stack<T>…
Short answer: Using Add() will throw a System.ArgumentException Using the indexer (dictionary[key] = value) will overwrite the existing value Example: dictionary.Add("John", 25); Example code dictionary.Add(&qu…
Short answer: Use the Sort() method or provide a custom comparer. Example: list.Sort(); // Default sort (ascending) list.Sort((a, b) => b.CompareTo(a)); // Descending Example code Use the Sort() method or provide a cu…
Short answer: Use a foreach loop, which iterates from top to bottom (LIFO order). Example: foreach (var item in stack) Example code { Console.WriteLine(item); } This does not modify the stack — it's read-only iteration.…
Short answer: Use a foreach loop with KeyValuePair<TKey, TValue>: foreach (KeyValuePair<string, int> pair in dictionary) Example code { Console.WriteLine($"Key: {pair.Key}, Value: {pair.Value}"); }…
Short answer: Use the Reverse() method. Example: list.Reverse(); Use case: Reversing order of recent messages or results. Example code Use the Reverse() method. Example: list.Reverse(); Use case: Reversing order of recen…
Short answer: Why or why not? For reference types, null keys are not allowed — adding one throws an ArgumentNullException. For value types, keys must be non-nullable (like int, Guid). This restriction ensures the integri…
Short answer: Use the Clear() method to remove all elements. list.Clear(); Use the Clear() method to remove all elements. Example code list.Clear(); Use the Clear() method to remove all elements. Example: list.Clear(); U…
Short answer: You can iterate using: Real-world example (ShopNest) In ShopNest checkout, choose the collection by need: List for ordered cart lines, Dictionary for fast SKU lookup, HashSet for unique tags. Say this in th…
Short answer: Use the Clear() method to remove all key-value pairs. dictionary.Clear(); This resets the dictionary to an empty state. 📘 C# Queue<T> – Interview Questions & Answers Real-world example (ShopNest)…
Short answer: Use the Clear() method to remove all key-value pairs. Explain a bit more dictionary.Clear(); This resets the dictionary to an empty state. 📘 C# Queue<T> – Interview Questions &amp; Use the Clear(…
Short answer: Contains(item) checks whether the item exists in the list. It uses Equals() internally. Example code bool exists = list.Contains(10); Note: For custom objects, override Equals() and GetHashCode(). Real-worl…
Short answer: Use GroupBy, Distinct, or nested loops. Example: bool hasDuplicates = list.Count != list.Distinct().Count(); Example code Use GroupBy, Distinct, or nested loops. Example: bool hasDuplicates = list.Count !=…
Short answer: Use ToArray() method. Example: int[] array = list.ToArray(); Useful when interfacing with APIs that require arrays. Example code Use ToArray() method. Example: int[] array = list.ToArray(); Useful when inte…
Short answer: list = list.Distinct().ToList(); For custom objects, override Equals() and GetHashCode(). Example code list = list.Distinct().ToList(); For custom objects, override Equals() and GetHashCode(). Real-world ex…
Short answer: Use IndexOf(item) or FindIndex(predicate). Example: int index = list.IndexOf(10); int indexByCondition = list.FindIndex(x => x > 100); 📘 C# Dictionary<TKey, TValue> – Interview Questions &…
C# Collections C# Programming Tutorial · Collections
Short answer: dictionary.Keys – returns a collection of all keys dictionary.Values – returns a collection of all values Example: foreach (var key in dictionary.Keys) Console.WriteLine(key); foreach (var value in dictionary.Values) Console.WriteLine(value);
dictionary.Keys – returns a collection of all keys dictionary.Values – returns a collection of all values Example: foreach (var key in dictionary.Keys) Console.WriteLine(key); foreach (var value in dictionary.Values) Console.WriteLine(value);
ShopNest caches product prices in a Dictionary<string, decimal> keyed by SKU so checkout can look up a price in O(1) instead of scanning a list.
C# Collections C# Programming Tutorial · Collections
Short answer: Insert(index, item) adds an item at a specific index. Add(item) adds to the end of the list. Example: list.Insert(0, 99); // Add at beginning list.Add(100); // Add at end
Insert(index, item) adds an item at a specific index. Add(item) adds to the end of the list. Example: list.Insert(0, 99); // Add at beginning
list.Add(100); // Add at end
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
C# Collections C# Programming Tutorial · Collections
Short answer: Feature Non-Generic Generic Type Safety No Yes Performanc Slower (boxing/unboxing) Faster Casting Required Not required Syntax Less readable Clean and type-specific Examples: // Non-generic ArrayList arr = new ArrayList(); arr.Add(1); arr.Add("text"); // Allowed, but risky // Generic List<int> list = new List<int>(); dict["id"] = 101; Real-world use case: Generic collections are recommended for new development due…
to safety and performance. Non-generic collections are often found in older legacy systems.
list.Add(1); // list.Add("text"); // Compile-time error // Hashtable vs Dictionary Hashtable ht = new Hashtable();
ht["id"] = 101;
Dictionary<string, int> dict = new Dictionary<string, int>();
C# Collections C# Programming Tutorial · Collections
Short answer: Use a foreach loop; the iteration order is not guaranteed. foreach (var item in uniqueNumbers) { Console.WriteLine(item); } 📘 C# LinkedList<T> – Interview Questions & Answers
Use a foreach loop; the iteration order is not guaranteed. foreach (var item in uniqueNumbers)
{ Console.WriteLine(item); } 📘 C# LinkedList<T> – Interview Questions & Answers
When applying a coupon, ShopNest keeps used coupon codes in a HashSet<string> so “already used?” checks stay fast and unique.
C# Collections C# Programming Tutorial · Collections
Short answer: Use the Clear() method to remove all elements. stack.Clear(); After this, Count becomes 0, and the internal array is reset.
Use the Clear() method to remove all elements. stack.Clear(); After this, Count becomes 0, and the internal array is reset.
ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.
C# Collections C# Programming Tutorial · Collections
Short answer: Again, use the Peek() method: var front = queue.Peek(); Difference from Dequeue(): Peek() returns the front element without removing it. Dequeue() returns and removes the front element. 📘 C# Stack<T> – Interview Questions & Answers
ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.
C# Collections C# Programming Tutorial · Collections
Short answer: Using Add() will throw a System.ArgumentException Using the indexer (dictionary[key] = value) will overwrite the existing value Example: dictionary.Add("John", 25);
dictionary.Add("John", 30); // Exception
dictionary["John"] = 30; // Overwrites the value safely
ShopNest caches product prices in a Dictionary<string, decimal> keyed by SKU so checkout can look up a price in O(1) instead of scanning a list.
C# Collections C# Programming Tutorial · Collections
Short answer: Use the Sort() method or provide a custom comparer. Example: list.Sort(); // Default sort (ascending) list.Sort((a, b) => b.CompareTo(a)); // Descending
Use the Sort() method or provide a custom comparer. Example: list.Sort(); // Default sort (ascending)
list.Sort((a, b) => b.CompareTo(a)); // Descending
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
C# Collections C# Programming Tutorial · Collections
Short answer: Use a foreach loop, which iterates from top to bottom (LIFO order). Example: foreach (var item in stack)
{ Console.WriteLine(item); } This does not modify the stack — it's read-only iteration. 📘 C# HashSet<T> – Interview Questions & Answers
ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.
C# Collections C# Programming Tutorial · Collections
Short answer: Use a foreach loop with KeyValuePair<TKey, TValue>: foreach (KeyValuePair<string, int> pair in dictionary)
{ Console.WriteLine($"Key: {pair.Key}, Value: {pair.Value}"); } Or use deconstruction (C# 7+): foreach (var (key, value) in dictionary)
{
Console.WriteLine($"{key} = {value}");
}
ShopNest caches product prices in a Dictionary<string, decimal> keyed by SKU so checkout can look up a price in O(1) instead of scanning a list.
C# Collections C# Programming Tutorial · Collections
Short answer: Use the Reverse() method. Example: list.Reverse(); Use case: Reversing order of recent messages or results.
Use the Reverse() method. Example: list.Reverse(); Use case: Reversing order of recent messages or results.
C# Collections C# Programming Tutorial · Collections
Short answer: Why or why not? For reference types, null keys are not allowed — adding one throws an ArgumentNullException. For value types, keys must be non-nullable (like int, Guid). This restriction ensures the integrity of hashing, which is used internally by the dictionary.
ShopNest caches product prices in a Dictionary<string, decimal> keyed by SKU so checkout can look up a price in O(1) instead of scanning a list.
C# Collections C# Programming Tutorial · Collections
Short answer: Use the Clear() method to remove all elements. list.Clear(); Use the Clear() method to remove all elements.
list.Clear(); Use the Clear() method to remove all elements. Example: list.Clear(); Use the Clear() method to remove all elements. Example: list.Clear();
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
C# Collections C# Programming Tutorial · Collections
Short answer: You can iterate using:
In ShopNest checkout, choose the collection by need: List for ordered cart lines, Dictionary for fast SKU lookup, HashSet for unique tags.
C# Collections C# Programming Tutorial · Collections
Short answer: Use the Clear() method to remove all key-value pairs. dictionary.Clear(); This resets the dictionary to an empty state. 📘 C# Queue<T> – Interview Questions & Answers
ShopNest caches product prices in a Dictionary<string, decimal> keyed by SKU so checkout can look up a price in O(1) instead of scanning a list.
C# Collections C# Programming Tutorial · Collections
Short answer: Use the Clear() method to remove all key-value pairs.
dictionary.Clear(); This resets the dictionary to an empty state. 📘 C# Queue<T> – Interview Questions & Use the Clear() method to remove all key-value pairs. dictionary.Clear(); This resets the dictionary to an empty state. 📘 C# Queue<T> – Interview Questions & Use the Clear() method to remove all key-value pairs. dictionary.Clear(); This resets the dictionary to an empty state. 📘 C# Queue<T> – Interview Questions & Use the Clear() method to remove all key-value pairs. dictionary.Clear(); This resets the dictionary to an empty state. 📘 C# Queue<T> – Interview Questions &
ShopNest caches product prices in a Dictionary<string, decimal> keyed by SKU so checkout can look up a price in O(1) instead of scanning a list.
C# Collections C# Programming Tutorial · Collections
Short answer: Contains(item) checks whether the item exists in the list. It uses Equals() internally.
bool exists = list.Contains(10); Note: For custom objects, override Equals() and GetHashCode().
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
C# Collections C# Programming Tutorial · Collections
Short answer: Use GroupBy, Distinct, or nested loops. Example: bool hasDuplicates = list.Count != list.Distinct().Count();
Use GroupBy, Distinct, or nested loops. Example: bool hasDuplicates = list.Count != list.Distinct().Count();
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
C# Collections C# Programming Tutorial · Collections
Short answer: Use ToArray() method. Example: int[] array = list.ToArray(); Useful when interfacing with APIs that require arrays.
Use ToArray() method. Example: int[] array = list.ToArray(); Useful when interfacing with APIs that require arrays.
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
C# Collections C# Programming Tutorial · Collections
Short answer: list = list.Distinct().ToList(); For custom objects, override Equals() and GetHashCode().
list = list.Distinct().ToList();
For custom objects, override Equals() and GetHashCode().
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
C# Collections C# Programming Tutorial · Collections
Short answer: Use IndexOf(item) or FindIndex(predicate). Example: int index = list.IndexOf(10); int indexByCondition = list.FindIndex(x => x > 100); 📘 C# Dictionary<TKey, TValue> – Interview Questions & Answers
Use IndexOf(item) or FindIndex(predicate). Example: int index = list.IndexOf(10);
int indexByCondition = list.FindIndex(x => x > 100); 📘 C# Dictionary<TKey, TValue> – Interview Questions & Answers
In ShopNest, an order page loads products with List<Product> so you can Add items to the cart and access them by index. Use IEnumerable<T> when you only need to loop (for example, printing invoice lines).
Install Toolliyo like an app Free
Home-screen access to tutorials, coding practice & career tools — no app store needed.
On iPhone/iPad: tap Share then Add to Home Screen.