Android Interview
Термины
Mvc mvp and mvvm differences
(MVC и MVP *)
OOA/OOP/OOD - где что? *
Highload на Java
Big Data
Hadoop
Примитивы синхронизации **
Состояние гонки (Race conditional) *
Другие проблемы синхронизации: ABA, взаимная блокировка *
SDLC - жизненный цикл разработки системы *
Семь основных методологий разработки
Lint (предварительный анализатор кода)
Third party libs
Otto (@Subscribe, @Produce)
Butter Knife (findViewById)
Gson (формат JSON (сериализация))
Retrofit 2 (HTTP requests)
Dagger 2 (Dependency Injection)
Java
Java version (Java 8)
Java 8 functional interfaces
Примитивные типы java *
Heap и Stack память в Java **
Multithread
java.util.concurrent.* **
java.util.concurrent.CompletableFuture
Аналоги Runnadle & Callable из java.util.Function
Методы класса Object ***
Сериализация в Java **
Collection ***
RxJava
Kotlin
Kotlin data class benefits
componentN()
Котлин корутины
Android
Activity lifecycle **
Fragment lifecycle *
Service (IntentService)
APK.* - Из чего состоит приложение Android *
Компоненты Android приложения *
Manifest.xml *
Mobile Vision - Recognition library from google (Как создать приложение)
Firebase: Аутентификация пользователей с помощью email и пароля
БД Realm
SharedPreferences *
UI Questions
What are the disadvantages of fragments
Activity Result API
Android Design
QA
Как тестируют в Google
JUnitTests - Android
JaCoCo - покрытие кода тестами
IT Матеметика
Data Type
Арифметика с плавающей запятой
Бинарное возведение в степень
Как извлечь корень из числа
Random
Fibonacci number
Алгоритмы:
Алгоритмы сортировки ***
Деревья:
Дерево Фенвика
Декартово дерево
Next Permutation
Префиксное дерево
Двоичная куча (binary heap)
Бинарное дерево поиска
B-Tree
АВЛ-дерево
Splay-деревья
Шпоргалки
Шаблоны проектирования ***
Refactoring
SQL шпаргалка
Git *
ADB (Android)
Bash - shell
UML Diagrams
gradle
Freebase
Agile
Конспекты книг:
"Scrum and XP from the Trenches - 2nd Edition" Henrik Kniberg
"How Google Tests Software" James A. Whittaker
2019
"Design Patterns" Erich Gamma ***
"Refactoring: Improving the Design of Existing Code" Martin Fowler
"Efficient Android Threading" Anders Goransson
"Effective Java" Joshua Bloch
2020
"UML Distilled" Martin Fowler
"Cracking the Coding Interview"
"Тестирование объектно-ориентированного программного обеспечения" Макгрегор Д. Сайкс Д.
Будущее главы
(* ** *** - Колличество звездачек - частота этого вопроса на собеседовании.)