The Common Language Runtime, type system, assemblies, IL, JIT, tiered compilation, PGO, ReadyToRun, NativeAOT, trimming and assembly loading.
-
What is the Common Language Runtime (CLR), and which services does it give your .NET application?
The CLR as the execution engine of .NET: loading, JIT, type safety, GC, exceptions, threading and interop.
Mid-Level
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What is the Common Type System (CTS), and how does it let different .NET languages share types?
The CTS rules for value and reference types, members, inheritance and how language keywords map to CTS types.
Mid-Level
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What is the Common Language Specification (CLS), and when should you mark a library as CLSCompliant?
CLS rules for cross-language public APIs, the CLSCompliant attribute and the compiler warnings it enables.
Mid-Level
Theory
CLR Fundamentals
Β· π 2 follow-ups Β· π 1 real-world
-
What is a .NET assembly, and what does assembly identity (name, version, culture, public key token) mean in modern .NET?
Assemblies as the unit of deployment and versioning, their contents, identity and how modern .NET treats versions and strong names.
Mid-Level
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What are metadata and the manifest in a .NET assembly, and how can you read them without loading the assembly?
Metadata tables and tokens, the assembly manifest, type forwarding, and reading them with System.Reflection.Metadata.
Senior
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What is IL (Intermediate Language), and how do you read the IL the C# compiler produces?
CIL as a stack-based instruction set, common opcodes, callvirt, boxing in IL, and tools to inspect it.
Mid-Level
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
How does the JIT compiler work in .NET, and how can you see the machine code it generates?
Just-in-time compilation per method via stubs, what the JIT produces, and inspecting output with DOTNET_JitDisasm.
Senior
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
How does tiered compilation work in .NET, including Tier 0, Tier 1 and on-stack replacement (OSR)?
Tiered JIT: quick unoptimised code first, call counting, background Tier 1 recompilation, OSR for loops and the settings that control it.
Senior
Theory
CLR Fundamentals
Β· π 2 follow-ups Β· π 1 real-world
-
What is Dynamic PGO in .NET, and how does guarded devirtualisation make interface and virtual calls faster?
Profile-guided optimisation at run time: instrumentation, guarded devirtualisation, hot/cold layout and how traffic shape affects it.
Senior
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What is ReadyToRun (R2R), and when should you publish with it?
ReadyToRun precompilation with crossgen2: startup benefits, size cost, version resilience, composite images and how it interacts with tiering.
Mid-Level
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What is NativeAOT in .NET, what does it give you and what are its restrictions?
Native ahead-of-time compilation: startup and memory gains, required trimming, reflection and dynamic code limits, ASP.NET Core support and analysers.
Senior
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What does single-file publish do in .NET, and what breaks when you switch an app to it?
PublishSingleFile bundling, framework-dependent versus self-contained, native library extraction, Assembly.Location and IL3000.
Mid-Level
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
How does IL trimming work in .NET, and how do you make an app or library trim-safe?
ILLink trimming, TrimMode, trim warnings, DynamicallyAccessedMembers and RequiresUnreferencedCode, feature switches and IsTrimmable.
Senior
Theory
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
How does assembly loading work in .NET, and how do you debug a FileNotFoundException or FileLoadException for an assembly?
Lazy loading, the TPA list from deps.json, resolution order and events, common load exceptions and the tools to trace loading.
Senior
Debugging
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world
-
What is AssemblyLoadContext, and how do you build an unloadable plugin system with it?
Custom and collectible AssemblyLoadContext, AssemblyDependencyResolver, shared contracts and type identity, and diagnosing unload leaks.
Senior
Coding
CLR Fundamentals
Β· π 3 follow-ups Β· π 1 real-world