Pytania zostały podzielone na kategorie...


✅ Android

API i HTTP

✅ Kotlin i Java

✅ Inżynieria oprogramowania

✅ Graphic Design

✅ Wzorce projektowe


autor: 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.

Spis treści

Android

  • Opisz lifecycle 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?
  • Jakie są różnice pomiędzy ViewBindingiem a DataBindingiem?

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?

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 i 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 SharedFlow od StateFlow?
  • Czym się różni List od Sequence?
  • Do czego służy companion object?
  • Czym jest DSL?
  • Do czego służy Nothing?
  • 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?


Inżynieria oprogramowania

  • Czym jest GIT?
  • 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?

.