Теперь мне надо собеседовать iOS разработчиков. Срочно надо что-то почитать про разработку под неё.
ты начальник теперь?
Теперь мне надо собеседовать iOS разработчиков. Срочно надо что-то почитать про разработку под неё.
ты начальник теперь?
Спрашивай, чем iOS хуже, чем Andriod.
да чо там читать то. вопросы везде стандартные:) ARC, модификаторы у пропертей и retain cycle, GCD, можно ли добавить свойство в категорию, вопросы про устройство Core Data, вопросы про пуши, их разновидности и подводные камни. ну и стандартные опять же задачки + тестовое задание
про ARC aka Automatic Reference Count лучше, чем вот в этой книге не наисано нигде https://yadi.sk/i/KOrGho1cdXGNq Сабж раскрывает всю подноготную, описывает как работают блоки (closures), что такое autorelease pool. Очень много мякотки, книгу читать можно вообще не имея больших познаний в обжцэ. Там же показаны примеры как это делалось с MRC aka Manual Reference Counting.
Про retain cycle там же можно прочесть, если вкратце, то это ситуация, когда память никогда не освобождается из за удержания ссылки на самого себы (обычно)
кстати там же и про CGD смачно расписано. CGD - это Grand Central Dispatch, технология яббла, абстрагирующая разработчика от работы с потоками. Вводится понятие dispatch queue, разработчику достаточно сложить в эту очередь блок, а дальше libdispatch сам разрулит его выполнение в одном из освободившемся потоке из пула. Так же содержит ряд апи по синхронизации между очередями и ресурсами (timers, I/O и т.д.)
щас поищу где получше инфу почитать про Core Data, но могу точно сказать, что есть набор джентельмена для яббл разрабов:
https://developer.apple.com - как ни смешно звучит, тут тонна инфы. Примеры кода, справка, лично я предпочитаю смотреть лекции с wwdc ( https://developer.apple.com/videos ), у них охуительно преподносится инфа, я её усваиваю оттуда лучше, чем от сухих доков.
https://www.objc.io/issues/ - грамотно пишут на самые разные тематики, книги хорошие, но продают)
http://nshipster.com - тут просто огромное количество высококачественной инфы от Matt Thompson, создателя одной из самых известных либ для ябблоразрабов - AFNetworking
http://www.raywenderlich.com/ - тут туториалы для самых маленьких
http://digest.mbltdev.ru - рассылка с линками на интересные статьи и проеты
с wwdc настоятельно советую отсмотреть 4-5 лекций по autolayout, если не поленюсь - скину линки в хронологическом порядке, какое когда смотреть. люди, понимающие autolayout будут верстать быстро и эффективно. ретроградов, делающих всё кодом сразу шли нахуй, это путь в никуда
а, ещё https://realm.io/news - там тоже прорва статей и видосов
блин, что-то я забыл, что читал по Core Data. По идее, поискать у рея, на хабре, инфы по идее тонна, выжимку дать ща не смогу. не помню)
Могу точно сказать, что кроме чистого Core Data обязательно следует посмотреть MagicalRecord и mogenerator. ну и NSFetchedResultsController ясен хуй
По пушам лучше библии инфы нет. https://developer.apple.com...pplePushService.html
Если вкратце - пуши в целом одинаковы. Это json payload размером в 256 байт <= ios7, 2KB в ios8 и 4 KB в ios9. У пушей можно указать время протухания и приоритет.
Дьявол в мелочах. Есть пуши с alert - они показываются юзеру на локскрине. Есть silent пуши, которые прилетают в апп и дают квант времени до 30 секунд, чтобы успеть стартовать фоновую загрузку. А есть начиная с ios8 ещё voip пуши - по сути обычные пуши, но у них уже на иос8 был размер в 4 кб, они практически с гарантированной доставкой и ещё у них, в отличие от обычных пушей, есть такая особенность, иос запускает апп в неинтерактивном режиме, если апп был схлопнут - идеально для звонилочных аппов.
Кроме вышеозвученных кейсов есть ещё один, который сейчас мало кто знает, но сам факт. Есть у яббла такая технология, как CloudKit, можно на яблосерверах замутить облачную бд. Так вот, уведомления об изменениях также приходят через пуши. Но яббл тут схитрил капитально: пуши (не voip) ябблом провозглашаются, как негарантированный канал передачи. Любой пуш может быть проёбан по ряду причин. Чтобы не проебать последовательность изменений, яббл на стороне системы копит эти самые пуши, пока апп не запущен и складывает их в Subscription Collection. И кормит в приложение уже пачечкой потом.
что ещё. по языку - тут я тебе ссылок покидать не покидаю особо. Всё по крупицам обычно собирается с wwdc, stackoverflow, да статеек разных. Могу посоветовать ресурс, https://mikeash.com/pyblog/. Майк Эш - это гуру 80 уровня, у него можно читать и читать, каждый выпуск в блоге - это жемчужина.
Про что могу посоветовать почитать: что такое class cluster, чем NSNumber отличается от других, обычных классов. Что делает модификатор dynamic у свойства (очень полезно для понимания работы Core Data). Что такое method swizzling, когда он нужен. Что ещё полезного есть в рантайме. Как можно использовать objc_getAssociatedObject в категориях.
Ну ещё соискателей можно погонять по SOLID, MVC, MVVM, VIPER. И это всё ещё не учитывая swift =) Для swift есть библия (переведена на русский если что) и уже тонна ресурсов. Если соискатель не интересуется свифтом сейчас - есть повод задуматься. Вроде всё пока, что вспомнил написал)