Flashcards

Quick study sessions to strengthen memory and retain key concepts.

Flashcard Study

Java: Code Reading and State Safety

Front

Why should fields in a Java class often be private?

Private fields prevent external modification and maintain object integrity. Private fields encapsulate the data within a class, preventing…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

Why is immutability crucial in multi-threaded applications?

Immutable objects are inherently thread-safe. In multi-threaded applications, immutable objects offer thread safety as they cannot be modified…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

What does encapsulation achieve in Java?

Encapsulation hides internal state and enforces controlled access. Encapsulation in Java ensures that an object's internal state is…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

How would you explain a common mistake when exposing collections in an interview?

Allowing direct access leads to uncontrolled modifications. Directly exposing collections can lead to external code modifying their content,…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

How to refactor a class to improve encapsulation?

Use private fields with public getters and controlled setters. To enhance encapsulation, fields should be private, with public…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

Why avoid exposing mutable static fields?

They can be changed from anywhere, leading to inconsistent states. Mutable static fields are shared across all instances…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

How would you explain a safer design for handling collections in a class in an interview?

Use unmodifiable views or defensive copying. Exposing collections directly allows external modifications, breaking encapsulation. A safer design is…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

How can immutability enhance object safety?

Immutable objects cannot be altered, preventing accidental changes. Immutability ensures that once an object is created, its state…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

How would you explain an invariant in object design in an interview?

An invariant is a condition that must always be true for an object. Invariants ensure that an object…

View Card →
Flashcard Study

Java: Code Reading and State Safety

Front

What issues arise from compile-safe but runtime-unsafe designs?

They may pass compilation but fail at runtime due to logic errors. Compile-safe designs can still harbor logic…

View Card →