Interview Q&A

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

4616 total questions 4516 technical 100 career & HR 4346 from PDF library

Showing 26–50 of 71

Popular tracks

Mid PDF
What methods does the Queue<T> class provide to add or remove elements?

Operation Method Description dd Enqueue () dds an item to the end of the queue Remove Dequeue () Removes and returns the item at the front Peek Peek() Returns the front item without removing it Example: Queue&lt;int&gt;…

Collections Read answer
Mid PDF
How do you remove a key-value pair from a Dictionary?

Answer: Use the Remove(key) method: dictionary.Remove("key1"); Returns true if the key was found and removed, false otherwise. What interviewers expect A clear definition tied to Collections in C# Collections projects Tr…

Collections Read answer
Mid PDF
How do you remove elements from a List<T> in C#?

Use methods like: Remove(item) – removes first occurrence RemoveAt(index) – removes by index RemoveAll(predicate) – removes all matching a condition Clear() – removes all items Example: numbers.Remove(10); numbers.Remove…

Collections Read answer
Mid PDF
How do you perform deep cloning or deep copying of a collection in C#?

Deep cloning copies the collection and all objects inside it recursively. Ways to deep clone: Implement ICloneable in your objects with deep clone logic. Use serialization (binary, XML, JSON) to serialize and deserialize…

Collections Read answer
Mid PDF
How can you optimize the memory usage of a collection in C#?

Pre-allocate capacity when you know the expected size (e.g., new List&lt;T&gt;(capacity)) to avoid frequent resizing. Use value types or structs when appropriate to reduce reference overhead. Choose collections with lowe…

Collections Read answer
Mid PDF
How do you perform operations like union, intersection, and difference with SortedSet<T>?

Operation Method Description Union UnionWith() Adds all elements from another set Intersection IntersectWit h() Keeps only elements present in both sets Difference ExceptWith() Removes elements found in another set Examp…

Collections Read answer
Mid PDF
How do you iterate through a LinkedList<T>?

Answer: Use a foreach loop to traverse the linked list from start to end. foreach (var num in numbers) { Console.WriteLine(num); } What interviewers expect A clear definition tied to Collections in C# Collections project…

Collections Read answer
Mid PDF
How do you remove duplicates from a collection using HashSet<T>?

Add all elements from the collection to a HashSet&lt;T&gt;, which automatically removes duplicates. List&lt;int&gt; numbers = new List&lt;int&gt; { 1, 2, 2, 3, 3, 4 }; HashSet&lt;int&gt; uniqueNumbers = new HashSet&lt;in…

Collections Read answer
Mid PDF
How do you check if a Dictionary contains a specific key or value?

Answer: ContainsKey(key) – checks for key existence ContainsValue(value) – checks for value Example: dictionary.ContainsKey("Alice"); // true/false dictionary.ContainsValue(30); // true/false What interviewers expect A c…

Collections Read answer
Mid PDF
What does ICollection<T> provide, and how does it differ from IEnumerable<T>?

ICollection&lt;T&gt; extends IEnumerable&lt;T&gt; and adds features like: Counting (Count property) Adding and removing items (Add, Remove) Checking for existence (Contains) Difference: IEnumerable&lt;T&gt; is read-only…

Collections Read answer
Mid PDF
How would you implement a generic collection in C# for a custom object?

Define your custom object class. Create a collection class that holds objects of that type using generics or directly. Example: public class Employee { public int Id { get; set; } public string Name { get; set; } } publi…

Collections Read answer
Mid PDF
How can you convert a collection to a different type using LINQ?

Use methods like ToList(), ToArray(), or ToDictionary() to convert LINQ query results to different collection types. Examples: var numbers = new int[] { 1, 2, 3, 4, 5 }; // Convert to List&lt;int&gt; List&lt;int&gt; numb…

Collections Read answer
Mid PDF
How do you iterate through a SortedSet<T>?

Answer: Use a foreach loop which iterates over the elements in sorted ascending order: foreach (var item in sortedSet) { Console.WriteLine(item); } What interviewers expect A clear definition tied to Collections in C# Co…

Collections Read answer
Mid PDF
How would you iterate through a SortedList<TKey, TValue>?

You can use a foreach loop over KeyValuePair&lt;TKey, TValue&gt; elements, which iterates in sorted key order: foreach (var kvp in sortedList) { Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}"); } You can also it…

Collections Read answer
Mid PDF
Can a HashSet<T> store duplicate values?

Answer: No, HashSet&amp;lt;T&amp;gt; does not allow duplicates. Attempting to add a duplicate value will return false and not change the set. bool added = uniqueNumbers.Add(2); // returns false because 2 lready exists Wh…

