Logo
TGCATALOG
Catalog Collections Blog
Swift | Interview Questions

Swift | Interview Questions

Swift interview questions, tests and tasks for iOS developers in Telegram.

No ratings
626
29.10.2026
626
29.10.2026
No ratings
626
29.10.2026
Safe redirect via bot
О канале

Swift interview questions, tests and tasks for iOS developers in Telegram.

Подписчиков 2,145
Тематика Technology
Язык English
Ссылка t.me/easy_swift

We also recommend

Kekaton AI | Voiceover and voice clone
Kekaton AI | Voiceover and voice clone
Bot

AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.

Description

The channel is dedicated to preparing for Swift language interviews. It contains current questions, tests, practical tasks and vacancy information. Ideal for beginner and experienced iOS developers who want to refresh their knowledge and successfully pass interviews.

Latest posts

Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Что такое Notification Service Extension? Это расширение для iOS-приложений, которое позволяет модифицировать push-уведомления до их показа. Например, можно добавить изображение, вложение или изменить текст перед отображением пользователю. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Что может быть ключом и значением для dictionary? Словарь (Dictionary) представляет собой коллекцию пар ключ-значение, где каждый ключ должен быть уникальным. Чтобы использовать какой-либо тип в качестве ключа словаря, этот тип должен соответствовать протоколу Hashable. Это требование обусловлено тем, что Swift использует хеш-таблицу для хранения элементов словаря, что обеспечивает быстрый доступ к его элементам. 🚩Ключи Должны быть уникальными: Каждый ключ в словаре должен быть уникальным. При попытке добавить в словарь элемент с ключом, который уже существует в словаре, старое значение будет заменено на новое. Должны соответствовать протоколу Hashable: Это означает, что тип ключа должен иметь способность быть правильно хешированным. Большинство базовых типов Swift (например, String, Int, Double и др.) уже соответствуют Hashable, поэтому их можно использовать в качестве ключей без дополнительных усилий. 🚩Значения Могут быть любого типа: Значения в словаре могут быть любого типа, и они не обязаны соответствовать протоколу Hashable. Могут повторяться: Разные ключи могут иметь одинаковые значения. var personAge: [String: Int] = ["John": 30, "Sara": 25] 🚩Собственные типы в качестве ключей Вы также можете использовать собственные пользовательские типы в качестве ключей словаря, но для этого ваш тип должен соответствовать протоколу Hashable. Это включает в себя реализацию требуемых методов для сравнения на равенство (==) и хеширования (hash(into:)). struct Person: Hashable { var name: String var id: Int } var peopleDictionary: [Person: String] = [Person(name: "John", id: 1): "Engineer"] Ставь 👍 и забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Что лучше: closures или delegate? Зависит от ситуации. Делегаты лучше для долгоживущих однонаправленных связей (например, между контроллером и вью). Замыкания — для кратковременных, локальных задач (например, сетевые запросы, анимации). Делегаты лучше масштабируются, замыкания — лаконичнее. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Расскажи про две семантики в swift'е В Swift все типы данных делятся на два вида по семантике хранения и передачи: 🚩Значимая семантика (Value Semantics) Структуры (struct), перечисления (enum) и кортежи (tuple) передаются по значению, то есть каждое присваивание создаёт копию объекта. struct User { var name: String } var user1 = User(name: "Alice") var user2 = user1 // Копия! user2.name = "Bob" print(user1.name) // "Alice" (НЕ изменилось) print(user2.name) // "Bob" 🚩Ссылочная семантика (Reference Semantics) Классы (class), акторы (actor) и замыкания (closure) передаются по ссылке, то есть несколько переменных могут ссылаться на один и тот же объект. class User { var name: String init(name: String) { self.name = name } } var user1 = User(name: "Alice") var user2 = user1 // Передача ссылки! user2.name = "Bob" print(user1.name) // "Bob" (ИЗМЕНИЛОСЬ!) print(user2.name) // "Bob" Ставь 👍 и забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Что будет, если убрать опционал? 1. Удаление опционалов лишит язык возможности безопасно работать с отсутствием значений. 2. Программистам придётся вручную проверять наличие значений, что повысит вероятность ошибок и крашей. 3. Опционалы делают код более безопасным и читаемым, позволяя явно выражать ситуацию, когда значение может отсутствовать. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Какие есть фрейм ворк механизмы в айос для выполненной бэкраунд задач? В iOS для выполнения фоновых задач существуют несколько ключевых механизмов: 🚩Основные механизмы 🟠Grand Central Dispatch (GCD): Используется для асинхронного выполнения задач на глобальных или пользовательских очередях. DispatchQueue.global(qos: .background).async { // Фоновая задача } 🟠OperationQueue: Высокоуровневый API для управления очередями операций с возможностью указания зависимостей. let queue = OperationQueue() queue.addOperation { // Фоновая операция } 🟠Background Fetch: Позволяет приложению периодически загружать новые данные в фоновом режиме. func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { // Фоновое обновление данных completionHandler(.newData) } 🟠BGTaskScheduler: Новый фреймворк для планирования и выполнения фоновых задач. import BackgroundTasks func scheduleBackgroundTask() { let request = BGAppRefreshTaskRequest(identifier: "com.example.app.refresh") request.earliestBeginDate = Date(timeIntervalSinceNow: 15 * 60) try? BGTaskScheduler.shared.submit(request) } 🟠URLSession Background Transfers: Выполнение загрузки и выгрузки данных в фоновом режиме. let configuration = URLSessionConfiguration.background(withIdentifier: "com.example.app.background") let session = URLSession(configuration: configuration) let url = URL(string: "Ссылка скрыта let task = session.downloadTask(with: url) task.resume() Ставь 👍 и забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Чем отличается set от dictionary? Set хранит уникальные элементы без порядка, а Dictionary — пары ключ-значение, где ключи уникальны. Set быстрее для операций проверки принадлежности и поиска. Dictionary удобен для поиска по ключу и хранения дополнительных данных для каждого ключа. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Что будет, если открыть несколько экранов и сделать dismiss последнего? Когда вы открываете несколько экранов (UIViewController) в iOS, они обычно создают стек представлений (View Controller Stack). В зависимости от способа открытия экранов (модально или через навигационный стек), поведение dismiss будет разным. 🚩Модальное представление (`present`) Если экраны открывались модально (present), то dismiss на последнем экране просто закроет только этот экран, и управление вернётся к предыдущему. let newVC = UIViewController() present(newVC, animated: true) Позже вызываем: dismiss(animated: true) Если вызвать dismiss на первом модально представленном контроллере, все последующие модальные контроллеры закроются сразу. // Открываем два экрана последовательно let vc1 = UIViewController() let vc2 = UIViewController() present(vc1, animated: true) vc1.present(vc2, animated: true) Если вызвать dismiss на vc2: vc2.dismiss(animated: true) Если вызвать dismiss на vc1: vc1.dismiss(animated: true) 🚩Навигационный стек (`push`) Если экраны открывались через UINavigationController (pushViewController), то dismiss не работает для удаления последнего экрана. Нужно использовать popViewController. let vc1 = UIViewController() let vc2 = UIViewController() navigationController?.pushViewController(vc1, animated: true) navigationController?.pushViewController(vc2, animated: true) Теперь если мы вызовем: vc2.dismiss(animated: true) Правильный способ закрытия последнего экрана в UINavigationController: navigationController?.popViewController(animated: true) Если вы хотите закрыть весь стек экранов, используйте: navigationController?.popToRootViewController(animated: true) Ставь 👍 и забирай 📚 Базу знаний
Swift | Interview Questions
Swift | Interview Questions
🔒Открыть пост
и посмотреть медиа
🤔 Что происходит в системе, когда мы тапаем по экрану? Когда пользователь касается экрана, происходит следующий процесс: 1. Аппаратный слой (дисплей) фиксирует касание и передаёт его в iOS. 2. Система генерирует объект события (UIEvent, UITouch). 3. Событие передаётся в главное окно (UIWindow) и далее — вью-контроллерам и иерархии UIView. 4. Система запускает hit-testing — определяет, какая вьюшка находится под точкой касания. 5. Вызываются методы: - hitTest(_:with:) — определяет целевую вью. - touchesBegan(_:with:), touchesMoved, touchesEnded — передают событие в конкретную вью. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Swift | Interview Questions
FAQ

Open Swift | Interview Questions in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Swift | Interview Questions directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Swift | Interview Questions.

The exact features depend on the resource. Open Swift | Interview Questions to see its current functions, content and access conditions.
Subscriber dynamics
+-0.7% last 30 days
Current
2,145
Month ago
2,161
Average growth
+-1 / day
Updated
1 hour ago

Reviews for channel Swift | Interview Questions

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login