| 1 | What is reflection in C#, and what are its most common practical uses and performance trade-offs? C# › Attributes & Reflection | C# | Attributes & Reflection | Intermediate |
| 2 | What is reflection, and what basic information can you retrieve from a Type object at runtime? C# › Attributes & Reflection | C# | Attributes & Reflection | Beginner |
| 3 | How do you use reflection to read a custom attribute's values off a property at runtime? C# › Attributes & Reflection | C# | Attributes & Reflection | Intermediate |
| 4 | How do you dynamically create an instance of a type and invoke a method on it using reflection, when the type isn't known at compile time? C# › Attributes & Reflection | C# | Attributes & Reflection | Intermediate |
| 5 | How does the .NET dependency injection container and ASP.NET Core's model binding use reflection and attributes together under the hood? C# › Attributes & Reflection | C# | Attributes & Reflection | Advanced |
| 6 | How would you write a simple reflection-based object mapper that copies matching property values from one object to another of a different type? C# › Attributes & Reflection | C# | Attributes & Reflection | Advanced |
| 7 | How do you use reflection to discover all types in an assembly that implement a specific interface, useful for plugin discovery? C# › Attributes & Reflection | C# | Attributes & Reflection | Advanced |
| 8 | Why is reflection generally slower than direct code, and what techniques (like caching or compiled expressions) mitigate this cost? C# › Attributes & Reflection | C# | Attributes & Reflection | Advanced |
| 9 | How would you use System.Reflection.Emit or source generators as faster, more modern alternatives to runtime reflection for code generation scenarios? C# › Attributes & Reflection | C# | Attributes & Reflection | Advanced |
| 10 | What is the difference between compile-time annotation processing (via javax.annotation.processing.Processor) and runtime reflection-based annotation reading? Java › Annotations | Java | Annotations | Intermediate |
| 11 | How would you use a Class<T> token parameter to work around type erasure when a generic method genuinely needs runtime access to the actual type argument, such as for deserialization or reflection-based instantiation? Java › Generics | Java | Generics | Intermediate |
| 12 | What is the difference between 'exports' and 'opens' in a module-info.java file, and why does reflection-heavy code (like many dependency injection or serialization frameworks) specifically require the latter? Java › Java Platform Module System (JPMS) | Java | Java Platform Module System (JPMS) | Intermediate |
| 13 | How would you read custom annotations at runtime using reflection to implement annotation-driven behavior, such as a simple dependency injection or validation framework? Java › Annotations | Java | Annotations | Advanced |
| 14 | How would you implement annotation-based validation (similar to Bean Validation's @NotNull, @Size) using a custom annotation and a reflection-based validator? Java › Annotations | Java | Annotations | Advanced |
| 15 | How would you design a custom annotation-driven caching mechanism (similar to Spring's @Cacheable) using a dynamic proxy combined with reflection? Java › Annotations | Java | Annotations | Advanced |
| 16 | How does JPMS's strong encapsulation interact with reflection-heavy frameworks and libraries that predate the module system, and what specific JVM flags (like --add-opens) exist as an escape hatch for cases where proper module declarations aren't feasible? Java › Java Platform Module System (JPMS) | Java | Java Platform Module System (JPMS) | Advanced |
| 17 | How do you enable and use gRPC reflection for service discovery and debugging tools like grpcurl or Postman? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 18 | How can you convert an enum to a string (reflection limitations)? C++ › Enums & Enum Classes | C++ | Enums & Enum Classes | Advanced |
| 19 | How does reflection allow inspecting an assembly's types and metadata at runtime, and what are common uses? .NET › Assemblies & NuGet | .NET | Assemblies & NuGet | Advanced |
| 20 | What is an attribute in C#, and how do you apply one to a class or method? C# › Attributes & Reflection | C# | Attributes & Reflection | Beginner |
| 21 | How do you create a custom attribute class, and what does AttributeUsage control? C# › Attributes & Reflection | C# | Attributes & Reflection | Intermediate |
| 22 | What are annotations in Java, and what purpose do they serve? Java › Annotations | Java | Annotations | Beginner |
| 23 | What is the role of the ClassLoader in the JVM, and what are the three built-in bootstrap/platform/application class loaders? Java › Class Loading & Bytecode Verification | Java | Class Loading & Bytecode Verification | Beginner |
| 24 | How do you programmatically load a class by its fully-qualified name at runtime using Class.forName(), and what is a common real-world use case for this? Java › Class Loading & Bytecode Verification | Java | Class Loading & Bytecode Verification | Beginner |
| 25 | How do you create a 'flags' enum that supports combining multiple values using bitwise operations? C# › Enums & Flags | C# | Enums & Flags | Intermediate |
| 26 | How do you create a custom annotation in Java, and what role do @Retention and @Target play? Java › Annotations | Java | Annotations | Intermediate |
| 27 | What are Java's meta-annotations (@Retention, @Target, @Documented, @Inherited), and what does each control? Java › Annotations | Java | Annotations | Intermediate |
| 28 | How does the Java Platform Module System (JPMS, introduced in Java 9) change class loading and encapsulation compared to the traditional classpath model? Java › Class Loading & Bytecode Verification | Java | Class Loading & Bytecode Verification | Intermediate |
| 29 | What is type erasure, and how does it explain why generic type information is unavailable at runtime (e.g., why you can't do `if (obj instanceof List<String>)`)? Java › Generics | Java | Generics | Intermediate |
| 30 | How do generic attributes (introduced in C# 11) work, and what limitation did they finally remove compared to older attribute usage patterns? C# › Generics | C# | Generics | Advanced |
| 31 | How does the 'file' access modifier (C# 11) create a type visible ONLY within its own source file, and what problem does this solve for source generators? C# › Modern C# Features (Global Usings, File-Scoped Namespaces, Top-Level Statements) | C# | Modern C# Features (Global Usings, File-Scoped Namespaces, Top-Level Statements) | Advanced |
| 32 | How do repeatable annotations work in Java (using @Repeatable), and what problem do they solve? Java › Annotations | Java | Annotations | Advanced |