Skip to content
GrindLoop: Android & iOS Interview Prep
  • Newsletter
  • Cookie Policy

technical-interview

Why Gson Returns Null Fields Only in Your Release Build

September 28, 2026 by Arsam
Code editor on a dark monitor showing JSON parsing code, illustrating Gson null fields in an Android release build

A Kotlin data class parsed by Gson works in debug and comes back null in release. Here’s the two-bug reason (R8 plus Gson skipping your constructor), the fix, and the interview answer.

Categories Bug-Squash Interview, Tools Interview Tags android, gson, interview-prep, kotlin, networking, r8, technical-interview Leave a comment

Found the Bug in Your Android Debugging Interview and Still Didn’t Pass?

September 28, 2026 by Hass
Laptop showing a code editor next to a mobile emulator, the setup for an Android debugging interview

In an Android debugging interview, the first green test is often only the midpoint. What the bug squash round scores, and the traps that sink candidates who find the bug.

Categories Interview Strategy Tags android, coroutines, debugging-interview, interview-prep, kotlin, live-coding, technical-interview 3 Comments

Why Fast Scrolling Duplicates Items in Your Paginated List

September 27, 2026 by Arsam
Close-up of code on a laptop screen, illustrating an Android pagination race condition bug

An Android pagination race condition duplicates list items when two scroll-triggered page loads overlap. Here’s the two-bug reason, the fix, and the interview answer.

Categories Bug-Squash Interview, Coroutines Interview Tags android, concurrency, coroutines, kotlin, pagination, race-condition, technical-interview 1 Comment

Got an Exploding Offer While Your Other Android Loops Are Still Running?

September 27, 2026September 27, 2026 by Hass
Candidate marking an exploding offer deadline on a desk calendar while other interview loops are still running

An exploding offer usually lands while slower loops are still at the committee or team-matching stage. How to buy time, what to tell the other companies, and how to sequence loops so it doesn’t happen again.

Categories Interview Strategy Tags android, hiring-process, interview-prep, offer-negotiation, technical-interview Leave a comment

Stuck in Team Matching After Passing the Android Loop? The Hiring Manager Call Has a Clock, Not a Rubric

September 26, 2026 by Hass
Engineer on a video call with a hiring manager during team matching

Team matching sits between a passed interview loop and an offer, and a candidacy can expire there. How the stage works at Google and Meta, and how an Android engineer should run it.

Categories Interview Strategy Tags android, hiring-process, interview-prep, technical-interview Leave a comment

The Android Recruiter Screen Question That Quietly Sets Your Level

September 27, 2026September 25, 2026 by Hass
An engineer taking notes during an Android recruiter screen phone call at a desk with a laptop

The Android recruiter screen can set your level before any technical round. A vague and a specific answer to “walk me through your background,” and how to handle the pay question.

Categories Interview Strategy Tags android, hiring-process, interview-prep, recruiter-screen, technical-interview 1 Comment

Why Your Kotlin Data Class’s equals() Ignores the Parent Class

September 27, 2026September 24, 2026 by Arsam
Close-up of colorful source code on a computer monitor

The Kotlin data class equals check ignores a parent class’s properties, by design. Why, the hashCode trap in the obvious fix, a correct override and the interview answer.

Categories Bug-Squash Interview, OOP/SOLID Interview Tags android, data-class, equals-hashcode, interview-prep, kotlin, oop-solid, technical-interview 1 Comment

Why the Android Machine Coding Round Isn’t One Test, It’s Three

September 27, 2026September 23, 2026 by Hass
Close-up of code in a dark editor, the kind of work done in an Android machine coding round

The Android machine coding round comes in three formats: build from scratch, extend a codebase, and debug. What each one tests, and a scaffolding drill to run from an empty file.

Categories Interview Strategy Tags android, interview-prep, live-coding, machine-coding, technical-interview 6 Comments

Why viewModelScope.async Swallows a Failed API Call

September 27, 2026September 22, 2026 by Arsam
Network server rack with blinking status lights and ethernet cables, representing an async API call over the network

A viewModelScope async call that nobody awaits hides its failure completely. Why a root async stores the exception, why the same code inside launch crashes instead, a runnable repro and the fix.

Categories Bug-Squash Interview, Networking Interview Tags android, coroutines, interview-prep, kotlin, networking, technical-interview 1 Comment

Why Picking the Wrong Project to Talk About Can End an Android Hiring Manager Screen Early

September 27, 2026September 18, 2026 by Hass
Two interviewers looking at a resume while on a video call with a candidate during an Android hiring manager screen

The Android hiring manager screen often decides whether you get an onsite. What the manager listens for during your project walkthrough, and a sample walkthrough that holds up.

Categories Interview Strategy Tags android, hiring-manager-screen, hiring-process, interview-prep, technical-interview 2 Comments
Older posts
Newer posts
← Previous Page1 Page2 Page3 Page4 Next →

Follow GrindLoop

Recent Posts

  • The Competing Priorities Interview Question Gets Decided by “What Did You Drop?”
  • String.format Locale Bug: Why “1234,50” Throws NumberFormatException on Android
  • Does Taking a Hint in a Coding Interview Count Against You?
  • Why Your “Why Do You Want to Work Here” Answer Could Be About Any Company
  • Kotlin Mutex withLock Deadlock: Why a Nested withLock Hangs Forever

Recent Comments

  1. The Competing Priorities Interview Question Gets Decided by "What Did You Drop?" on How to Answer “Tell Me About a Time You Missed a Deadline” When You Saw It Coming
  2. Does Taking a Hint in a Coding Interview Count Against You? on What the Algorithm Round Actually Tests in Android Interviews
  3. Why Your "Why Do You Want to Work Here" Answer Could Be About Any Company on Why Sounding Too Rehearsed Can Now Hurt You in the Behavioral Round
  4. Kotlin Mutex withLock Deadlock: Why a Nested withLock Hangs Forever on Why Fast Scrolling Duplicates Items in Your Paginated List
  5. How to Reapply After a Failed Interview When the Recruiter Gives No Feedback on What the Senior Android System-Design Round Actually Tests
© 2026 GrindLoop: Android & iOS Interview Prep • Built with GeneratePress
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}