Boarding pass · Java Beginner
Java · Beginner interview
An AI mock interview for developers new to Java (0–2 years). Practise the language and JVM basics, object-oriented principles, collections, and exceptions — out loud, with a readiness score.
- Voice interview
- Live feedback
- Browser-only
- No installation required
Your report · sample
AI Readiness Score
Finish the mock and get this report — scored on content and English, with concrete tips and a model answer for every question, plus a study plan.
Your flight path
Five steps to interview-ready.
From a quick warm-up to a personalised study plan — here's the whole loop, and what you get at each gate.
Step 01
Preparation
Skim the topics and warm up — you're briefed before takeoff.
Step 02
AI Interview
A realistic AI interviewer asks tailored questions — answer by voice or text.
Step 03
Instant Score
Finish and get a 0–100 readiness score across content and English.
Step 04
AI Feedback
Concrete tips and a rewritten model answer for every response.
Step 05
Study Plan
A personalised plan targets your weakest areas — so the next run scores higher.
Preview the AI demo
See one answer scored, end to end.
The whole loop on sample data — question, your answer, instant feedback and a study plan. Hover to pause.
Interviewer · Question 1
“Tell me about yourself.”
Who it's for
- Developers new to Java
- CS students and bootcamp grads
- Anyone targeting junior Java roles
- Devs switching languages to Java
What you'll practice
- How Java runs and primitive vs object types
- OOP principles and interfaces vs abstract classes
- Core collections
- Exception handling
Topics covered
What this level expects.
Basics
- JVM/JRE/JDK
- Primitives & autoboxing
- == vs equals
OOP
- OOP principles
- Interface vs abstract
- Overloading vs overriding
Collections
- List/Set/Map
- ArrayList vs LinkedList
- HashMap
Exceptions
- Checked vs unchecked
- try/catch/finally
- final/finally/finalize
Practice questions
12 questions, with model answers.
Read them, then run the live mock to answer out loud and get scored. Tap any question to reveal a model answer.
01What's the difference between the JDK, JRE, and JVM?Basics
The JVM (Java Virtual Machine) executes Java bytecode and provides platform independence — 'write once, run anywhere'. The JRE (Runtime Environment) is the JVM plus the standard libraries needed to run Java programs. The JDK (Development Kit) is the JRE plus development tools like the compiler (javac) and debugger. You develop with the JDK; the JVM runs the compiled bytecode.
02What's the difference between primitives and wrapper types, and what is autoboxing?Basics
Primitives (int, double, boolean) hold values directly and are fast; wrapper classes (Integer, Double, Boolean) are objects that can be null and used in generics/collections. Autoboxing automatically converts between them (int ↔ Integer). It's convenient but has costs — unexpected NullPointerExceptions when unboxing a null, and Integer caching making == unreliable for boxed values.
03What's the difference between == and equals()?Basics
== compares references for objects (whether they're the same instance) and values for primitives. equals() compares logical equality as defined by the class — String.equals compares characters, for example. So two different String objects with the same text are == false but equals true. You almost always use equals() for objects and reserve == for primitives and null checks.
04What are the four principles of OOP?OOP
Encapsulation: bundling data with methods and hiding internal state behind a public interface. Inheritance: a subclass reusing and extending a superclass. Polymorphism: one interface, many implementations — a call resolves to the actual object's method at runtime. Abstraction: exposing essential behaviour while hiding implementation detail. Together they organize code for reuse and flexibility.
05What's the difference between an interface and an abstract class?OOP
An interface declares a contract — methods a class must implement — and a class can implement many interfaces (multiple inheritance of type); since Java 8 it can also have default methods. An abstract class can have state, constructors, and concrete methods but a class extends only one. Use an interface for capability/contract across unrelated types, an abstract class to share common state and behaviour among related types.
06What's the difference between overloading and overriding?OOP
Overloading is defining multiple methods with the same name but different parameter lists in the same class — resolved at compile time by the arguments. Overriding is a subclass providing a new implementation of a superclass method with the same signature — resolved at runtime by the object's actual type (dynamic dispatch). Overloading is compile-time polymorphism; overriding is runtime polymorphism.
07What's the difference between List, Set, and Map?Collections
A List is an ordered collection allowing duplicates, accessed by index (ArrayList, LinkedList). A Set is a collection of unique elements with no duplicates (HashSet, TreeSet). A Map stores key→value pairs with unique keys (HashMap, TreeMap). You pick by whether you need order/duplicates, uniqueness, or key lookup.
08What's the difference between ArrayList and LinkedList?Collections
ArrayList is backed by a dynamic array: fast random access (O(1) by index) and cache-friendly, but inserting/removing in the middle shifts elements (O(n)). LinkedList is a doubly-linked list: fast insert/remove at the ends and during iteration, but O(n) random access. In practice ArrayList is the default; LinkedList is rarely faster except for specific queue-like patterns.
09How does a HashMap work at a basic level?Collections
A HashMap stores entries in buckets indexed by the key's hashCode. To put or get, it hashes the key to find the bucket, then uses equals() to find the exact entry within it. This gives average O(1) lookup. That's why keys must implement hashCode and equals consistently, and why mutable keys are dangerous.
10What's the difference between checked and unchecked exceptions?Exceptions
Checked exceptions (subclasses of Exception, not RuntimeException) must be declared or caught — the compiler enforces handling, used for recoverable conditions like IOException. Unchecked exceptions (RuntimeException and Error) don't need declaring, representing programming errors like NullPointerException or invalid arguments. The distinction is about whether the caller is expected to recover.
11How do try/catch/finally and try-with-resources work?Exceptions
try holds risky code, catch handles specific exceptions, and finally always runs for cleanup (whether or not an exception occurred). try-with-resources declares resources that implement AutoCloseable and closes them automatically at the end of the block, even on exception — replacing manual finally-close boilerplate and avoiding resource leaks.
try (var in = new FileInputStream(path)) {
// auto-closed
}12What's the difference between final, finally, and finalize?Exceptions
They're unrelated despite the names. final is a modifier: a final variable can't be reassigned, a final method can't be overridden, a final class can't be extended. finally is the block that always runs after try/catch. finalize was a method called before garbage collection (now deprecated and unreliable — you use try-with-resources or Cleaner instead).
Preparation tips
Walk in ready.
- Know how Java compiles to bytecode and runs on the JVM
- Always compare objects with equals(), not ==
- Know when to use a List vs Set vs Map
- Understand try-with-resources
Ready for the real thing?
Run a 6-question Java mock interview, answer out loud, and get a readiness score with tips and model answers.
More beginner interviews