Я тут недавно смотрела какие вопросы могут задать на собеседовании на позицию Android разработчика. Получился вот такой список. Java класс Object и описание его методов; Garbage collector и работа с памятью; коллекции в Java: какие бывают коллекции; чем отличается Map от остальных; отличия ArrayList от LinkedList; как работает Map под капотом; что такое Array; как работает ArrayList под капотом; как коллекции работают с многопоточностью. многопоточность: какие способы асинхронной работы есть в Java; volatile; synchronized; lock, reentrantLock; Semaphore, CountDownLatch, CyclicBarrier, Phaser, Exchanger; с какими проблемами может столкнуться разработчик: deadlock, livelock. ошибки в Java; сериализация, transient; рефлексия; дженерики. Kotlin Extension functions; Inline functions; свойства properties: методы get и set; ключевые слова object, data class, lazy, companion object; корутины. Android принципы SOLID и чистая архитектура; активити и методы жизненного цикла, onSaveInstanceState/onRestoreInstanceState; фрагмент и методы жизненного цикла; контекст; сервисы; Broadcast Receiver; интенты; Handler/Looper; AsyncTask; что такое процесс; Inter Process Communication; сериализация и парселизация; view: жизненный цикл, кастомные view; Flavours/Builds; архитектура MVP и MVVM; многомодульность; что такое OkHttp и зачем он нужен; RxJava: Hot и Cold observables; разница между map и flatMap; как создавать Observable; разница между RxJava 1 и RxJava 2; что такое BackPressure. Dagger 2: аннотация Named; скоупы в Dagger 2. Из тех, кто проходил собеседования на эту должность есть что добавить к этому списку? И если есть люди, которые проходили такие собеседования расскажите пожалуйста как это происходило 🙂