Skip to content

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.

20–30 minEstimated6 questionsTailored live12 model answersTo study
  • Voice interview
  • Live feedback
  • Browser-only
  • No installation required

Your report · sample

AI Readiness Score

/100
Content score English 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.

  1. Step 01

    Preparation

    Skim the topics and warm up — you're briefed before takeoff.

  2. Step 02

    AI Interview

    A realistic AI interviewer asks tailored questions — answer by voice or text.

  3. Step 03

    Instant Score

    Finish and get a 0–100 readiness score across content and English.

  4. Step 04

    AI Feedback

    Concrete tips and a rewritten model answer for every response.

  5. 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.

aevrofy.com/session · live demoPlaying

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?

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?

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()?

== 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?

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?

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?

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?

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?

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?

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?

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?

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?

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

Aevrofy · Java beginner interview prep