1. Знание Objective-C на уровне «неплохо»: чем класс от объекта отличается, что такое селектор, чем отличается от функции, что такое «isa».
2. Коллекции: массив, словарь, сет, mutable/immutable.
3. RunLoop: что это и с чем его едят.
4. retain/release/autorelease и работа с памятью
5. Основы UIKit: как создать программно кнопку, как в IB нарисовать простой интерфейс, аутлеты и экшны, кастомная отрисовка кнопки.
6. Базовые знания C и желательно C++.
7. Базовые алгоритмы: двоичное дерево с добавлением и поиском, сортировки.
В принципе, на джуниора этого обычно достаточно.