Oto opracowanie pytań rekrutacyjnych na Androida – baza w której znajdziesz zarówno popularne jak i te mniej oczywiste zagadnienia pojawiające się na panelach technicznych.
- ponad 100 pytań z opracowaniami
- bezpłatne aktualizacje
Pytania zostały podzielone na kategorie...
✅ Android
✅ API i HTTP
✅ Kotlin i Java
✅ Inżynieria oprogramowania
✅ Graphic Design
✅ Wzorce projektowe
Spis treści
Android
- Opisz lifecycle Activity
- Czym jest Activity?
- Do czego używamy klasy Application?
- Czym jest BroadcastReceiver?
- Do czego służy klasa Context?
- Jakie są różnice między Service, IntentService, a JobIntentService?
- Czym jest APK? Jakie są zalety formatu AAB?
- W jakich językach programowania można tworzyć aplikacje na Androida?
- Czym jest ANR?
- Co zawiera AndroidManifest.xml?
- Jakie pliki XML spotykane są w projektach androidowych?
- Czym się różni RecyclerView od ListView?
- Czym jest Gradle?
- Jakie pliki Gradle są niezbędne w projekcie Android?
- Czym są buildTypes?
- Czym są flavory?
- Czym jest Permission?
- Czym jest runtime permission?
- Jak wyświetlić zembedowaną stronę www w aplikacji?
- W jaki sposób można zapisać dane na urządzeniu?
- Czym się różni implementation od api w Gradle?
- Czym jest state hoisting?
- Jak unikać NetworkOnMainThreadException?
- Czym są sensory na Androidzie i do czego ich używamy?
- Jaka jest różnica między Serializable, a Parcelable?
- Jak stworzyć custom view?
- Jak wyświetlić zdjęcie w aplikacji?
- Do czego służy JobScheduler?
- Co się dzieje podczas obrotu ekranu?
- Do czego służy Lint?
- Jakie są różnice pomiędzy ViewBindingiem a DataBindingiem?
- Czym się różni Theme od Style?
- Czym są memory leaks na Androidzie? Jak je wykrywać?
Graphic Design
- Czym jest design system?
- Opisz elementy Material Design
- Czym się różnią jednostki px, DP, sp
- Jaka jest różnica między grafiką rastrową, a wektorową?
- Jaka kroki można podjąć w celu zwiększenia accessibility w aplikacji mobilnej?
Kotlin & Java
- Jaki jest paradygmat języka Kotlin?
- Jaka jest różnica między lateinit var , a val by lazy{} ?
- Czym jest sealed class ? Czym się różni od enum class?
- Czy enum class może implementować interfejs?
- Czym jest SAM conversion?
- Czym są higher-order functions?
- Co oznacza słowo kluczowe final w Javie? Jak wygląda final w Kotlinie?
- Czym się różni checked exception od unchecked exception?
- Czym się różni Shared Flow od StateFlow?
- Czym się różni List od Sequence?
- Do czego służy Nothing?
- Czym jest DSL?
- Do czego służy companion object?
- Omów wariancje typów w Kotlinie
- Do czego służy tailrec ?
- Opisz mechanizm expect - actual w Kotlin Multiplatform
- Kiedy wyrażenie when jest exchaustive (wystarczające)?
- Jak w Kotlinie osiągnąć kontekst statyczny?
- Jak działa HashMap?
- Do czego służy słowo kluczowe external?
- Czym się różni Kotlin Coroutines od Java Thread?
- Czym jest czysta funkcja?
- Do czego służy Runnable ?
- Czym jest noinline w Kotlinie?
- Czym jest crossinline w Kotlinie?
- Czym się różni Stack od Queue ?
- Do czego służy volatitle ?
- Jak w Kotlinie używać synchronized ?
- Czym się różni val od const?
Api Design
- Czym jest HTTP?
- Czym jest HTTPS?
- Czym jest REST?
- Opisz HTTP verbs
- Czym jest timeout?
- Czym jest API?
- Co oznaczają kody błędu 400-404?
- Co zawiera typowy request HTTP?
- Czym jest GraphQL?
RxJava
- Czym się różnice hot observable od cold observable?
- Czym się różni Observable od Flowable?
- Omów zastosowanie operatorów subscribeOn i observeOn
- Jaka jest różnice pomiędzy operatorami map i flatMap ?
- Do czego służy operator scan?
Wzorce projektowe
- SOLID: Single Responsibility Principle
- SOLID: Open-Close Principle
- SOLID: Zasada podstawień Liskov
- SOLID: Interface Segregation Principle
- SOLID: Dependency Inversion
- Model-View-Presenter
- Model-View-ViewModel
- Model-View-Intent
- Adapter
- Observer
- Command
- Strategy
- Decorator
A także dodatkowo…
Inżynieria oprogramowania
- Czym jest GIT?
- Czym jest TAG w gicie?
- Czym się różni git merge od git rebase ?
- Czym się różni Dependency Injection od Service Locator?
- Czym się różnią bazy danych SQL od NoSQL?
- Dlaczego wykorzystujemy CDN?
- Omów piramidę testów
- Czym jest technika TDD?
O autorze
Jarek Michalik, Google Developer Expert in Kotlin
Programista – od 2016 roku zajmuję się budowaniem aplikacji mobilnych.
Founder KotlinTesting.com – w tym momencie jest to największy portal poświęcony testowaniu w Kotlinie.
Prelegentem IT (występuję m.in na konferencjach Droidcon, DevFest, Mobilization), blogerem i trenerem programowania.
Poprzez bloga i wystąpienia pomaga deweloperom Androida skutecznie nawigować w skomplikowanym świecie mobile.