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 176–200 of 517

Career & HR topics

By tech stack

Mid PDF
How can you perform a LINQ query on a collection to filter, sort, or group elements?

Filter: Use Where() to select elements based on a condition. Sort: Use OrderBy() or OrderByDescending(). Group: Use GroupBy() to group elements by a key. Example: var products = new List<Product> { ... }; // Filter…

Collections Read answer
Mid PDF
What are the common use cases for a SortedSet<T>?

When you need a collection of unique elements in sorted order. Performing range queries or retrieving elements in sorted order. Implementing mathematical set operations efficiently. Examples: Leaderboards Scheduling task…

Collections Read answer
Mid PDF
How do you add, remove, or search for elements in a SortedList<TKey, TValue>?

Answer: dd: sortedList.Add(4, "Four"); Remove: sortedList.Remove(2); // Remove element with key 2 Search (by key): bool exists = sortedList.ContainsKey(3); string value = sortedList[3]; // Access value by key What interv…

Collections Read answer
Mid PDF
How would you remove an element from a LinkedList<T>?

Use Remove(value) to remove the first occurrence of the specified value, or RemoveFirst() / RemoveLast() to remove from the start or end respectively. numbers.Remove(10); // Removes the first node with value 10 numbers.R…

Collections Read answer
Junior PDF
What is the time complexity for adding, removing, or searching for an element in a HashSet<T>?

Answer: All these operations generally have O(1) average time complexity due to the underlying hash table structure. What interviewers expect A clear definition tied to Collections in C# Collections projects Trade-offs (…

Collections Read answer
Mid PDF
What methods are available in a Stack<T> for adding and removing elements?

Method Description Push() Adds an element to the top Pop() Removes and returns the top element Peek() Returns top element without removing it Clear( Removes all elements Example: stack.Push(100); // Add int top = stack.P…

Collections Read answer
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
Junior PDF
What is the use of the IEnumerable<T> interface in C# collections?

IEnumerable&lt;T&gt; is the base interface for all generic collections that can be enumerated (looped over). It allows the use of foreach loops and LINQ queries. It defines a single method: IEnumerator&lt;T&gt; GetEnumer…

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
Junior PDF
What is the difference between BlockingCollection<T> and a regular Collection<T>?

Feature BlockingCollection&lt;T&gt; Collection&lt;T&gt; Thread safety Thread-safe for adding and taking items Not thread-safe Blocking behavior Supports blocking and bounding (waits when empty/full) No blocking behavior…

Collections Read answer
Junior PDF
What is the benefit of using LINQ to manipulate collections in C#?

Concise and readable code: LINQ makes querying collections clear and expressive. Declarative style: You focus on what to retrieve, not how. Powerful operations: Filtering, sorting, grouping, joining, projecting, and more…

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
Junior PDF
What is the time complexity of searching for a key in a SortedList<TKey, TValue>?

Searching by key uses binary search, so the time complexity is O(log n). What interviewers expect A clear definition tied to Collections in C# Collections projects Trade-offs (performance, maintainability, security, cost…

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
Junior PDF
What is the time complexity for Push() and Pop() operations in a Stack<T>?

Answer: Push() → O(1) average, O(n) worst-case (if resizing needed) Pop() → O(1) These operations are fast and efficient due to the internal array structure. What interviewers expect A clear definition tied to Collection…

Collections Read answer
Junior PDF
What is the time complexity for the operations Enqueue() and Dequeue() in a Queue<T>?

Answer: Enqueue() → O(1) average case Dequeue() → O(1) average case Due to the internal circular array and pointer arithmetic, both operations are highly efficient unless resizing is needed (which is O(n), but infrequent…

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
Junior PDF
What is the time complexity of accessing an element in a List<T>?

Answer: Accessing an element by index is O(1) (constant time) — same as arrays. Example: int first = numbers[0]; // O(1) What interviewers expect A clear definition tied to Collections in C# Collections projects Trade-of…

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

C# Collections C# Programming Tutorial · Collections

  • Filter: Use Where() to select elements based on a condition.
  • Sort: Use OrderBy() or OrderByDescending().
  • Group: Use GroupBy() to group elements by a key.

Example:

var products = new List<Product> { ... };

// Filter products with price > 100

var expensiveProducts = products.Where(p => p.Price > 100);

// Sort products by name

var sortedProducts = products.OrderBy(p => p.Name);

// Group products by category

var groupedProducts = products.GroupBy(p => p.Category);
Permalink & share

C# Collections C# Programming Tutorial · Collections

  • When you need a collection of unique elements in sorted order.
  • Performing range queries or retrieving elements in sorted order.
  • Implementing mathematical set operations efficiently.
  • Examples:
  • Leaderboards
  • Scheduling tasks sorted by priority
  • Auto-complete suggestions sorted alphabetically
Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: dd: sortedList.Add(4, "Four"); Remove: sortedList.Remove(2); // Remove element with key 2 Search (by key): bool exists = sortedList.ContainsKey(3); string value = sortedList[3]; // Access value by key

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 Remove(value) to remove the first occurrence of the specified value, or

RemoveFirst() / RemoveLast() to remove from the start or end respectively.

numbers.Remove(10); // Removes the first node with value 10

numbers.RemoveFirst(); // Removes the first node

numbers.RemoveLast(); // Removes the last node

Permalink & share

C# Collections C# Programming Tutorial · Collections

Answer: All these operations generally have O(1) average time complexity due to the underlying hash table structure.

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

Method Description

Push() Adds an element to the top

Pop() Removes and returns the top element

Peek() Returns top element without removing it

Clear(

Removes all elements

Example:

stack.Push(100); // Add

int top = stack.Pop(); // Remove and return top
Permalink & share

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

IEnumerable<T> is the base interface for all generic collections that can be enumerated

(looped over). It allows the use of foreach loops and LINQ queries.

It defines a single method:

IEnumerator<T> GetEnumerator();

Example:

List<string> items = new List<string> { "A", "B", "C" };
foreach (string item in items) // IEnumerable<string> in action
{

Console.WriteLine(item);

}

Real-world use case:

When reading product data from a list or querying a database, IEnumerable<T> allows

deferred execution and efficient data processing using LINQ.

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

Feature BlockingCollection<T> Collection<T>

Thread safety Thread-safe for adding and taking items Not thread-safe

Blocking

behavior

Supports blocking and bounding (waits when

empty/full)

No blocking behavior

Use case Producer-consumer scenarios General-purpose

collection

dditional

features

Supports bounded capacity and cancellation Basic collection

BlockingCollection<T> wraps around other thread-safe collections and provides

blocking and bounding capabilities, ideal for producer-consumer queues.

📘 C# Collections: Performance &

Memory Considerations – Interview Q&A

Permalink & share

C# Collections C# Programming Tutorial · Collections

  • Concise and readable code: LINQ makes querying collections clear and

expressive.

  • Declarative style: You focus on what to retrieve, not how.
  • Powerful operations: Filtering, sorting, grouping, joining, projecting, and more.
  • Deferred execution: Queries execute only when results are needed, improving

performance.

  • Strongly typed: Compile-time checking and IntelliSense support.
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

Searching by key uses binary search, so the time complexity is O(log n).

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 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: Push() → O(1) average, O(n) worst-case (if resizing needed) Pop() → O(1) These operations are fast and efficient due to the internal array structure.

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: Enqueue() → O(1) average case Dequeue() → O(1) average case Due to the internal circular array and pointer arithmetic, both operations are highly efficient unless resizing is needed (which is O(n), but infrequent).

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

Answer: Accessing an element by index is O(1) (constant time) — same as arrays. Example: int first = numbers[0]; // O(1)

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