| 1 | What are annotations in Java, and what purpose do they serve? Java › Annotations | Java | Annotations | Beginner |
| 2 | What do the built-in @Override, @Deprecated, and @SuppressWarnings annotations do? Java › Annotations | Java | Annotations | Beginner |
| 3 | How do you apply multiple different annotations to the same element, and does their order matter? Java › Annotations | Java | Annotations | Beginner |
| 4 | What are Java's meta-annotations (@Retention, @Target, @Documented, @Inherited), and what does each control? Java › Annotations | Java | Annotations | Intermediate |
| 5 | How do annotations with elements (parameters) work, including default values and the special `value` element? Java › Annotations | Java | Annotations | Intermediate |
| 6 | What is the difference between the @Nullable/@NonNull annotations (from libraries like JetBrains or JSR-305) and Java's built-in Optional type for expressing nullability? Java › Annotations | Java | Annotations | Intermediate |
| 7 | 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 |
| 8 | How do repeatable annotations work in Java (using @Repeatable), and what problem do they solve? Java › Annotations | Java | Annotations | Advanced |
| 9 | How do type annotations (introduced in Java 8, JSR 308) differ from traditional declaration annotations, and what new locations can they target? Java › Annotations | Java | Annotations | Advanced |
| 10 | How does a marker interface (an interface with no methods at all, like Serializable or Cloneable) work, and what's the modern alternative approach (annotations) for achieving similar 'tagging' purposes? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Advanced |
| 11 | How do nullable annotations affect API design? C# › Nullable Reference Types | C# | Nullable Reference Types | Intermediate |
| 12 | How do rest parameters work with type annotations, and what type must the annotation be? TypeScript › Function Types, Overloads & Optional/Default Parameters | TypeScript | Function Types, Overloads & Optional/Default Parameters | Intermediate |
| 13 | How do you share validation logic between a Blazor form (using EditForm and DataAnnotationsValidator) and a corresponding ASP.NET Core Web API's model validation? ASP.NET Core › Blazor Integration with ASP.NET Core | ASP.NET Core | Blazor Integration with ASP.NET Core | Intermediate |
| 14 | How do 'this' parameter annotations work in a function type, and what problem do they solve? TypeScript › Function Types, Overloads & Optional/Default Parameters | TypeScript | Function Types, Overloads & Optional/Default Parameters | Advanced |
| 15 | How do you validate configuration options at application startup to fail fast on misconfiguration, using ValidateDataAnnotations and ValidateOnStart? ASP.NET Core › Configuration & Options Pattern | ASP.NET Core | Configuration & Options Pattern | Advanced |
| 16 | How do you write a custom IValidateOptions<T> implementation for validation logic beyond what DataAnnotations attributes can express? ASP.NET Core › Configuration & Options Pattern | ASP.NET Core | Configuration & Options Pattern | Advanced |
| 17 | How would you use Lombok's @EqualsAndHashCode and @ToString annotations to eliminate equals()/hashCode()/toString() boilerplate, and what specific configuration options handle inheritance and field exclusion correctly? Java › equals(), hashCode() & toString() Contracts | Java | equals(), hashCode() & toString() Contracts | Advanced |
| 18 | How do you create a custom annotation in Java, and what role do @Retention and @Target play? Java › Annotations | Java | Annotations | Intermediate |
| 19 | 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 |
| 20 | What is the purpose of the @FunctionalInterface annotation, and is it required for an interface to actually be treated as a functional interface? Java › Annotations | Java | Annotations | Intermediate |
| 21 | 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 |
| 22 | How does Java's annotation processing API (javax.annotation.processing) enable compile-time code generation frameworks like Lombok or Dagger, and what are its key limitations? Java › Annotations | Java | Annotations | Advanced |
| 23 | 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 |
| 24 | What is the difference between a compile-time constant expression and a regular final variable, and why does this distinction matter for switch statement case labels and certain compiler optimizations? Java › Java Fundamentals: Syntax, Data Types & Operators | Java | Java Fundamentals: Syntax, Data Types & Operators | Intermediate |
| 25 | How would you use the 'requires static' directive to declare an optional, compile-time-only dependency that isn't required to be present at runtime? Java › Java Platform Module System (JPMS) | Java | Java Platform Module System (JPMS) | Advanced |