iOS_Guide
iOS_Guide copied to clipboard
Вопросы и ответы для собеседования на позицию iOS разработчика:
Вопросы и ответы для собеседования на позицию iOS разработчика:
======= General:
- Что такое
полиморфизм? - Что такое
инкапсуляция? Что такое нарушение инкапсуляции? - Чем
абстрактный классотличается отинтерфейса? - Что такое
SOLIDпринципы? - Расскажите о паттерне
MVC. Чем отличаетсяпассивнаямодель отактивной? - Какие еще
паттернызнаете?
UIKit:
- Цикл жизни ios-приложения. Какие бывают
состоянияу приложения? - Разница между свойствами
bounds и frameобъекта UIView? Понимание системы координат? - Цикл жизни
UIViewController? - Что такое
View(представление) и что такоеwindow? - Какого разрешение экранов iphon'ов, и в чем разница между
points (точками)ипикселями (pixels)? - Что означают
IBOutletиIBAction, для чего они нужны, и что значат для препроцессора? - Как работает
UITableView? - Как многопоточность работает с
UIKit? - Что можно сделать если клавиатура при появлении скрывает важную часть интерфейса?
- Почему мы должны
релизить IBOutlet'тыво viewDidUnload? - Что такое
awakeFromNeeb, в чем разница междуxib и nibфайлами? - Иерархия наследования UIButton.
- Что такое
responder chain? - Как работают
push нотификации?
Multithreading:
- Что такое
состояние гонки? - Что такое
deadlock? - Что такое
livelock? - Что такое
семафор (semafor)? - Что такое
мьютекс (mutex)? Асинхронностьvsмногопоточность. Чем отличаются?- Какие технологии в iOS возможно использовать для работы с потоками. Преимущества и недостатки.
- Как запустить поток? Что первым нужно сделать при запуске потока? (NSAutoreleasePool - пул автоосвобождения) Что такое runLoop, кодга он используется? (timers, nsurlconnection …)
- Чем отличается
dispatch_async от dispatch_sync? - Для чего при разработке под iOS использовать
POSIX-потоки?pthread_create(&thread, NULL, startTimer, (void *)t); - А чем реально
POSIX-потокилучше чемGCD или NSOperationQueue вместе с NSOperation? Приходилось ри реально использовать POSIX и как в этом были прюсы? Реально, просто интересно…Use POSIX calls if cross-platform portability is required. If you are writing networking code that runs exclusively in OS X and iOS, you should generally avoid POSIX networking calls, because they are harder to work with than higher-level APIs. However, if you are writing networking code that must be shared with other platforms, you can use the POSIX networking APIs so that you can use the same code everywhere.
Networking:
- Преимущества и недостатки
синхронного и асинхронногосоединения? - Что означает
http, tcp? - Какие различия между
HEAD, GET, POST, PUT? - Как загрузить что-то из интернета? В чем разница между
синхронными и асинхронными запросами? - Небольшое задание. Опишите как загрузить изображение из интернета и отобразить его в ImageView — все это должно происходить после нажатия кнопки.
- Архитектура REST
Базы данных, CoreData:
-
Составить SQL запрос на выборку всех проектов на которых сидит девелопер с id ==3. (
Developers:id,name; Projects:id,name; Developers&Projects:project_id,developer_id)? -
Зачем нужно делать
двустороннии связив таблицах? -
В каких случаях лучше использовать
SQLite, а в какихCore Data? -
~~Что такое
контекст (Managed object context)? Как происходятизменения в NSManagedObjectContext?~~ -
~~Что такое
Persistent store coordinator? Зачем нуженNSPersistentStoreCoordinator?~~ -
Что такое
Faultи зачем он нужен? -
Что таке
Fetched Propertyи особенности работы с ним по сравнению с обычной связью? -
Как использовать
СoreDataсовместно смногопоточностью? -
Что такое
NSManagedObjectId? Можем ли мы сохранить его на потом если приложение закроется? -
Какие
типы хранилищподдерживает CoreData? -
Что такое
ленивая загрузка (lazy loading)? Что ее связывает с CoreData? Опишите ситуация когда она может быть полезной?
CoreAnimation, CoreGraphics:
- Чем отличается
UIView от CALayer? - Какие типы
CALayerесть? - Чем отличается
UIView based Animation от Core Animation? - Тайминги в
CoreAnimation? - Что такое
backing store? - Чем отличаются
аффинные преобразования от трехмерных? - Нужно ли
ретейнить (посылать сообщение retain)делегат дляCAAnimation?
За список вопросов и часть ответов спасибо: