| 1 | What is a design pattern in software development, and why are they valuable for PHP developers to learn? PHP › Design Patterns in PHP | PHP | Design Patterns in PHP | Beginner |
| 2 | How can the SOLID principles guide the appropriate application of design patterns, and what risks arise from applying patterns without genuinely understanding the underlying problem they solve? PHP › Design Patterns in PHP | PHP | Design Patterns in PHP | Advanced |
| 3 | How does the Observer pattern let objects react automatically to events occurring in another object, and where is this pattern commonly used in PHP applications? PHP › Design Patterns in PHP | PHP | Design Patterns in PHP | Intermediate |
| 4 | What is the Singleton pattern, and what are its intended use cases along with its commonly cited drawbacks? PHP › Design Patterns in PHP | PHP | Design Patterns in PHP | Beginner |
| 5 | How does the Repository pattern abstract data access logic away from an application's business logic, and what benefits does this separation provide? PHP › Design Patterns in PHP | PHP | Design Patterns in PHP | Advanced |
| 6 | How does the Strategy pattern let you define a family of interchangeable algorithms and select one at runtime? PHP › Design Patterns in PHP | PHP | Design Patterns in PHP | Intermediate |
| 7 | How does the Factory pattern help decouple object creation logic from the code that actually uses those objects? PHP › Design Patterns in PHP | PHP | Design Patterns in PHP | Intermediate |
| 8 | How do you merge, combine, and compare arrays in PHP, and what are the subtle differences between array_merge and the plus operator? PHP › Arrays in PHP | PHP | Arrays in PHP | Advanced |
| 9 | How does the cache stampede problem occur, and what strategies help prevent it in a high traffic PHP application? PHP › Caching Strategies in PHP | PHP | Caching Strategies in PHP | Advanced |
| 10 | How should a large, complex PHP application evolve its architecture beyond basic MVC to maintain organization and testability as the codebase and team grow significantly? PHP › MVC Architecture in PHP | PHP | MVC Architecture in PHP | Advanced |
| 11 | In a modern PHP application that primarily uses JSON for its APIs, when might you still legitimately need to work with XML, and what strategies help cleanly integrate XML handling into an otherwise JSON centric codebase? PHP › XML Handling in PHP | PHP | XML Handling in PHP | Advanced |
| 12 | What is the role of a Controller in the MVC pattern, and what responsibilities should typically be kept out of a controller to maintain good separation of concerns? PHP › MVC Architecture in PHP | PHP | MVC Architecture in PHP | Beginner |
| 13 | How does cache invalidation work, and why is deciding when to clear a cache often considered one of the harder problems in caching? PHP › Caching Strategies in PHP | PHP | Caching Strategies in PHP | Intermediate |
| 14 | How do Models in MVC represent both data structure and business logic, and how does this differ from a Model being purely a simple database representation? PHP › MVC Architecture in PHP | PHP | MVC Architecture in PHP | Intermediate |
| 15 | What is the arrange act assert pattern, and how does structuring a test around these three distinct steps make tests clearer and easier to understand? PHP › Unit Testing with PHPUnit | PHP | Unit Testing with PHPUnit | Intermediate |
| 16 | What is test coverage, and why should achieving a high test coverage percentage not necessarily be treated as the sole ultimate goal of a testing strategy? PHP › Unit Testing with PHPUnit | PHP | Unit Testing with PHPUnit | Intermediate |
| 17 | How should an application handle email sending failures gracefully, and why is sending emails asynchronously through a queue often preferred over sending them directly during a web request? PHP › Email Sending in PHP (PHPMailer & SMTP) | PHP | Email Sending in PHP (PHPMailer & SMTP) | Advanced |
| 18 | How does the concept of a Service Layer complement traditional MVC by providing an additional place for complex business logic that spans multiple models? PHP › MVC Architecture in PHP | PHP | MVC Architecture in PHP | Advanced |
| 19 | How does test driven development, commonly abbreviated as TDD, change the typical order in which tests and actual implementation code are written, and what benefits does this workflow claim to offer? PHP › Unit Testing with PHPUnit | PHP | Unit Testing with PHPUnit | Advanced |
| 20 | What is an abstract class in PHP, and how does it differ from a regular class and from an interface? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Beginner |
| 21 | How do you create and throw a custom exception class in PHP, and why would you define your own exception types instead of using PHP's built in generic Exception class? PHP › Error & Exception Handling | PHP | Error & Exception Handling | Intermediate |
| 22 | How do you decide whether to use an interface or an abstract class when designing a set of related classes that share common behavior? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Intermediate |
| 23 | How does PHP's type system use interfaces to enable polymorphism, allowing different concrete classes to be used interchangeably wherever the interface type is expected? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Intermediate |
| 24 | Can an interface extend another interface in PHP, and how does this let you build more specific contracts on top of a more general one? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Intermediate |
| 25 | What are PHP attributes introduced in PHP 8, and how do they provide a structured, native alternative to the older convention of using docblock comments for metadata? PHP › PHP 8 Features (Attributes, Enums, Match, Nullsafe Operator) | PHP | PHP 8 Features (Attributes, Enums, Match, Nullsafe Operator) | Intermediate |
| 26 | How does the dependency inversion principle relate to dependency injection, and how does designing around abstractions rather than concrete classes improve long term maintainability? PHP › Dependency Injection & Service Containers | PHP | Dependency Injection & Service Containers | Advanced |
| 27 | How should a large scale application design its file upload architecture to handle high volumes of uploads reliably, including virus scanning and offloading storage to a dedicated service? PHP › File Upload Handling | PHP | File Upload Handling | Advanced |
| 28 | How does the Liskov Substitution Principle relate to properly designing interfaces and abstract classes so that subclasses can genuinely be substituted for their parent type without breaking expected behavior? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Advanced |
| 29 | How can PHP's interface based type hinting combined with abstract classes support building a genuinely extensible plugin architecture within an application? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Advanced |
| 30 | How can PHP 8's readonly properties, enums, and first class callable syntax be combined together to build more robust, immutable, and expressive domain models compared to earlier PHP versions? PHP › PHP 8 Features (Attributes, Enums, Match, Nullsafe Operator) | PHP | PHP 8 Features (Attributes, Enums, Match, Nullsafe Operator) | Advanced |
| 31 | How do custom PHPStan or Psalm rules and extensions let a team enforce their own project specific coding standards and catch domain specific mistakes beyond the tool's built in checks? PHP › Static Analysis (PHPStan & Psalm) | PHP | Static Analysis (PHPStan & Psalm) | Advanced |
| 32 | What are WordPress hooks, specifically actions and filters, and how do they let plugins and themes modify or extend WordPress's default behavior? PHP › WordPress Plugin & Theme Development | PHP | WordPress Plugin & Theme Development | Beginner |
| 33 | How do you bind an interface to a specific concrete implementation within a service container, and why is this a common and valuable pattern? PHP › Dependency Injection & Service Containers | PHP | Dependency Injection & Service Containers | Intermediate |
| 34 | How do you organize namespaces effectively in a larger application to reflect logical groupings such as models, services, and controllers? PHP › Namespaces & Autoloading | PHP | Namespaces & Autoloading | Intermediate |
| 35 | How can overuse of a service container, sometimes called the service locator anti pattern, actually harm code quality despite the container itself being a useful tool? PHP › Dependency Injection & Service Containers | PHP | Dependency Injection & Service Containers | Advanced |
| 36 | What are the four core principles of object oriented programming, and how does PHP support each of them? PHP › OOP | PHP | OOP | Beginner |
| 37 | What is the difference between a static property or method and an instance property or method in PHP? PHP › OOP | PHP | OOP | Intermediate |
| 38 | How do first class callable syntax and higher order functions in modern PHP support building flexible, composable, functional style code? PHP › Closures & Anonymous Functions | PHP | Closures & Anonymous Functions | Advanced |
| 39 | What are Blade components and Twig macros, and how do they help you create reusable pieces of template markup that can be used consistently across many different pages? PHP › Template Engines (Blade & Twig) | PHP | Template Engines (Blade & Twig) | Intermediate |
| 40 | What is the difference between DateTime and DateTimeImmutable, and why might a codebase deliberately prefer the immutable version despite the extra verbosity? PHP › Date & Time Handling | PHP | Date & Time Handling | Advanced |
| 41 | Why would a developer choose to use a trait instead of simply duplicating the same method directly into multiple different classes? PHP › Traits | PHP | Traits | Beginner |
| 42 | How can closures be used to implement simple dependency injection or callback based customization within a class? PHP › Closures & Anonymous Functions | PHP | Closures & Anonymous Functions | Intermediate |
| 43 | What does the __call magic method do, and how can it be used to implement dynamic method handling for methods that are not explicitly defined on a class? PHP › Magic Methods | PHP | Magic Methods | Intermediate |
| 44 | What are Symfony events and event listeners, and how do they let different parts of an application react to something happening without tightly coupling that logic together? PHP › Symfony Framework Essentials | PHP | Symfony Framework Essentials | Intermediate |
| 45 | What are the risks of overusing magic methods in a codebase, and why do many experienced developers recommend using them sparingly and deliberately? PHP › Magic Methods | PHP | Magic Methods | Advanced |
| 46 | How does late static binding, using the static keyword instead of self, allow inherited static methods to correctly reference the actual calling child class rather than the parent class where the method was originally defined? PHP › OOP | PHP | OOP | Advanced |
| 47 | How do traits compare to interfaces combined with composition, in terms of achieving code reuse, and when might one approach be architecturally preferable to the other? PHP › Traits | PHP | Traits | Advanced |
| 48 | What are some common pitfalls or downsides of overusing traits extensively throughout a large codebase, particularly regarding code readability and maintainability? PHP › Traits | PHP | Traits | Advanced |