Приведи пример нативного мобильного приложения, способного работать без подключения к серверу.

«Приведи пример нативного мобильного приложения, способного работать без подключения к серверу.» — вопрос из категории Мобильное тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Пример: Стандартное приложение Заметки (Notes) на iOS или Android.

Почему оно работает офлайн:

  • Все данные (текст заметок, чертежи) хранятся локально в файловой системе устройства или в локальной базе данных (SQLite).
  • Логика создания, редактирования и удаления заметок выполняется полностью на устройстве.

Пример архитектуры (Android/Kotlin с Room):

// 1. Сущность (Entity) для локальной БД
@Entity(tableName = "notes")
data class Note(
    @PrimaryKey(autoGenerate = true) val id: Long = 0,
    val title: String,
    val content: String,
    val createdAt: Long = System.currentTimeMillis()
)

// 2. Data Access Object (DAO) для операций с БД
@Dao
interface NoteDao {
    @Query("SELECT * FROM notes")
    suspend fun getAll(): List<Note>

    @Insert
    suspend fun insert(note: Note)
}

Ключевой момент: Синхронизация с облаком (iCloud, Google Drive) — это дополнительная функция. Базовый функционал приложения не зависит от сетевого соединения или серверной части.