80 вопросов
Практика
Какие различия между ключевыми словами `some` и `any` в Swift, и когда нужно использовать каждое из них?
Можешь объяснить, что такое атрибут `@Sendable` и описать, как он обеспечивает потокобезопасное использование замыканий через границы параллелизма в Swift?
Как бы ты реализовал пагинацию в прокручиваемом списке, чтобы загружать дополнительные данные по мере приближения пользователя к концу контента?
Какой у тебя подход к реализации и управлению feature flags в iOS приложениях, и как ты обеспечиваешь их тестируемость, maintainability и поддержку постепенного развертывания?
Можешь ли ты объяснить назначение WidgetKit и описать, как он работает для создания виджетов на главном экране iOS приложений?
Какие стратегии и механизмы ты бы использовал для реализации in-memory кэширования сетевых ответов в Swift, и как бы ты управлял lifecycle кэша и политиками expiration?
Как работает property wrapper `@Published` в фреймворке Combine от Apple, и какую роль он играет в инициировании обновлений SwiftUI представлений внутри классов `ObservableObject`?
Можешь объяснить назначение `NSCache` в Swift и чем она отличается от обычного `Dictionary` с точки зрения управления памятью и потокобезопасности?
Можешь объяснить различия между атрибутами свойств `copy` и `retain` в Objective-C и как эти концепции связаны с управлением памятью в Swift?
Можешь объяснить, что такое блоки в Objective-C и как они функционируют в качестве замыканий в этом языке?
Можешь объяснить ключевые различия между категориями и расширениями в Objective-C, особенно в отношении их возможностей для добавления методов и свойств к существующим классам?
Можешь объяснить назначение директивы `@synthesize` в Objective-C и как её функциональность эволюционировала в современных версиях языка?
Какова цель ключевого слова `@dynamic` в Objective-C и как оно влияет на то, как компилятор обрабатывает accessors свойств?
Можешь ли ты объяснить назначение и функциональность NSFetchedResultsController, и как он облегчает отображение результатов Core Data в table view и collection view?
Какие стратегии ты используешь, чтобы обеспечить совместимость своих Swift приложений со старыми версиями iOS, одновременно используя возможности новых API?
Какие основные соображения производительности и реализации нужно учитывать при загрузке и отображении удаленных изображений в UITableView на Swift?
Можешь объяснить различия между atomic и non-atomic свойствами в Swift и обсудить их влияние на потокобезопасность и производительность?
Какая разница в производительности между итерацией по NSArray и NSSet в Swift, и когда нужно использовать каждый из них?
Как работает оператор `Publishers.Zip` в Swift и какие основные варианты использования у него для комбинирования нескольких асинхронных операций?
Какие архитектурные паттерны и принципы проектирования ты рекомендуешь для создания масштабируемого iOS приложения и как бы ты реализовал их с помощью Swift?
В iOS-разработке чем отличаются frame rate и refresh rate, и почему важно синхронизировать их с помощью CADisplayLink?
Какова роль объектов CALayer в разработке для iOS и как их можно использовать для улучшения визуального контента и анимаций?
Можешь объяснить, в какой момент вызываются `viewWillAppear` и `viewDidAppear` в жизненном цикле представления iOS и какие практические случаи использования для каждого из них?
Какой смысл атрибута `@objc` в Swift, и в каких ситуациях его необходимо использовать?
Можешь объяснить, что такое Swift packages и описать механизмы, с помощью которых Swift Package Manager управляет зависимостями, собирает библиотеки и разрешает версионирование?
Как ты реализовал бы поддержку тёмной темы в Swift/SwiftUI приложении, включая управление цветами и определение текущего оформления?
Можешь объяснить, для чего нужен `DispatchWorkItem` в Swift и чем он отличается от простых closures при выполнении на очередях?
Можешь объяснить, что такое Swift macros, включая их типы, ключевые особенности и привести примеры того, как они используются в современной разработке на Swift?
Какие лучшие практики для реализации deep linking в iOS-приложениях, и как ты обрабатываешь URL routing, чтобы навигировать пользователей на конкретные экраны в своём приложении?
Можешь ли ты объяснить назначение протоколов `Equatable` и `Hashable` в Swift и описать, чем они отличаются друг от друга?
Как работают проекции property wrapper в Swift, и для чего нужен синтаксис с префиксом `$`?
Как ты можешь реализовать паттерн Coordinator для интеграции UIKit компонентов в SwiftUI приложение?
Какие стратегии ты используешь для оптимизации времени запуска приложения и производительности при старте iOS-приложений, и как ты измеряешь, соответствуют ли твои улучшения целевым показателям производительности?
Какова цель протокола `Identifiable` в Swift и как он повышает эффективность рендеринга представлений в SwiftUI?
Можешь объяснить, как работает `DispatchSemaphore` в Swift и описать основные варианты использования для управления одновременным доступом к ресурсам?
Можешь объяснить ключевые различия между функциями высшего порядка `map`, `flatMap` и `compactMap` в Swift, включая их основные случаи использования и то, как они работают с вложенными коллекциями и опциональными значениями?
Какая цель атрибута `@discardableResult` в Swift и в каких сценариях его нужно применять к функциям?
Какие лучшие практики и техники для управления видимостью клавиатуры и взаимодействием пользователя в iOS приложениях, включая обработку уведомлений, поведение scroll view и управление фокусом?
Как работает `withAnimation` в SwiftUI и какую роль она играет в анимировании переходов представлений при изменении состояния?
Как SwiftUI различает представления и управляет их идентификацией в иерархии представлений, и какие механизмы доступны для установления явной идентификации представлений?
Как протокол `PreferenceKey` в SwiftUI облегчает восходящую коммуникацию от дочерних представлений к родительским, и каковы его основные случаи использования?
Можешь ли ты объяснить назначение и варианты использования `GeometryReader` и `GeometryProxy` в SwiftUI, а также какие моменты нужно учитывать при их реализации?
Какие шаги нужно выполнить, чтобы создать кастомный layout в SwiftUI для iOS 16 и более новых версий?
Можешь объяснить, что такое `@AppStorage` property wrapper в SwiftUI, включая его основное назначение, принцип работы и какие типы данных он поддерживает?
Какова цель атрибута `@frozen` в Swift и как он влияет на оптимизацию компилятора и эволюцию библиотеки?
Можешь объяснить, что такое type subscripts в Swift и чем они отличаются от instance subscripts?
Какова цель паблишера `Deferred` в Swift Combine, и когда бы ты его использовал?
Как ты управляешь и конфигурируешь настройки приложения для разных сред развёртывания (development, staging и production) в Swift/iOS проекте?
Можешь объяснить предназначение и поведение функции `withCheckedContinuation` в Swift, включая то, как она работает с callback-based API и что означает обозначение "checked"?
Как работают associated values в Swift enums, и какие основные сценарии использования для их реализации?
Какие стратегии ты используешь для управления и отображения ошибок в SwiftUI приложениях, и как ты реализуешь обработку ошибок в разных контекстах, таких как синхронные операции, асинхронные задачи и приложения с несколькими представлениями?
Как ты бы объяснил паттерн Observer в iOS разработке, и какие различные механизмы доступны для его реализации в Swift?
Можешь объяснить, что такое diffable data source в iOS разработке и описать, как он управляет обновлениями данных в UITableView и UICollectionView?
Какие лучшие практики и техники для реализации функции поиска в Swift iOS приложении, включая оптимизацию производительности и учёт пользовательского опыта?
Можешь объяснить три различных механизма dispatch методов в Swift и описать, как каждый из них влияет на производительность во время выполнения и оптимизацию кода?
В Swift, что такое атрибут `@inlinable` и в каких случаях его уместно применять к функциям?
Можешь описать твой подход к управлению версионированием модели данных и выполнению миграций в Core Data, включая как легковесные, так и тяжеловесные стратегии миграции?
Можешь объяснить, что такое `URLSessionConfiguration` и описать различия между его тремя основными типами?
Как работают task-local значения в модели concurrency Swift, и каковы их основные случаи использования?
Как работает `AsyncStream` в Swift и какие проблемы он решает при преобразовании callback-based или delegate-based API в async sequences?
Как атрибут `@escaping` влияет на управление памятью в Swift, и какие стратегии нужно использовать, чтобы предотвратить retain cycles?
Какую роль играет оператор `defer` в Swift и когда ты бы его использовал в своём коде?
Как функция условного соответствия протоколам (conditional conformance) в Swift позволяет обобщённым типам условно принимать требования протоколов в зависимости от их параметров типа?
Объясни назначение и примеры использования типа `Never` в Swift, особенно в контексте обработки ошибок и фреймворка Combine?
Какие стратегии и техники ты используешь для эффективного управления и отображения больших объёмов данных в UITableView, сохраняя при этом оптимальную производительность?
Можешь объяснить, что такое App Thinning от Apple и описать три основных компонента, которые позволяют ему уменьшить размер скачивания и установки приложения?
Какая разница во времени выполнения и функциональности между наблюдателями свойств `willSet` и `didSet` в Swift?
Можешь объяснить, что такое экзистенциальные типы в Swift, включая их назначение, влияние на производительность и синтаксические требования, введённые в Swift 5.6?
Какие лучшие практики следует использовать при реализации OAuth и token-based authentication в Swift приложениях?
Чем фреймворк `Observation` в iOS 17 отличается от `ObservableObject` с точки зрения отслеживания изменений и производительности обновления представлений?
Можешь объяснить жизненный цикл приложения на основе scenes, который был введён в iOS 13, включая роли `UISceneDelegate` и `UIApplicationDelegate` в управлении экземплярами UI приложения?
Опиши свой подход к реализации многоуровневой архитектуры кеширования для iOS приложения, включая слои памяти и дискового хранилища, политики вытеснения кеша, стратегии инвалидации и вопросы потокобезопасности.
Какова цель аннотации @MainActor в Swift и почему она важна для разработки пользовательского интерфейса?
Можешь объяснить, для чего нужен `CodingKeys` enum в `Codable` протоколе Swift и описать сценарии, в которых ты бы его использовал?
Какие стратегии и API ты используешь для реализации сохранения и восстановления состояния в iOS приложениях, и как ты решаешь, какую информацию о состоянии сохранять?
Какие назначение у макросов `@Attribute` и `@Relationship` в SwiftData, и чем они отличаются в своей функциональности?
Какие последствия форс-анврэппинга nil optional в Swift, и когда уместно использовать force-unwrapping в production коде?
В Swift, как ты интегрируешь тип Result с паттернами async/await, и в каких случаях Result всё ещё предпочтительнее нативной обработки ошибок?
Как работает ключевое слово `nonisolated` в модели конкурентности Swift, и каковы его основные случаи использования?
Какие стратегии ты используешь для оптимизации производительности сборки в Xcode, особенно когда работаешь с Swift проектами?