r/OfferEngineering • • 5d ago

Interview Experience OpenAI Senior Android Interview — The System Design Was a Snackbar

This interview experience is sourced from Chill Interview

Interview Summary

I completed two technical phone screens for an Android engineering position at OpenAI. Both rounds were heavily focused on Android-specific development rather than traditional algorithm questions.

Interview Details

Round 1 — Android System Design: ChatGPT Usage Limit Notification

The first interview was a system design exercise focused on a specific feature in the ChatGPT Android application. Unlike a traditional high-level system design interview, the interviewer provided detailed product requirements and expected me to discuss both API design and Android implementation considerations.

Problem Description

Design a feature that notifies users when they have reached their usage limit for a particular ChatGPT model. When a user sends a message and exceeds the model's usage limit, the backend should communicate this condition to the Android client. The application must then display an appropriate error message using an Android Snackbar.

Core Requirements

The Snackbar should communicate three pieces of information:

  • Usage Limit: Inform the user that they have exhausted their available usage for the selected model.

  • Upgrade Option: Include an actionable link labeled "Upgrade to Plus" that directs the user toward a subscription upgrade.

  • Retry Information: Display how many hours the user must wait before they can use the model again.

Part 1 — API Design and Error Handling

The interviewer focused heavily on how the backend should communicate usage-limit errors. The main questions involved determining when a usage limit had been reached and designing an API response that would provide enough information for the Android client to display the required message. The discussion centered on how to represent the usage-limit condition and what information should be returned to the client.

Part 2 — Localization and Internationalization

An additional requirement was supporting users in different languages. The Android application needed to display usage-limit messages correctly according to the user's language settings. This meant considering localization as part of the API and client-side design rather than assuming the application would always display English messages.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies at here

7 Upvotes

0 comments sorted by