When my last interview landed on my calendar with barely one evening to prepare, I built a complete preparation system instead of panicking: 150 questions from Java basics to advanced Jetpack Compose, an animated mock-interview player, audio packs for revising during the commute, and a printable PDF. This post shares the whole system — the strategy AND the tools — so you can use them for your own interview.
The Core Strategy: Your Resume Is the Exam Paper
The single most important insight for an experienced developer's interview: 80% of questions come from your own resume. Interviewers scan what you claim and drill into it. If your resume says Jetpack Compose, MVVM, Hilt, Room, and offline-first — that IS your syllabus.
flowchart TB
R[Your Resume] --> A[Skills you listed
Kotlin, Compose, Hilt, Room]
R --> B[Numbers you claimed
25% faster, 40% less code]
R --> C[Projects you shipped
with architecture decisions]
A --> Q1[Concept questions
What triggers recomposition?]
B --> Q2[Defend the number
HOW did you measure it?]
C --> Q3[Deep dives
Why BLoC here, Provider there?]
Three rules follow directly from this:
- Never write anything on your resume you can't defend for 5 minutes.
- Prepare a story for every number. "40% less boilerplate" needs the how — mine was Hilt replacing hand-written factories and singletons.
- Answer with your projects, not textbooks. The formula: direct answer → brief why → "for example, in my app I…"
The One-Night Plan (When Time Is Short)
If you only have one evening, do NOT try to cover everything. Cut ruthlessly: skip DSA grinding, skip system design deep-dives, skip anything not on your resume. Here is the plan that works in ~3.5 hours:
| Block | Time | Focus |
|---|---|---|
| 1 | 45 min | Your stories, out loud. "Tell me about yourself" (60–90 sec, memorized), your strongest project story in STAR format, one line for every resume number. |
| 2 | 60 min | Kotlin + Coroutines. Null safety, data/sealed classes, launch vs async, Dispatchers, structured concurrency, StateFlow vs SharedFlow vs LiveData. |
| 3 | 60 min | Architecture + Android core. MVVM, Clean Architecture layers, Hilt, rotation vs process death, Room migrations, 401 → token refresh. |
| 4 | 45 min | Jetpack Compose deep dive. Recomposition, remember vs rememberSaveable, state hoisting, side-effect APIs, stability and LazyColumn performance. |
Then sleep. Sleep beats one more hour of cramming — you are not being tested on memorized trivia; you are being tested on whether you can clearly explain work you have already done. Fatigue destroys exactly that.
Practice Tool 1: The Animated Mock Interview Player
Reading answers silently is the weakest form of practice. Active recall out loud is the strongest. So I built a browser-based mock interview: an animated interviewer asks each question aloud, then "the candidate" speaks the full answer — 150 questions across Java, OOPs, Kotlin, Android, and Jetpack Compose, with section filters, a starred "high-probability" mode, speed control, and auto-play.
Launch the Mock Interview Player
How to use it properly: press Play, listen to the question, pause and answer out loud yourself first, then resume and compare with the model answer. That gap between your answer and the model answer is your real to-do list. Best experienced in Microsoft Edge, which provides natural neural voices to the page for free — it also works offline as a single HTML file.
Practice Tool 2: Audio Revision Packs
Commute time is revision time. These are the same questions and answers converted to audio with neural text-to-speech — one file per topic. The quick pack below covers only the ~45 highest-probability questions (about 50 minutes total): perfect for the morning of the interview.
Complete pack — all 150 questions with full answers (~1 hr 45 min)
Practice Tool 3: The Printable PDF (150 Q&A)
Everything in one document: self-introduction templates, STAR story frameworks, and all 150 questions with detailed answers — each question on a highlighted heading so you can flip through fast, code blocks and comparison tables included, sections split cleanly for printing.
Open the PDF (150 Questions & Answers)
| Section | Questions | Range |
|---|---|---|
| Java | 25 | JVM basics → collections internals → threading & memory |
| OOPs | 20 | 4 pillars → SOLID → design patterns in Android |
| Kotlin | 35 | null safety → coroutines & Flow → reified, delegates |
| Android | 35 | lifecycle → Hilt, Room, offline-first → Doze, rollouts |
| Jetpack Compose | 35 | recomposition → side effects → stability & performance |
The Day of the Interview
flowchart LR
M[Morning commute
audio: Compose + Kotlin] --> L[Lunch break
re-read fumbled questions]
L --> P[1 hour before
NO new topics]
P --> I[Say your intro
out loud twice]
I --> GO([Interview])
- No new topics in the last hour. Confidence beats coverage.
- Pause 3–5 seconds before answering. Short and structured beats long and rambling.
- Don't know something? Say: "I haven't used that in production, but my understanding is…" — never bluff. Interviewers respect honesty and destroy bluffing.
- Tie every answer to a real project. That one habit is what separates a senior answer from a memorized one.
- Have 2–3 questions ready for them — e.g. "How much of the codebase is Compose vs XML — is there an active migration?"
Grab Everything
Mock Interview Player
Animated interviewer & candidate, 150 spoken Q&As, filters and auto-play. Works offline.
LaunchAudio Packs
Quick pack (~50 min, top questions) and complete pack (~1 hr 45 min, all 150).
Listen aboveInteractive Q&A Trainer
My separate interview trainer with What/Why/How answers in English and Hindi.
Open trainerGood luck with your interview. Remember: the goal is not to memorize 150 answers — it is to walk in able to explain, clearly and calmly, the work you have already done.