This keyword lets a method pause without blocking a thread
What is await?
This method returns the default value of a type.
What is default(T)?
This keyword prevents a variable from being changed after assignment
What is readonly?
This is the mathematical equation that describes the time and spatial complexities of a function.
What is Big O Notation?
This pattern ensures only one instance of a class exists
What is the singleton pattern?
This data structure is used to control access to a shared resource during parallel code execution
What is a Lock/Mutex/Semaphore?
These types are stored on the heap and stack, respectively
What are reference and value types?
This is the process of introspecting a piece of code at runtime.
What is Reflection?
This property on arrays gives the number of elements in O(1) time.
What is .Length?
This pattern is where you register one ore more callbacks to a notifier function that invokes a callback when a change occurs
What is the observer pattern?
This token type is passed to async methods to support cooperative cancellation.
What is a CancellationToken?
The base interface for List<T>, Array<T> and Enumerable<T>
What is IEnumerable<T>?
This is the process of converting a value type (int, bool, struct) into a reference type (object).
--------------------
int i = 1;
object o = i;
What is boxing?
This side-effect is observed when the thread pool is over-utilized or the async/await machinery is mis-used?
What is thread pool starvation?
A family of algorithms that are interchangeable and dynamically injected at runtime based on desired functionality. Typically an alternative to conditional statements.
What is the strategy pattern?
This DI-friendly pattern wraps HttpClient creation and policies like retry and timeout.
Microsoft recommends to use this pattern in .NET Core application to control the number of HttpClient instances.
What is IHttpClientFactory?
This keyword restricts generic type parameters, e.g., to value types or to having a parameterless constructor.
interface TReturn {}
// Only allow T when it's a class and T implements TReturn
public Task DoAsync(T value) { ... }
What is the where constraint?
This is the .NET component that allocates and deallocates memory.
What is the Garbage Collector?
This pool helps you rent and return large temporary arrays to reduce GC pressure.
What is ArrayPool<T>?
This pattern allows you to construct objects step‑by‑step.
What is the builder pattern?
This error happens when you hold a lock while awaiting, causing other awaiters to block forever.
What is a deadlock?
This type, introduced in C# 7 represents a read-only slice of contiguous memory that can be used to avoid allocations during iteration/introspection.
What is Span<T>?
This is the .NET component that compiles IL (Intermediate Language) code into machine code at runtime.
What is the JIT (Just In Time) compiler?
This feature fixes managed memory to prevent relocation, useful but risky for fragmentation.
--------------------
byte[] bytes = [1, 2, 3];
fixed (byte* pointerToFirst = bytes)
What is pinning?
Pattern where instances of an object can be created on demand
What is the factory pattern?