Kotlin Easy technical 0 views 1 min read

What is the difference between val and var?

Peer-reviewed by HireXTech Technical Panel • Updated for 2025/2026 hiring • Editorial standards
Practise this track
Interviewer Expectations for this Question
01
Core Competency

Assesses fundamental understanding of Kotlin conventions, runtime behavior, and memory/performance considerations.

02
Evaluation Criteria

Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.

Comprehensive Model Answer Verified Solution

val declares a read-only reference that cannot be reassigned after initialisation. var declares a mutable reference that can be reassigned.

val name = "Ada"          // cannot reassign
var count = 0
count += 1                // ok

val list = mutableListOf(1)
list.add(2)               // ok: the reference is fixed, contents are mutable

The restriction applies to the reference, not the object's internal state, which is why mutating a mutableList held by a val is legal. Prefer val by default: it makes code easier to reason about, is friendlier under concurrency and helps the compiler. Use var only when reassignment is genuinely needed. A val property can still have a custom getter that computes a fresh value on each access. For truly immutable objects, also make the underlying data immutable, since val alone does not prevent mutation through other references.

Candidate Response Strategy & Interview Tips

  1. Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
  2. Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
  3. Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
  4. Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.
Related Topics & Skills
Spotted an error or have an alternative solution?