iOS Technical Interview Q&A Guide
iOS Technical Interview Q&A Guide Architecture Patterns CLEAN Architecture Q: What is CLEAN Architecture? A: CLEAN Architecture is a software design philosophy created by Robert C. Martin that separates an application into layers with clear boundaries. The core principle is that dependencies point inward - outer layers depend on inner layers, never the reverse. Q: What are the layers in CLEAN Architecture? A: From innermost to outermost: Entities : Core business objects and logic Use Cases/Interactors : Application-specific business rules Interface Adapters : Presenters, ViewModels, Controllers Frameworks & Drivers : UI, Database, Network, External APIs Q: Why use CLEAN Architecture? A: Benefits include testability (mock dependencies easily), maintainability (clear separation), flexibility (swap implementations), and independence from frameworks. It's ideal for large, complex applications with multiple developers. Q: What are the disadvantages of CLEAN Arch...