Ответ
Да, проходил собеседования в несколько крупных компаний (например, Яндекс, Сбер, Tinkoff). В основном спрашивали:
- Алгоритмы и структуры данных (Leetcode medium/hard)
- Глубокое знание Android (Lifecycle, View/ViewGroup, многопоточность)
- Системный дизайн (архитектура приложения, масштабирование)
- Kotlin специфику (coroutines, inline/reified, делегаты)
Пример алгоритмического вопроса:
fun findDuplicate(nums: IntArray): Int {
var slow = nums[0]
var fast = nums[0]
do {
slow = nums[slow]
fast = nums[nums[fast]]
} while (slow != fast)
fast = nums[0]
while (slow != fast) {
slow = nums[slow]
fast = nums[fast]
}
return slow
}
Готовился по книгам "Cracking the Coding Interview" и "Android Internals".