Вопрос с собеседования по Mobile

Базы данных

Нереляционные (NoSQL):
Hive

Плюсы:

  • Реализация на чистом Dart, без платформенного кода, за счёт чего одинаково работает на разных платформах
  • Прост в использовании
  • Быстрая запись/чтение
  • Мало boilerplate кода
  • Наличие кодогенерации
  • Поддерживается на всех платформах

Минусы:

  • Связи между объектами нужно поддерживать вручную
  • Ограничение по количеству адаптеров для объектов - 224
  • Ограничение по количеству полей в адаптере - 255
  • Плохо подходит для работы с большим объемом данных
  • Выгружает всю БД в память
  • Нельзя получить доступ к box-у, созданному в другом изоляте
  • Наличие кодогенерации
  • Нет миграций

Использование:

  • Небольшой объём данных
  • Необходимость в сохранении своих дата моделей

Shared Preferences

Плюсы:

  • Прост в использовании
  • Синхронное чтение из кэша в памяти
  • Поддерживается на всех платформах

Минусы:

  • Разные реализации для Android/iOS и других платформ
  • Обращение к платформенному коду
  • Не гарантируется запись на диск после успешного выполнения метода
  • Нельзя сохранять сложные объекты из коробки

Использование:

  • Небольшой объём данных
  • Необходимость в быстром внедрении решения
  • Сохранение настроек приложения в виде примитивных данных

Реляционные (SQL):
SQFLite

Плюсы

  • Есть миграции
  • Поддерживает связи между сущностями
  • Не выгружает БД в оперативную память
  • Возможность написания сложных запросов на SQL

Минусы:

  • Сложен в использовании
  • Не поддерживается в Web, Linux, Windows
  • Скорость работы ниже чем у NoSQL
  • На разных OS и версиях могут быть разные версии SQLite

Использование:

  • Большой объём данных
  • Хранение сложно структурированных данных

Drift

  • Есть миграции
  • Поддерживает связи между сущностями
  • Не выгружает БД в оперативную память
  • Возможность написания сложных запросов на SQL

Плюсы

  • Есть миграции
  • Быстрый
  • Поддерживается на всех платформах

Минусы:

  • Сложен в использовании
  • Скорость работы ниже чем у NoSQL

Использование:

  • Большой объём данных
  • Хранение сложно структурированных данных

Oct. 13, 2023, Источник

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы