Lazy initialization (Отложенная инициализация)
Суть
Ленивая инициализация — значение создаётся не заранее, а при первом обращении. Это экономит время запуска и память, если ресурс дорогой (DateFormatter, NSCache, большой граф объектов) или может вообще не понадобиться. Частный случай — ленивое создание единственного экземпляра (Singleton).
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep