Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Kotlin
Kotlineasy

Val vs Var?

Tagi
#kotlin#variables#immutability
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

val oznacza referencję tylko do odczytu, której po inicjalizacji nie można przypisać ponownie. var to referencja mutowalna, którą można nadpisywać. val nie gwarantuje niemutowalności obiektu, ale sprzyja bezpieczniejszemu kodowi.

Odpowiedź zaawansowana

Głębiej

Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:

  • Kontekst (tagi): kotlin, variables, immutability
  • JVM: pamięć (heap/stack), GC i co wpływa na latency.
  • Kontrakty: equals/hashCode/toString, mutowalność i konsekwencje.
  • Wydajność: boxing, alokacje, kolekcje, inlining.
  • Wytłumacz "dlaczego", nie tylko "co" (intuicja + konsekwencje).
  • Trade-offy: co zyskujesz i co tracisz (czas, pamięć, złożoność, ryzyko).
  • Edge-case’y: puste dane, duże dane, błędne dane, współbieżność.

Przykłady

Krótki przykład (szablon do wyjaśniania):

// Example: discuss trade-offs for "val-vs-var?"
function explain() {
  // Start from the core idea:
  // val jest niemodyfikowalne (tylko do odczytu), var jest modyfikowalne.
}

Typowe pułapki

  • Zbyt ogólna odpowiedź (brak konkretów, brak przykładów).
  • Brak rozróżnienia między "średnio" a "najgorzej" (np. złożoność).
  • Pomijanie ograniczeń: pamięć, współbieżność, koszty sieci/dysku.

Pytania uzupełniające na rozmowie

  • Kiedy zastosował(a)byś alternatywę i dlaczego?

Powiązane pytania

Kotlin
coroutineScope vs supervisorScope: jak obsługują błędy?
#kotlin#coroutines#supervisor
Kotlin
StateFlow vs SharedFlow: jaka jest różnica?
#kotlin#stateflow#sharedflow
Kotlin
Co robi `typealias` i czego nie robi?
#kotlin#typealias
  • Jakie są typowe problemy w produkcji i jak je diagnozować?
  • Jak byś przetestował(a) edge-case’y?
  • #types
    Kotlin
    Przeciążanie operatorów: co umożliwia `operator` i jaka jest pułapka?
    #kotlin#operator#overloading
    Kotlin
    Delegowane właściwości (`by`): jaki problem rozwiązują?
    #kotlin#delegation#properties
    Kotlin
    List vs MutableList w Kotlinie: jaka jest różnica?
    #kotlin#collections#immutability