Logo
TGCATALOG
Каталог Подборки Блог
Swift | Вопросы собесов

Swift | Вопросы собесов

Вопросы для собеседований по Swift, тесты и задачи для iOS-разработчиков в Telegram.

Нет оценок
47
10.09.2026
47
10.09.2026
Нет оценок
47
10.09.2026
Безопасный переход через бот
О канале

Вопросы для собеседований по Swift, тесты и задачи для iOS-разработчиков в Telegram.

Подписчиков 2,168
Тематика Технологии
Язык Русский
Ссылка t.me/easy_swift

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Канал посвящен подготовке к собеседованиям по языку Swift. Здесь собраны актуальные вопросы, тесты, практические задачи и информация о вакансиях. Идеально для начинающих и опытных iOS-разработчиков, желающих освежить знания и успешно пройти интервью.

Последние посты

Swift | Вопросы собесов
Swift | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Почему по дефолту дабл, а не фолт? В Swift (и во многих других языках программирования) по умолчанию числовой литерал с плавающей запятой интерпретируется как `Double`, а не Float. 🚩Основные причины: 🟠Бóльшая точность Double имеет 64 бита, а Float – 32 бита. Это значит, что Double может хранить более точные значения, что особенно важно при математических вычислениях. 🟠Совместимость со стандартными API Большинство API и стандартных библиотек Swift (например, sin(), cos(), pow()) работают именно с Double. Например: let x = 3.14 // По умолчанию это Double let y = sin(x) // sin() принимает Double 🟠Производительность на современных процессорах На современных 64-битных процессорах операции с Double выполняются так же быстро или даже быстрее, чем с Float, из-за оптимизаций в аппаратном обеспечении. 🟠Меньше неожиданных ошибок округления Float может округлять числа с потерей точности, что может привести к неожиданным результатам. Пример ошибки округления в Float: let a: Float = 0.1 + 0.2 print(a == 0.3) // false 😱 🚩Как сделать `Float` вручную? Если всё же нужен Float, надо указать это явно: let number: Float = 3.14 или let number = 3.14 as Float Ставь 👍 и забирай 📚 Базу знаний
Swift | Вопросы собесов
Swift | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Чем отличается garbage collector и подсчет ссылок? Garbage Collector (GC) и Automatic Reference Counting (ARC) – это два разных подхода к управлению памятью в программировании. Они решают одну задачу: автоматическое освобождение неиспользуемой памяти, но делают это по-разному. 🚩Garbage Collector (GC) Java, Kotlin, C#, Python, JavaScript - GC периодически просматривает всю память приложения и ищет объекты, на которые больше нет ссылок. - Когда такие объекты находятся, они удаляются, а память освобождается. - Это автоматический процесс, который запускается по мере необходимости. 🚩Подсчет ссылок (ARC - Automatic Reference Counting) Где используется: Swift, Objective-C - Каждый объект имеет счетчик ссылок (reference count). - Когда переменная создает ссылку на объект, счетчик увеличивается. - Когда переменная перестает ссылаться на объект, счетчик уменьшается. - Когда счетчик достигает нуля, объект удаляется из памяти сразу же. class Person { var pet: Pet? } class Pet { var owner: Person? } let person = Person() let pet = Pet() person.pet = pet pet.owner = person // Теперь оба объекта держат друг друга, и ARC их не удалит Решение – использовать weak: class Pet { weak var owner: Person? // Теперь утечки памяти не будет } Ставь 👍 и забирай 📚 Базу знаний
Swift | Вопросы собесов
Swift | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Класс open — финальный или нефинальный? open — всегда нефинальный, то есть разрешает наследование и переопределение. Противоположностью является final, который запрещает всё это. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Swift | Вопросы собесов
Swift | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Наследником чего является UIWindow? UIWindow наследуется от UIView, а значит, участвует в иерархии отображения. Она представляет основное окно, в котором располагаются все видимые элементы приложения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Swift | Вопросы собесов
Swift | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что такое барьеры? Барьер (Barrier) – это механизм синхронизации потоков, который позволяет контролировать порядок выполнения операций** в многопоточной среде. 🚩Барьеры памяти (Memory Barriers) Используются в многопоточном программировании для управления порядком операций с памятью. В многопоточной среде процессоры и компиляторы могут оптимизировать порядок команд, что может привести к непредсказуемому поведению. Барьеры памяти предотвращают это. #include atomic_int sharedValue = 0; void updateValue() { atomic_store_explicit(&sharedValue, 10, memory_order_release); } void readValue() { int value = atomic_load_explicit(&sharedValue, memory_order_acquire); } 🚩Барьеры в GCD (`dispatch_barrier`) Используются в Grand Central Dispatch (GCD)** для контроля порядка выполнения задач в DispatchQueue. - Позволяет блокировать очередь на время выполнения задачи. - Все задачи до барьера выполняются параллельно. - Барьер ждёт завершения всех предыдущих задач, выполняется эксклюзивно, затем разрешает следующие задачи. let queue = DispatchQueue(label: "com.example.concurrent", attributes: .concurrent) queue.async { print("Задача 1") } queue.async { print("Задача 2") } // БАРЬЕРНАЯ ОПЕРАЦИЯ queue.async(flags: .barrier) { print("🔴 Барьер: все предыдущие задачи завершены, выполняюсь один!") } queue.async { print("Задача 3") } 🚩Барьеры в OpenMP (Параллельные вычисления) В OpenMP (#pragma omp barrier) ждёт завершения всех потоков перед выполнением следующего кода. #pragma omp parallel { printf("До барьера\n"); #pragma omp barrier printf("После барьера\n"); } Ставь 👍 и забирай 📚 Базу знаний
Swift | Вопросы собесов
Swift | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 В чём разница между вью и леером? В iOS и macOS приложениях, разработанных с использованием Swift или Objective-C, UIView и CALayer играют ключевые роли в управлении и отображении пользовательского интерфейса. Несмотря на то, что они тесно связаны, между ними есть важные различия. Давайте рассмотрим их подробнее. 🚩UIView UIView — это базовый класс для всех элементов пользовательского интерфейса в iOS. Он представляет собой прямоугольную область на экране, которая может отображать контент и реагировать на события пользователя, такие как нажатия, жесты и касания. UIView предоставляет множество свойств и методов для управления внешним видом, положением и поведением представления. Примеры включают frame, bounds, center, backgroundColor, alpha, isHidden, и subviews. UIView также поддерживает анимации, автолэйаут и работу с событийной системой. UIView обрабатывает пользовательские события, такие как касания и жесты. Он предоставляет методы, такие как touchesBegan, touchesMoved, и touchesEnded, для обработки этих событий. let myView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) myView.backgroundColor = .blue view.addSubview(myView) 🚩CALayer CALayer — это базовый класс для всех графических слоев, используемых в Core Animation. Он обеспечивает низкоуровневую поддержку для рендеринга, анимации и композиции графики. CALayer предоставляет свойства для управления внешним видом, такими как backgroundColor, borderWidth, cornerRadius, shadowOpacity, contents (для отображения изображений), и transform. CALayer также поддерживает анимации, используя ключевые кадры и основные анимации. CALayer не обрабатывает пользовательские события напрямую. Эти задачи оставлены на UIView, который может содержать один или несколько слоев. let myLayer = CALayer() myLayer.frame = CGRect(x: 0, y: 0, width: 100, height: 100) myLayer.backgroundColor = UIColor.blue.cgColor view.layer.addSublayer(myLayer) 🚩Основные различия между UIView и CALayer 🟠По уровеню абстракции UIView — это более высокий уровень абстракции, предназначенный для работы с пользовательским интерфейсом и обработкой событий. CALayer — более низкоуровневый элемент, который фокусируется на рендеринге и анимации графики. 🟠Реакция на события UIView обрабатывает события пользовательского интерфейса. CALayer не обрабатывает события, но предоставляет возможности для рендеринга и анимации. 🟠Иерархия UIView может содержать другие представления (subviews) и управлять их иерархией. CALayer может содержать другие слои (sublayers) и управлять их иерархией. 🟠Анимации UIView использует UIView.animate для создания анимаций, которые высокоуровневые и просты в использовании. CALayer использует CAAnimation и его подклассы для создания анимаций, которые более гибкие и мощные, но требуют большего количества кода. Ставь 👍 и забирай 📚 Базу знаний
Swift | Вопросы собесов
Динамика подписчиков
+0.0% за 30 дней
Текущие
2,168
Месяц назад
2,169
Средний рост
+0 / день
Обновлено
14 часов назад

Отзывы о канале Swift | Вопросы собесов

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

1С Тесты - Тесты 1С

1С Тесты - Тесты 1С

Технологии
31

Тесты по 1С.

Канал
HEY Support - Поддержка

HEY Support - Поддержка

Технологии
44

Инструмент для клиентской поддержки.

Бот

Последние новости, инциденты безопасности, инструменты и статьи по кибербезопасности. Open Source ресурсы.

Канал
Переход на светлую тему
Главная Каталог Подборки Блог Вход