Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save svd-zp/a60f443cae216b1011352d2e6371a6e7 to your computer and use it in GitHub Desktop.

Select an option

Save svd-zp/a60f443cae216b1011352d2e6371a6e7 to your computer and use it in GitHub Desktop.
Вопросы на собеседование iOS разработчика.

Вопросы на собеседование iOS разработчика (дополненное издание):

General:

  • Чем абстрактный класс отличается от интерфейса?
  • Расскажите о паттерне MVC. Чем отличается пассивная модель от активной?
  • Реализация синглтона (Singleton) в ARC и в non-ARC?
  • Какие еще паттерны знаете?
  • Паттерны порождающие, создания объектов (Creational): Singleton, Abstarct Factory?
  • Паттерны структурные (Structural): MVC, Decorator(Categories, Delegation), Adapter(Delegation), Facade, Composite?
  • Патерны поведения и взаимодействия объектов (Behavioral): Observer(Notification, KVO), Memento(Archiving+UserDefaults), Chain of Recponsibility, Command(Target-Action mechanism)?

Objective-C, Foundation:

  • Какие существуют root классы в iOS? Для чего нужны root классы?
  • Что такое указатель isa? Для чего он нужен?
  • Что происходит с методом после того, как он не нашелся в объекте класса, которому его вызвали?
  • Чем категория отличается от расширения (extension, наименованная категория)? категория vs. extension?
  • Можно ли добавить ivar в категорию?
  • Когда лучше использовать категорию, а когда наследование? категория vs. наследование?
  • Какая разница м/у использование делегатов (delegation) и нотификейшенов (notification)?
  • Чем отличается NSSet от NSArray? Какие операции происходят быстро в NSSet и какае в NSArray?
  • Формальный и неформальный (informal) протокол?
  • Есть ли приватные и защищенные методы в Objective-C?
  • Как имитировать множественное наследование?
  • Что такое KVO? Когда его нужно использовать?
  • Что такое KVC? Когда его нужно использовать?
  • Что такое designated initializer?
  • Что не так с этим кодом? Зачем нужны инициализаторы?
[[[SomeClass alloc] init] init];

Memory Management:

Networking

Multithreading:

UIKit:

CoreData

CoreAnimation, CoreGraphics:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment