Clean Architecture vs VIPER — common ground and differences?
The point
Clean Architecture is a set of principles: concentric layers (Entities → Use Cases → Interface Adapters → Frameworks) and the Dependency Rule "dependencies only inward". It does not say how many classes a screen has or what they are called.
VIPER is a concrete module template for UIKit that implements those principles at the level of one screen: View, Interactor (use case), Presenter (interface adapter), Entity, Router. It is one way to "lay Clean out in files"; others are Clean Swift (VIP), Uber's RIBs, "Clean + MVVM + Coordinator".
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep