Можешь рассказать о своем провале

«Можешь рассказать о своем провале» — вопрос из категории Софт-скиллы, который задают на 31% собеседований Android Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Однажды я разрабатывал фичу с push-уведомлениями, но забыл обработать случай, когда приложение убито системой. В результате при тапе на уведомление приложение крашилось.

Ошибка была в том, что я не учел:

// Плохо:
intent?.extras?.getString("key") // NPE если intent == null

// Правильно:
intent?.extras?.getString("key") ?: run {
    Timber.e("Intent or extras is null")
    return
}

Из этого я вынес урок: всегда тестировать крайние случаи и использовать безопасные вызовы с обработкой null. Теперь перед релизом обязательно проверяю:

  1. Холодный старт
  2. Убитое системой состояние
  3. Разные версии Android