Here are the top C# interview questions to prepare for your next role.
1️⃣ In C#, what happens to a value type when it is passed to a method without using ref or out?
- A) It is copied
- B) It is passed by reference
- C) It is boxed into an object
- D) It becomes mutable automatically
2️⃣ In C#, what happens when a nullable value type (e.g., int?) containing a non-null value is boxed at runtime?
- A) It remains boxed as a Nullable object
- B) It throws an InvalidCastException
- C) It is boxed as a reference to null
- D) It is boxed as the underlying value type
3️⃣ In a C# application, which approach best ensures that different logging strategies (e.g., console, file, or database logging) can be swapped without modifying the classes that use them?
- A) Using interfaces for the logging behavior
- B) Embedding logging logic directly in each method
- C) Using only constructor overloading
- D) Placing all logic in a single static logger class
4️⃣ In high‑throughput C# systems, which design approach most reliably prevents shared mutable state issues when multiple components collaboratively build complex objects?
- A) Store state in global variables
- B) Use immutable builders
- C) Share a static builder
- D) Lock each field on write
5️⃣ best enforces cross-aggregate invariants without breaking encapsulation or introducing tight coupling between aggregate roots?
- A) Partial classes
- B) Reflection-based hooks
- C) Domain events
- D) InternalsVisibleTo sharing