Interview Q&A

Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.

4608 total questions 4508 technical 100 career & HR 4272 from PDF library

Showing 1126–1150 of 4608

Career & HR topics

By tech stack

Popular tracks

Junior PDF
What is the role of the IList<T> interface in collections?

Short answer: IList&lt;T&gt; extends ICollection&lt;T&gt; and allows: Indexed access (like arrays) Inserting and removing at specific positions Example code IList&lt;string&gt; fruits = new List&lt;string&gt;(); fruits.A…

Collections Read answer
Junior PDF
What is the difference between TryGetValue() and indexer access in

Short answer: Dictionary? Feature TryGetValue() Indexer (dictionary[key]) Safe? Yes – avoids exception No – throws if key doesn't exist Returns Boolean (and output value) Direct value Use case When unsure if key exists W…

Collections Read answer
Mid PDF
How do you use a SortedList<T> to store items in a specific order in C#?

Short answer: Actually, SortedList&lt;TKey, TValue&gt; stores key-value pairs sorted by keys. To store items in a specific order, use the key to represent the sorting criteria. Keys must be unique and implement IComparab…

Collections Read answer
Junior PDF
What is the time complexity for common operations like Add(), Remove(), and Contains() in SortedSet<T>?

Short answer: Due to the underlying balanced tree structure, these operations have O(log n) time complexity. 📘 C# Collection Initializers &amp; LINQ – Interview Questions &amp; Answers Real-world example (ShopNest) When…

Collections Read answer
Mid PDF
How does a LinkedList<T> compare to a List<T> in terms of performance?

Short answer: Operation LinkedList&lt;T&gt; List&lt;T&gt; Indexed access O(n) (no indexing) O(1) (direct access) Add/Remove at start/end O(1) O(n) (start), O(1) (end) Add/Remove in middle O(1) (with node ref) O(n) (shift…

Collections Read answer
Mid PDF
How do you perform a union or intersection between two HashSet<T> objects?

Short answer: Union: Combines all unique elements from both sets set1.UnionWith(set2); Intersection: Keeps only elements present in both sets set1.IntersectWith(set2); Example: HashSet&lt;int&gt; set1 = new HashSet&lt;in…

Collections Read answer
Junior PDF
What is the purpose of the Peek() method in a Stack<T>?

Short answer: Peek() returns the top element without removing it. It’s helpful for: Conditional checks Previewing what's next Preventing accidental removal Example: if (stack.Count &gt; 0) Example code { var current = st…

Collections Read answer
Mid PDF
How would you clear a Queue<T>?

Short answer: Use the Clear() method to remove all elements. Example: tasks.Clear(); After calling Clear(), the queue is empty (Count == 0). Example code Use the Clear() method to remove all elements. Example: tasks.Clea…

Collections Read answer
Junior PDF
What is the difference between TryGetValue() and indexer access in a Dictionary?

Short answer: Feature TryGetValue() Indexer (dictionary[key]) Safe? Yes – avoids exception No – throws if key doesn't exist Returns Boolean (and output value) Direct value Use case When unsure if key exists When key is g…

Collections Read answer
Junior PDF
What is the difference between Add() and AddRange() in a List<T>?

Short answer: Method Purpose Add() Adds one item AddRange () Adds multiple items (collection) Example: list.Add(1); // One item list.AddRange(new[] { 2, 3, 4 }); // Multiple Example code Method Purpose Add() Adds one ite…

Collections Read answer
Junior PDF
What is the purpose of IReadOnlyCollection<T> and IReadOnlyList<T> interfaces?

Short answer: These interfaces provide read-only access to collections: IReadOnlyCollection&lt;T&gt; provides Count and enumeration. IReadOnlyList&lt;T&gt; provides index-based access without modification. Example code I…

Collections Read answer
Mid PDF
What does Insert() do in a List<T> and how is it different from

Short answer: dd()? Insert(index, item) adds an item at a specific index. Add(item) adds to the end of the list. list.Insert(0, 99); // Add at beginning list.Add(100); // Add at end dd()? Insert(index, item) adds an item…

Collections Read answer
Junior PDF
What is the difference between Add() and Contains() in a HashSet<T>?

Short answer: Method Purpose Return Value Add(item) Adds item if not already present true if added, false if duplicate Contains(it em) Checks if item exists in the set true if found, false otherwise Real-world example (S…

Collections Read answer
Mid PDF
How do you check whether a Stack<T> is empty?

Short answer: Use the Count property. if (stack.Count == 0) Example code { Console.WriteLine(&quot;Stack is empty&quot;); } Unlike some languages, C# stacks do not provide an IsEmpty property. Real-world example (ShopNes…

Collections Read answer
Mid PDF
How would you iterate through the elements of a Queue<T>?

Short answer: Use a foreach loop. Iteration does not modify the queue. Example: foreach (var order in orders) Example code { Console.WriteLine(order); } You can also use .ToArray() if needed: string[] items = orders.ToAr…

Collections Read answer
Mid PDF
How do you get all keys and values from a Dictionary<TKey, TValue>?

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…

Collections Read answer
Mid PDF
What does Insert() do in a List<T> and how is it different from Add()?

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…

Collections Read answer
Mid PDF
How do non-generic collections like ArrayList and Hashtable differ from their generic counterparts (List<T>, Dictionary<TKey, TValue>)?

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 =…

Collections Read answer
Mid PDF
How would you iterate over a HashSet<T>?

Short answer: Use a foreach loop; the iteration order is not guaranteed. foreach (var item in uniqueNumbers) { Console.WriteLine(item); } 📘 C# LinkedList&lt;T&gt; – Interview Questions &amp; Answers Example code Use a f…

Collections Read answer
Mid PDF
How do you clear a Stack<T>?

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…

Collections Read answer
Mid PDF
How do you peek at the front element of a Queue<T> without dequeuing it?

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&lt;T&gt;…

Collections Read answer
Mid PDF
What happens when you try to insert a duplicate key into a Dictionary?

Short answer: Using Add() will throw a System.ArgumentException Using the indexer (dictionary[key] = value) will overwrite the existing value Example: dictionary.Add(&quot;John&quot;, 25); Example code dictionary.Add(&qu…

Collections Read answer
Mid PDF
How can you sort a List<T> in C#?

Short answer: Use the Sort() method or provide a custom comparer. Example: list.Sort(); // Default sort (ascending) list.Sort((a, b) =&gt; b.CompareTo(a)); // Descending Example code Use the Sort() method or provide a cu…

Collections Read answer
Junior PDF
What is the difference between IEnumerable<T> and ICollection<T> in C#?

Short answer: Feature IEnumerable &lt;T&gt; ICollection&lt;T&gt; Read-only Yes No Modification Not supported Supports Add, Remove, Clear Count property No Yes (Count) Example code IEnumerable&lt;string&gt; names = new Li…

Collections Read answer
Mid PDF
How would you iterate through a Stack<T>?

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.…

Collections Read answer

C# Collections C# Programming Tutorial · Collections

Short answer: IList<T> extends ICollection<T> and allows: Indexed access (like arrays) Inserting and removing at specific positions

Example code

IList<string> fruits = new List<string>(); fruits.Add("Apple"); fruits.Insert(0, "Banana"); // Insert at index 0 Console.WriteLine(fruits[1]); // Access by index Real-world use case: Use IList<T> when order matters and you need to access, insert, or remove elements at specific positions, like reordering tasks in a to-do list.

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Dictionary? Feature TryGetValue() Indexer (dictionary[key]) Safe? Yes – avoids exception No – throws if key doesn't exist Returns Boolean (and output value) Direct value Use case When unsure if key exists When key is guaranteed to exist if (dictionary.TryGetValue("Bob", out int age)) { Console.WriteLine(age); } //… dictionary["Unknown"]; // throws…… Dictionary? Feature TryGetValue() Indexer (dictionary[key]) Safe?…

Explain a bit more

Yes – avoids exception No – throws if key doesn't exist Returns Boolean (and output value) Direct value Use case When unsure if key exists When key is guaranteed to exist

Example code

if (dictionary.TryGetValue("Bob", out int age)) { Console.WriteLine(age); } // dictionary["Unknown"]; // throws KeyNotFoundException if missing Dictionary? Feature TryGetValue() Indexer (dictionary[key]) Safe? Yes – avoids exception No – throws if key doesn't exist Returns Boolean (and output value) Direct value Use case When unsure if key exists When key is guaranteed to exist Example: if (dictionary.TryGetValue("Bob", out int age)) { Console.WriteLine(age); } //… dictionary["Unknown"]; // throws… Dictionary? Feature TryGetValue() Indexer (dictionary[key]) Safe? Yes – avoids exception No – throws if key doesn't exist Returns Boolean (and output value) Direct value Use case When unsure if key exists When key is guaranteed to exist Example: if (dictionary.TryGetValue("Bob", out int age)) { Console.WriteLine(age); } // dictionary["Unknown"]; // throws KeyNotFoundException if missing

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Actually, SortedList<TKey, TValue> stores key-value pairs sorted by keys. To store items in a specific order, use the key to represent the sorting criteria. Keys must be unique and implement IComparable or provide a custom IComparer.

Example code

SortedList<int, string> sortedList = new SortedList<int, string>(); sortedList.Add(10, "Ten"); sortedList.Add(5, "Five"); sortedList.Add(20, "Twenty"); // Items automatically sorted by keys: 5, 10, 20 If you want to sort by custom criteria, implement an IComparer and pass it to the SortedList constructor.

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Due to the underlying balanced tree structure, these operations have O(log n) time complexity. 📘 C# Collection Initializers & LINQ – Interview Questions & Answers

Real-world example (ShopNest)

When applying a coupon, ShopNest keeps used coupon codes in a HashSet<string> so “already used?” checks stay fast and unique.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Operation LinkedList<T> List<T> Indexed access O(n) (no indexing) O(1) (direct access) Add/Remove at start/end O(1) O(n) (start), O(1) (end) Add/Remove in middle O(1) (with node ref) O(n) (shifts elements) Memory overhead Higher (extra pointers) Lower (array storage) Summary: Use LinkedList<T> when you need fast insertions/deletions anywhere and don’t require indexed access.

Explain a bit more

Use List<T> for fast random access and better memory efficiency. 📘 C# SortedList<TKey, TValue> – Interview Questions & Answers

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Union: Combines all unique elements from both sets set1.UnionWith(set2); Intersection: Keeps only elements present in both sets set1.IntersectWith(set2); Example: HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };

Example code

HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.UnionWith(set2); // set1 = {1, 2, 3, 4, 5}
set1.IntersectWith(set2); // set1 = {3, 4, 5}

Real-world example (ShopNest)

When applying a coupon, ShopNest keeps used coupon codes in a HashSet<string> so “already used?” checks stay fast and unique.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Peek() returns the top element without removing it. It’s helpful for: Conditional checks Previewing what's next Preventing accidental removal Example: if (stack.Count > 0)

Example code

{
var current = stack.Peek();
} Throws InvalidOperationException if the stack is empty.

Real-world example (ShopNest)

ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Use the Clear() method to remove all elements. Example: tasks.Clear(); After calling Clear(), the queue is empty (Count == 0).

Example code

Use the Clear() method to remove all elements. Example: tasks.Clear(); After calling Clear(), the queue is empty (Count == 0).

Real-world example (ShopNest)

ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Feature TryGetValue() Indexer (dictionary[key]) Safe? Yes – avoids exception No – throws if key doesn't exist Returns Boolean (and output value) Direct value Use case When unsure if key exists When key is guaranteed to exist

Example code

if (dictionary.TryGetValue("Bob", out int age)) { Console.WriteLine(age); } // dictionary["Unknown"]; // throws KeyNotFoundException if missing

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Method Purpose Add() Adds one item AddRange () Adds multiple items (collection) Example: list.Add(1); // One item list.AddRange(new[] { 2, 3, 4 }); // Multiple

Example code

Method Purpose Add() Adds one item AddRange () Adds multiple items (collection) Example: list.Add(1); // One item
list.AddRange(new[] { 2, 3, 4 }); // Multiple

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: These interfaces provide read-only access to collections: IReadOnlyCollection<T> provides Count and enumeration. IReadOnlyList<T> provides index-based access without modification.

Example code

IReadOnlyList<int> ids = new List<int> { 1, 2, 3 }; Console.WriteLine(ids[0]); // Access element // ids[0] = 10; // Compile-time error – read-only Real-world use case: Useful in APIs where you want to expose collection data but prevent consumers from modifying it—e.g., returning a list of supported currencies from a service.

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: dd()? Insert(index, item) adds an item at a specific index. Add(item) adds to the end of the list. list.Insert(0, 99); // Add at beginning list.Add(100); // Add at end dd()? Insert(index, item) adds an item at a specific index. Add(item) adds to the end of the list.

Example code

list.Insert(0, 99); // Add at beginning… list.Add(100); // Add at end dd()? 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 dd()? 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

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Method Purpose Return Value Add(item) Adds item if not already present true if added, false if duplicate Contains(it em) Checks if item exists in the set true if found, false otherwise

Real-world example (ShopNest)

When applying a coupon, ShopNest keeps used coupon codes in a HashSet<string> so “already used?” checks stay fast and unique.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Use the Count property. if (stack.Count == 0)

Example code

{ Console.WriteLine("Stack is empty"); } Unlike some languages, C# stacks do not provide an IsEmpty property.

Real-world example (ShopNest)

ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Use a foreach loop. Iteration does not modify the queue. Example: foreach (var order in orders)

Example code

{ Console.WriteLine(order); } You can also use .ToArray() if needed: string[] items = orders.ToArray();

Real-world example (ShopNest)

ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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);

Example code

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);

Real-world example (ShopNest)

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.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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

Example code

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

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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…

Explain a bit more

to safety and performance. Non-generic collections are often found in older legacy systems.

Example code

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>();

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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

Example code

Use a foreach loop; the iteration order is not guaranteed. foreach (var item in uniqueNumbers)
{ Console.WriteLine(item); } 📘 C# LinkedList<T> – Interview Questions & Answers

Real-world example (ShopNest)

When applying a coupon, ShopNest keeps used coupon codes in a HashSet<string> so “already used?” checks stay fast and unique.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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.

Example code

Use the Clear() method to remove all elements. stack.Clear(); After this, Count becomes 0, and the internal array is reset.

Real-world example (ShopNest)

ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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

Real-world example (ShopNest)

ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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);

Example code

dictionary.Add("John", 30); // Exception
dictionary["John"] = 30; // Overwrites the value safely

Real-world example (ShopNest)

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.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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

Example code

Use the Sort() method or provide a custom comparer. Example: list.Sort(); // Default sort (ascending)
list.Sort((a, b) => b.CompareTo(a)); // Descending

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# Collections C# Programming Tutorial · Collections

Short answer: Feature IEnumerable <T> ICollection<T> Read-only Yes No Modification Not supported Supports Add, Remove, Clear Count property No Yes (Count)

Example code

IEnumerable<string> names = new List<string> { "A", "B" }; // names.Add("C"); // Error ICollection<string> nameCollection = new List<string> { "A", "B" }; nameCollection.Add("C"); // Allowed Real-world scenario: Use IEnumerable<T> for read-only, query-focused tasks like LINQ. Use ICollection<T> when managing and modifying the collection.

Real-world example (ShopNest)

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).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

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)

Example code

{ Console.WriteLine(item); } This does not modify the stack — it's read-only iteration. 📘 C# HashSet<T> – Interview Questions & Answers

Real-world example (ShopNest)

ShopNest uses a Queue<Order> for “orders waiting for payment confirmation,” and a Stack<Uri> for back-navigation in the admin UI.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details