iOS

UserDefaults & Keychain

UserDefaults, Keychain Services, безпечне зберігання, конфіденційні дані, найкращі практики

20 питань зі співбесід·
Junior
1

Що таке UserDefaults в iOS?

Відповідь

UserDefaults — це проста система зберігання для збереження неконфіденційних даних, таких як налаштування користувача. Дані зберігаються у форматі plist на диску та легко доступні. Проте дані не зашифровані, тому конфіденційну інформацію, як-от паролі чи токени автентифікації, ніколи не слід там зберігати.

2

Що таке Keychain Services в iOS?

Відповідь

Keychain Services — це API безпеки, що дозволяє зберігати конфіденційні дані в зашифрованому та безпечному вигляді. На сучасних пристроях він використовує Secure Enclave для захисту даних. Keychain є рекомендованим підходом для зберігання паролів, токенів, сертифікатів та іншої критично важливої для безпеки інформації застосунку.

3

Як отримати доступ до стандартного екземпляра UserDefaults?

Відповідь

UserDefaults.standard — це стандартний спосіб доступу до спільного екземпляра за замовчуванням у всьому застосунку. Цей екземпляр автоматично зберігає дані на диск. За допомогою init(suiteName:) можна створювати іменовані екземпляри для спільного використання даних між застосунком та його розширеннями через App Groups, але UserDefaults.standard охоплює більшість простих сценаріїв використання. Уникайте створення кількох стандартних екземплярів, оскільки це може спричинити неузгодженість даних.

4

Які типи даних UserDefaults може зберігати безпосередньо?

5

Коли доречно використовувати UserDefaults замість Keychain?

+17 питань зі співбесід

Інші теми співбесід iOS

Основи Swift

Junior
25 запитань

Основи мови Swift

Junior
15 запитань

Основи UIKit

Junior
18 запитань

Життєвий цикл UIViewController

Junior
20 запитань

Життєвий цикл застосунку

Junior
20 запитань

Auto Layout & Constraints

Mid-Level
24 запитань

UITableView & UICollectionView

Mid-Level
25 запитань

Основи SwiftUI

Mid-Level
18 запитань

Керування станом у SwiftUI

Mid-Level
22 запитань

Навігація SwiftUI

Mid-Level
18 запитань

Networking & URLSession

Mid-Level
20 запитань

Codable та парсинг JSON

Mid-Level
20 запитань

Core Data

Mid-Level
22 запитань

Протоколо-орієнтоване програмування

Mid-Level
20 запитань

Архітектура MVVM

Mid-Level
20 запитань

Push-сповіщення

Mid-Level
18 запитань

Модульне тестування та XCTest

Mid-Level
20 запитань

Тестування інтерфейсу користувача

Mid-Level
18 запитань

Xcode і система збірки

Mid-Level
16 запитань

Swift Package Manager

Mid-Level
16 запитань

Memory Management & ARC

Senior
22 запитань

Combine Framework

Senior
24 запитань

Concurrency & async/await

Senior
26 запитань

iOS Design Patterns

Senior
24 запитань

Оптимізація продуктивності

Senior
22 запитань

Безпека та шифрування

Senior
20 запитань

SwiftUI Advanced

Senior
22 запитань

Архітектура застосунків iOS

Senior
22 запитань

Опануй iOS для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно