iOS разработка. Вопросы и ответы на собеседовании

iOS разработка. Вопросы и ответы на собеседовании

Оглавление База по iOS разработке Разница между Bounds и Frame Разница между Point (pt) и Pixel (px) Работа механизма сообщений Селектор Чем отличается include от import? KVO Notification Указатель isa Что такое CoreData? Типы хранилищ CoreData Что такое NSManagedObjectID Что такое NSPersistentStoreCoordinator? Особенности использования CoreData в разных потоках Разница между nil, Nil, NULL, NSNull Работа Push-Notification Тонкости Push-Notification Что такое контекст (NSManagedObjectContext)? Разница между dispatch_async и dispatch_sync KVC Что такое быстрое перечисление (fast enumeration)? Категория Расширение Протокол Неформальный протокол runLoop Memory Warning Зачем нужны атрибуты свойств? Атрибуты доступности свойства (readonly / readwrite) Атрибуты атомарности (atomic / nonatomic) Атрибуты владения (retain / strong / copy / assign / unsafe_unretained / weak) Что такое @synthesize в Objective-C? Что такое @synchronized? Что такое Dynamic Dispatch? Что такое Grand Central Dispatch (GCD)? Сильная / слабая ссылка Как работает асинхронность в iOS? ООП (Объектно-Ориентированное Программирование) Инкапсуляция Наследование Полиморфизм Конструктор Назначенный инициализатор Деструктор Виртуальный метод Общее Lazy Initialization Что такое семафор? Что такое Deadlock? Что такое Livelock? Что такое мьютекс? Чем отличаются синхронная и асинхронная задача? Что такое Enum? Проблема «читатели-писатели» […]

Формула качественного разработчика

Формула качественного разработчика

Как стать грамотным разрабом и писать хороший код? Берёшь и делаешь! TDD — начало написания программы. Всегда и для любого проекта пишем тесты на ожидаемый результат и на все крайние случаи. ВСЕГДА. Думай прежде, чем написать. Какой смысл в тыканье клавиш, если ты не представляешь себе в достаточной мере, что нужно написать? Не будешь же браться за карандаш, […]