Какие знаешь нефункциональные требования для мобильного приложения

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

Ответ

Производительность:

  • Время запуска приложения ≤ 2 сек.
  • Отклик на действия пользователя ≤ 1 сек.
  • Оптимизация потребления памяти (например, очистка кеша после 30 дней неиспользования).

Безопасность:

  • Шифрование данных (AES-256 для локального хранения, TLS 1.2+ для API).
  • Авторизация через OAuth 2.0 + JWT.
  • Защита от MITM-атак (Certificate Pinning).

Совместимость:

  • Поддержка Android 10+ и iOS 14+.
  • Адаптация под разные разрешения экранов (использование ConstraintLayout в Android, AutoLayout в iOS).

Юзабилити:

  • Соответствие гайдлайнам Material Design / Human Interface Guidelines.
  • Поддержка темной/светлой темы.

Надежность:

  • Восстановление после сбоев (например, автосохранение данных каждые 5 минут).
  • Логирование ошибок (Crashlytics/Sentry).

Пример кода для проверки версии ОС (Kotlin):

fun isSupported(): Boolean {  
    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q  
}