Collections Read answer
Mid PDF
How do you access the top element in a Stack<T> without removing it?

Answer: Use the Peek() method. Example: int top = stack.Peek(); This is useful when you just want to inspect the top element without altering the stack. What interviewers expect A clear definition tied to Collections in…

Collections Read answer
Mid PDF
How do you check the first element in a Queue<T> without removing it?

Use the Peek() method to view the front element without removing it. Example: Queue&lt;string&gt; tasks = new Queue&lt;string&gt;(); tasks.Enqueue("Task1"); string nextTask = tasks.Peek(); // Returns "Task1", does not re…

Collections Read answer
Mid PDF
What methods does the List<T> class provide to search for an element?

Contains(item) IndexOf(item) Find(predicate) FindAll(predicate) Exists(predicate) BinarySearch(item) (for sorted lists) Example: bool hasItem = numbers.Contains(10); int index = numbers.IndexOf(10); var result = numbers.…

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

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 IComparable or provide…

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

Operation LinkedList&lt;T&gt; List&lt;T&gt; Indexed access O(n) (no indexing) O(1) (direct access) dd/Remove at start/end O(1) O(n) (start), O(1) (end) dd/Remove in middle O(1) (with node ref) O(n) (shifts elements) Memo…

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

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;int&gt; { 1, 2,…

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

Answer: Use the Clear() method to remove all elements. Example: tasks.Clear(); fter calling Clear(), the queue is empty (Count == 0). What interviewers expect A clear definition tied to Collections in C# Collections proj…

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

Answer: 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 What interviewers expect A clear de…

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

Answer: Use the Count property. if (stack.Count == 0) { Console.WriteLine("Stack is empty"); } Unlike some languages, C# stacks do not provide an IsEmpty property. What interviewers expect A clear definition tied to Coll…

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

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

Collections Read answer

C# Collections C# Programming Tutorial · Collections

Operation Method Description

dd Enqueue

()

dds an item to the end of the queue

Remove Dequeue

()

Removes and returns the item at the front

Peek Peek() Returns the front item without removing it

Example:

Queue<int> queue = new Queue<int>();

queue.Enqueue(1); // Add

int front = queue.Dequeue(); // Remove
Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: Use the Remove(key) method: dictionary.Remove("key1"); Returns true if the key was found and removed, false otherwise.

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Use methods like:

  • Remove(item) – removes first occurrence
  • RemoveAt(index) – removes by index
  • RemoveAll(predicate) – removes all matching a condition
  • Clear() – removes all items

Example:

numbers.Remove(10);

numbers.RemoveAt(0);

numbers.RemoveAll(x => x > 100);

numbers.Clear();

Permalink & share

C# Collections C# Programming Tutorial · Collections

  • Deep cloning copies the collection and all objects inside it recursively.
  • Ways to deep clone:
  • Implement ICloneable in your objects with deep clone logic.
  • Use serialization (binary, XML, JSON) to serialize and deserialize objects.
  • Manually create new instances of each item.

Example (manual):

List<MyClass> DeepClone(List<MyClass> original)
{
return original.Select(item => item.Clone()).ToList();
}

Note: MyClass must implement a Clone() method that performs deep copy.

Permalink & share

C# Collections C# Programming Tutorial · Collections

  • Pre-allocate capacity when you know the expected size (e.g., new
List<T>(capacity)) to avoid frequent resizing.
  • Use value types or structs when appropriate to reduce reference overhead.
  • Choose collections with lower overhead for your use case (e.g., List<T> instead of

LinkedList<T> if indexing is needed).

  • Use immutable collections or pooling to minimize allocations.
  • Avoid unnecessary boxing/unboxing by using generic collections instead of

non-generic.

  • Regularly trim collections if supported (e.g., List<T>.TrimExcess()).

📘 C# Advanced Collection Topics –

Interview Questions & Answers
Permalink & share

C# Collections C# Programming Tutorial · Collections

Operation Method Description

Union UnionWith() Adds all elements from another set

Intersection IntersectWit

h()

Keeps only elements present in both

sets

Difference ExceptWith() Removes elements found in another set

Example:

SortedSet<int> set1 = new SortedSet<int> { 1, 2, 3 };
SortedSet<int> set2 = new SortedSet<int> { 3, 4, 5 };

set1.UnionWith(set2); // {1, 2, 3, 4, 5}

set1.IntersectWith(set2); // {3, 4, 5} (if applied on the original

set1)

set1.ExceptWith(set2); // {1, 2} (if applied on the original

set1)

Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: Use a foreach loop to traverse the linked list from start to end. foreach (var num in numbers) { Console.WriteLine(num); }

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Add all elements from the collection to a HashSet<T>, which automatically removes

duplicates.

List<int> numbers = new List<int> { 1, 2, 2, 3, 3, 4 };
HashSet<int> uniqueNumbers = new HashSet<int>(numbers);

Now, uniqueNumbers contains only unique values: {1, 2, 3, 4}.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: ContainsKey(key) – checks for key existence ContainsValue(value) – checks for value Example: dictionary.ContainsKey("Alice"); // true/false dictionary.ContainsValue(30); // true/false

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

ICollection<T> extends IEnumerable<T> and adds features like:

  • Counting (Count property)
  • Adding and removing items (Add, Remove)
  • Checking for existence (Contains)

Difference:

  • IEnumerable<T> is read-only and forward-only iteration.
  • ICollection<T> adds modification capabilities.

Example:

ICollection<int> numbers = new List<int>();

numbers.Add(5);

numbers.Remove(5);

Console.WriteLine(numbers.Count);

Real-world use case:

Use ICollection<T> when you need to manipulate the collection (add/remove items),

such as managing an in-memory cart of products in a shopping application.

Permalink & share

C# Collections C# Programming Tutorial · Collections

  • Define your custom object class.
  • Create a collection class that holds objects of that type using generics or directly.

Example:

public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
}
public class EmployeeCollection : Collection<Employee>
{

// You can add custom methods specific to Employee collection

here

}

Or simply use List<Employee> directly for flexibility.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Use methods like ToList(), ToArray(), or ToDictionary() to convert LINQ query

results to different collection types.

Examples:

var numbers = new int[] { 1, 2, 3, 4, 5 };

// Convert to List<int>

List<int> numberList = numbers.ToList();

// Convert to array

int[] numberArray = numberList.ToArray();

// Convert to dictionary (key = number, value = square)

Dictionary<int, int> numberDict = numbers.ToDictionary(n => n, n =>

n * n);

📘 C# Thread-Safe Collections –

Interview Questions & Answers
Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: Use a foreach loop which iterates over the elements in sorted ascending order: foreach (var item in sortedSet) { Console.WriteLine(item); }

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

You can use a foreach loop over KeyValuePair<TKey, TValue> elements, which

iterates in sorted key order:

foreach (var kvp in sortedList)
{

Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");

}

You can also iterate over keys or values separately:

foreach (var key in sortedList.Keys) { /* ... */ }
foreach (var value in sortedList.Values) { /* ... */ }

📘 C# SortedSet<T> – Interview

Questions & Answers

Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: No, HashSet&lt;T&gt; does not allow duplicates. Attempting to add a duplicate value will return false and not change the set. bool added = uniqueNumbers.Add(2); // returns false because 2 lready exists

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: Use the Peek() method. Example: int top = stack.Peek(); This is useful when you just want to inspect the top element without altering the stack.

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Use the Peek() method to view the front element without removing it.

Example:

Queue<string> tasks = new Queue<string>();

tasks.Enqueue("Task1");

string nextTask = tasks.Peek(); // Returns "Task1", does not remove

it

Useful when you want to see what’s next without modifying the queue.

Permalink & share

C# Collections C# Programming Tutorial · Collections

  • Contains(item)
  • IndexOf(item)
  • Find(predicate)
  • FindAll(predicate)
  • Exists(predicate)
  • BinarySearch(item) (for sorted lists)

Example:

bool hasItem = numbers.Contains(10);
int index = numbers.IndexOf(10);
var result = numbers.Find(x => x > 50);
Permalink & share

C# Collections C# Programming Tutorial · Collections

  • 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:

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.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Operation LinkedList<T> List<T>

Indexed access O(n) (no indexing) O(1) (direct access)

dd/Remove at

start/end

O(1) O(n) (start), O(1) (end)

dd/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. Use List<T> for fast random access and better memory efficiency.

📘 C# SortedList<TKey, TValue> –

Interview Questions & Answers
Permalink & share

C# Collections C# Programming Tutorial · Collections

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 };
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}
Permalink & share

C# Collections C# Programming Tutorial · Collections

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

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: 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

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: Use the Count property. if (stack.Count == 0) { Console.WriteLine("Stack is empty"); } Unlike some languages, C# stacks do not provide an IsEmpty property.

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

C# Collections C# Programming Tutorial · Collections

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

What interviewers expect

  • A clear definition tied to Collections in C# Collections projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production C# Collections application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in C# Collections architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

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