Interview
Core
1. Что такое ООП? Основные принципы.
2. Наследование vs Полмиорфизм vs Инкапсуляция vs Абстракция
3. **Ранее и позднее связывание
JAVA
4. *Типы данных.
5. Модификаторы доступа и разница между ними.
6. Класс Object и его методы. Контракт hashcode и equals.
7. Можно ли перегрузить static методы?
8. Классификация ошибок, нужно ли обрабатывать RuntimeExceptions? Как обрабатывать ошибки? Какие unchecked ошибки вы знаете?
9. Привидение типов. Что такое autoboxing? NPE & ССE что такое и как предотвратить?
10. Final finally finalize finish
11. * Какая разница между String, StringBuilder, StringBuffer?
12. * Расскажите про модель памяти в java, как работет GC?
13. * Виды коллекций в Java: List, Set, Queue, Stack. Какие реализации вы используете чаще всего и почему?
14. * Что такое Generic?
15. * Чемотличается процесс от потока? Может ли быть многопоточное приложение синхронным а однопоточное асинхронным?
Android
16. Опишите Activity Lifecycle.
17. ** Последний обратный вызов в жизненном цикле активности — onDestroy(). Система вызывает его в качестве последнего сигнала о том, что экземпляр активности полностью удаляется из системной памяти. Обычно система вызывает onPause() и onStop() перед вызовом onDestroy(). Опишите сценарий, когда onPause() и onStop() не будут вызываться.
18. КомпонентыОС Андроид.
19. Что такое AndroidManifest?
20. Какой механизм запуска компонента. В чем заключается различие между неявным (implicit) и явным (explicit) намерением?
21. * В чем разница между Fragment и Activity?
22. * В чем разница между Service и IntentService? Как они используются?
23. * Пример использования BroadcastReceiver
24. Как передать данные между компонентами? Отличия Serializable и Parcelable.
25. Виды layout. Основные отличия.
26. * Как определяете, какой layout надо использовать для смартфона, а какой для планшета?
27. * Что такое формат APK? Можно ли запускать JAR файлы на Андроид?
28. * Что такое ANR-уведомление в Android и что это значит?
29. ** Что такое multidex, зачем он нужен?
30. Асинхронныемеханизмы в Android. В чем проблема AsynkTask?
31. Что такое Runtime Permissions ?
32. Как можно организовать хранение данных в Android? Расскажите об этих способах.
** более сложные вопросы
* дополнительные вопросы для развития темы
- Интерфейс и абстрактный класс. Когда что лучше использовать.
- Подходы к программированию кроме ооп. Чем отличается функциональное программирование от объектного.