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? Расскажите об этих способах.

** более сложные вопросы

* дополнительные вопросы для развития темы

- Интерфейс и абстрактный класс. Когда что лучше использовать.

- Подходы к программированию кроме ооп. Чем отличается функциональное программирование от объектного.