Разница между frame и bounds; когда bounds ≠ 0?
Коротко
frame — положение и размер view в координатах superview. bounds — размер и начало координат внутри самой view. Обычно bounds.origin == (0, 0), а bounds.size == frame.size.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep