David Chung · checked October 2, 2026

OpenAI & Anthropic.
Referrals and interview preparation.

Seven public interview reports, 24 original practice prompts, answer checkpoints, and a seven-day rehearsal plan. Focus: senior Android product/platform work and mobile/backend boundaries.

Referral routes and ready-to-send drafts

Start with someone who has seen your work; use Blind as another way to establish a relevant connection. A shared employer is an introduction route, not an endorsement. OpenAI recruiting guidance emphasizes meaningful connections and people who can speak to your work. OpenAI recruiting discussion: meaningful referrals.

Search Blind’s Tech Referrals channel for OpenAI / Anthropic / Android / mobile. Ask for a fit review, then share one job and the matching resume privately. The accessible Blind: OpenAI referral discussion is from 2024, so it does not establish current referral rules.

Public leads: RJ Marsan: public professional profile has OpenAI Android work and a prior Lyft background; ask a mutual colleague for an introduction if one exists. Mike Lewis: public mobile hiring posts posted about Anthropic mobile hiring previously; confirm that he still works with the relevant team. Neither person is known to have offered David a referral.

Roles to attach: OpenAI Android Engineer, Applied Foundations or OpenAI Android Engineer, Ad Formats; Anthropic Staff Software Engineer, Android. Use one requisition per direct request.

OpenAI resume · Anthropic resume

Blind post

Title: OpenAI / Anthropic Android referral - senior engineer at Lyft

Senior Android engineer at Lyft with 10+ years in software engineering, exploring OpenAI Android and Anthropic Claude mobile roles.

Relevant work:
- Led the Android client for Driver AI from specification to public launch, including chat/voice and shared API contracts.
- Built a speech framework reused across three products and worked on Android Auto reliability.
- Built internal AI developer tooling that turns product requests into draft mobile PRs with queued workers and human review gates.
- Previously co-founded Verdict MMA, shipping Android, React/Next.js, Node.js, and payment workflows.

Would an employee on a relevant team be open to reviewing my fit and, if comfortable, referring me? I can DM a tailored resume and one specific requisition. Team-fit advice would also help.

Thanks!

OpenAI introduction message

Hi RJ - I am a senior Android engineer at Lyft exploring OpenAI Android roles. I led the Android client for Driver AI, built shared speech infrastructure, and created internal AI tooling for draft mobile PRs. Your Android engineering write-up caught my attention. Would you be open to a brief fit discussion? I can send my resume and the Applied Foundations role; if you think there is a match, I would appreciate a referral.

Anthropic introduction message

Hi Mike - I saw your public posts about Anthropic mobile hiring. I am a senior Android engineer at Lyft and led the Android client for Driver AI, including chat and voice. I also co-founded Verdict MMA and worked across Kotlin, React/Next.js, Node.js, and payment workflows. Are you still connected with the mobile team? I would appreciate a fit discussion for the Staff Android role and can send a tailored resume.

Forwardable background

David Chung is a senior Android engineer at Lyft with 10+ years in software engineering. He led the Android client for Driver AI, built speech infrastructure reused across three products, and created internal AI tooling for draft mobile PRs. Previously he co-founded Verdict MMA and shipped mobile, web, and backend work. He is interested in Android product/platform roles and can share a tailored resume and project deep dive.

Drafts prepared; no Blind post, direct message, referral, or job application submitted. Ask the employee which referral/application order their process requires rather than assuming a universal rule.

What candidates reported

These accounts are unverified and may involve different teams, levels, years, and formats. Each report below links to what was visible. The specifications in the practice bank are original exercises, not reconstructed confidential interviews.

R01 · OpenAI · candidate report

Build an Android UI in Android Studio

A candidate describes an Android UI implementation exercise; the detailed spec and time budget were not published.

Use for practice: Use P01 as an original 55-minute simulation, then P03 for API and error-state follow-ups.

Candidate report: OpenAI Android UI exercise

R02 · Anthropic · candidate report

Diagnose and repair a Kotlin/Compose app

A prospective Android candidate relayed a recruiter description of debugging an existing app, prioritizing defects, and verifying repairs. This is recruiter guidance as reported by the candidate, not an official published question.

Use for practice: Practice P02. Reproduce a symptom, state a hypothesis, fix the smallest cause, and rerun the same scenario. Prioritize correctness over the number of edits.

Candidate report: Anthropic Android debugging assessment

R03 · Anthropic · candidate report

Build a crawler, then discuss concurrency

A SWE candidate reported a crawler spanning coding and design; another anonymous account describes concurrency and multi-machine follow-ups. Neither establishes the Android interview format.

Use for practice: Practice P05, starting synchronously and adding bounded concurrency only after the base contract works.

Candidate report: Anthropic crawler exercise · Candidate report: crawler concurrency follow-ups

R04 · Anthropic · candidate report

Extend a banking/ledger system

A SWE II report describes successive banking requirements, including scheduled transfers and resource constraints.

Use for practice: Practice P06. Connect state-transition reasoning to Verdict V04 without claiming your production ledger implements this mock specification.

Candidate report: Anthropic banking exercise

R05 · Anthropic · candidate report

Implement an in-memory database

An older SRE report describes a CRUD database exercise. It is not evidence of a current mobile question.

Use for practice: Practice P07 as a general coding drill; ask for precise expiry, scan, and persistence semantics before implementing extensions.

Candidate report: Anthropic database exercise

R06 · Anthropic · candidate report

Design a chat application

A SWE report indexed in September 2026 describes a July interview asking for chat-app system design. The full review was not readable directly.

Use for practice: Practice P09/P10. State what is durable, how reconnect works, and where partial responses live.

Candidate report: Anthropic chat system design

R07 · OpenAI · candidate report

Implement a time-versioned key/value store

An anonymous account labeled 2025 describes a timestamped store with concurrency and memory follow-ups. Treat it as a lower-confidence general SWE report.

Use for practice: Practice P08. Verify timestamp boundaries and ordering assumptions before adding concurrency.

Candidate report: OpenAI time-based key/value store

Practice bank - 24 original prompts

Open a prompt for answer checkpoints, follow-ups, and your existing stories. Coding timings and success criteria are rehearsal choices, not employer requirements.

24 of 24 prompts

P01 · OpenAI · Coding

Build a conversation screen in 55 minutes

Implement a Compose list, composer, send action, loading/error states, and retry using a supplied fake repository. No real model API is needed.

Answer checkpoints and follow-ups
A strong answer covers
  • Separate durable conversation state from transient UI state; give messages stable IDs.
  • Demonstrate success, failure, and retry; avoid double submission.
  • Keep the first version small enough to run before adding polish.
Follow-ups
  • What survives rotation and what survives process death?
  • How do you handle an empty or extremely long reply?

Your evidence: L02, V06

P02 · Anthropic · Coding

Debug a broken Compose feature in 55 minutes

Use a small app with stale search results, lost draft state on rotation, and duplicate submission. These are original mock defects, not reported Anthropic bugs.

Answer checkpoints and follow-ups
A strong answer covers
  • Spend the first minutes reproducing and ranking symptoms.
  • Trace ownership of asynchronous work and the source of UI state.
  • Verify fixes by replaying the original steps, then add a focused regression check.
Follow-ups
  • A slower earlier request overwrites a newer result: where should cancellation or request-version checks live?
  • Which bug do you leave for later, and why?

Your evidence: L04, V04

P03 · Both · Coding

Add cancellable response streaming

Extend P01 so a fake stream emits text chunks and completion/error events; support stopping generation and retrying.

Answer checkpoints and follow-ups
A strong answer covers
  • Define generating, completed, stopped, and failed states explicitly.
  • Tie each stream to a response ID; stop stale collectors updating the active conversation.
  • Keep durable messages separate from transport events and consider batching UI updates.
Follow-ups
  • How do cancellation and network failure differ?
  • Can a retry duplicate text or duplicate billing?

Your evidence: L02, L03

P04 · Both · Coding

Implement a resumable iterator

Write next(), saveState(), and restoreState() over multiple lists with empty lists allowed. This is an original general engineering exercise.

Answer checkpoints and follow-ups
A strong answer covers
  • Specify whether saved state denotes the next unread item.
  • Test empty input, exhaustion, nested empty lists, and replay from a saved state.
  • Keep state independent of caller mutation, or explicitly reject mutable inputs.
Follow-ups
  • What if input changes after state is saved?
  • How do you version a persisted state format?

Your evidence: V07

P05 · Anthropic · Coding

Build a bounded concurrent crawler

Given fetchLinks(url), return unique reachable URLs on the seed hostname; start with a serial implementation and then add a fixed worker limit.

Answer checkpoints and follow-ups
A strong answer covers
  • Normalize and deduplicate according to an explicit URL policy before scheduling.
  • Track pending and active work so termination does not race with discovery.
  • Test cycles, repeated links, fetch failures, and concurrency limits.
Follow-ups
  • What happens when two workers discover the same URL?
  • How would retries and a durable frontier change the design?

Your evidence: V01

P06 · Anthropic · Coding

Build and extend a banking model

Implement accounts, deposits, withdrawals, transfers, and scheduled transfers with integer money units; advance through requirements in stages.

Answer checkpoints and follow-ups
A strong answer covers
  • Define conservation-of-funds and insufficient-balance rules.
  • Make ordering of scheduled events and duplicate operation IDs explicit.
  • Test a full-balance withdrawal and its reversal as separate transitions.
Follow-ups
  • What changes when an account is merged?
  • Which validation rules apply to a refund rather than a new debit?

Your evidence: V04, V03

P07 · Anthropic · Coding

Build a small in-memory store

Implement set/get/delete and prefix scans; then add logical timestamps and expiry as mock extensions.

Answer checkpoints and follow-ups
A strong answer covers
  • Specify missing-key, overwrite, deletion, and scan-order behavior.
  • Make the expiry boundary deterministic and test just before/at/after expiry.
  • Do not add backup/restore or thread safety unless the requested contract needs them.
Follow-ups
  • Does an overwrite reset expiry?
  • How would a restore interpret the remaining lifetime?

Your evidence: V02, V08

P08 · OpenAI · Coding

Build a time-versioned key/value store

Support put(key,value,timestamp) and get(key,timestamp) returning the latest value at or before the query time.

Answer checkpoints and follow-ups
A strong answer covers
  • Agree on duplicate timestamps and out-of-order writes.
  • Test missing keys, times before the first value, exact hits, and between-version queries.
  • Explain lookup/write costs for the chosen representation.
Follow-ups
  • How do concurrent readers observe a consistent version?
  • What changes under a memory-retention limit?

Your evidence: V02, V04

P09 · Both · Design

Design a mobile AI conversation product

Design Android UI, conversation APIs, durable storage, response generation, and recovery from interrupted streams.

Answer checkpoints and follow-ups
A strong answer covers
  • Draw the mobile/service boundary before scaling the backend.
  • Specify message IDs, ordering, acknowledgments, completion, and reconnect semantics.
  • Define time to first visible content, completion latency, error rate, and crash-free sessions as proposed metrics.
Follow-ups
  • The app restarts during generation: what does it render?
  • When should partial output become durable?

Your evidence: L02, V06

P10 · Anthropic · Design

Keep conversations consistent across devices

Support a conversation opened on phone and desktop with edits, regeneration, deletion, and temporary disconnection.

Answer checkpoints and follow-ups
A strong answer covers
  • Declare authoritative versions and a conflict policy.
  • Separate local draft state from committed conversation history.
  • Explain reconciliation, tombstones, and how old clients handle additive models.
Follow-ups
  • What happens if both devices retry the same send?
  • How are branching replies represented?

Your evidence: L02, V07

P11 · OpenAI · Design

Design shared Android foundations

Design navigation, state, observability, and networking primitives used by several AI product teams.

Answer checkpoints and follow-ups
A strong answer covers
  • Name a small reusable contract and what stays product-specific.
  • Describe adoption, compatibility, ownership, and migration sequencing.
  • Propose rollout and reliability measures rather than assuming a velocity gain.
Follow-ups
  • How do you avoid a framework that blocks product teams?
  • When do you permit a local implementation instead of extending the library?

Your evidence: L03, L11

P12 · OpenAI · Design

Design an ad presentation surface

Design a native sponsored card that coexists with conversation content. Treat this as a mock product problem; actual ads-pin scope remains limited to what you personally shipped.

Answer checkpoints and follow-ups
A strong answer covers
  • Separate sponsorship labeling, eligibility, rendering, and measurement.
  • Define visible impressions, clicks, exposure deduplication, and reliability guardrails.
  • Preserve user control and protect normal conversation interaction.
Follow-ups
  • How do you distinguish a downloaded ad from a viewed ad?
  • How would you gate a rollout and evaluate engagement without claiming causality from a raw count?

Your evidence: L15, L03

P13 · Both · Design

Design a voice interaction lifecycle

Support microphone input, partial transcripts, playback, interruption, and transitions between background and foreground.

Answer checkpoints and follow-ups
A strong answer covers
  • Define ownership of recording, playback, and audio focus.
  • Specify cancellation and cleanup on navigation or lifecycle changes.
  • Explain permissions, failure UI, and tests using deterministic fake audio components.
Follow-ups
  • A reply arrives after the screen closes: what should happen?
  • How do navigation guidance and conversational playback share audio priority?

Your evidence: L03, L04

P14 · Both · Design

Turn AI-generated draft PRs into a dependable workflow

Design request admission, planning, workers, repositories, review gates, retry, and human approval for an AI developer tool.

Answer checkpoints and follow-ups
A strong answer covers
  • Separate a successful agent run from an accepted and merged PR.
  • Bound permissions, isolate workspaces, and make restarts recoverable.
  • Propose a measured cohort with comparable task complexity, review effort, defects, and cost.
Follow-ups
  • How do you prevent duplicate jobs creating duplicate branches?
  • Which steps always require a human decision?

Your evidence: L01, V01, V08

P15 · Anthropic · Design

Protect payment state across mobile and provider callbacks

Design pending deposits/withdrawals, provider retries, authoritative balances, and a recovery screen.

Answer checkpoints and follow-ups
A strong answer covers
  • Write invariants for debit, settlement, decline, and refund.
  • Do not claim a queue or single regression test gives exactly-once processing.
  • Explain server authority, transaction boundaries, reconciliation, and user-visible pending states.
Follow-ups
  • A decline follows a full-balance debit: which account is checked?
  • How is a duplicate callback recognized?

Your evidence: V03, V04

P16 · Both · Design

Handle a synchronized traffic burst

Design admission, queues, worker limits, database connections, retries, and useful observability for a live-event surge.

Answer checkpoints and follow-ups
A strong answer covers
  • Distinguish accepted work from completed user-visible effects.
  • Use queue age, arrival/completion rate, failure count, and dependency saturation to identify overload.
  • Explain graceful degradation and which operations cannot be delayed.
Follow-ups
  • What changes when processing fails after a partial write?
  • How would you decide whether to throttle producers or add workers?

Your evidence: V01, V02

P17 · OpenAI · Behavioral

Why OpenAI, and why this Android team?

Give a 90-second answer naming one target team and a product problem you can help solve.

Answer checkpoints and follow-ups
A strong answer covers
  • Use Driver AI, reusable speech, or ads-pin contribution according to the role.
  • Explain a specific interest in AI products and a real engineering concern.
  • Keep AI product integration distinct from model-training expertise.
Follow-ups
  • Why this team over a generic AI company?
  • What would you need to learn in your first month?

Your evidence: L02, L03, L15

P18 · Anthropic · Behavioral

Why Anthropic, and what does reliable AI mean to you?

Describe an honest motivation, a concrete mobile reliability problem, and a decision you would make when goals conflict.

Answer checkpoints and follow-ups
A strong answer covers
  • Connect interest in trustworthy interaction to engineering behavior, not a memorized mission statement.
  • Use one real rollout or callback example and name its limits.
  • Be candid about open questions and what evidence could change your opinion.
Follow-ups
  • Would you delay a feature that behaves unpredictably?
  • What safety concern about an AI assistant do you disagree with or find unresolved?

Your evidence: L04, V04

P19 · Both · Behavioral

Explain Driver AI at three levels

Practice a 90-second overview, a five-minute architecture explanation, and a 15-minute technical deep dive.

Answer checkpoints and follow-ups
A strong answer covers
  • Name your Android responsibility, partners, and contract ownership separately.
  • Explain one difficult state transition and the chosen tradeoff.
  • Use launch/reuse evidence; reserve engagement or earnings claims for an actual experiment.
Follow-ups
  • What did you personally implement?
  • What would you change if you rebuilt it?

Your evidence: L02

P20 · Both · Behavioral

What did your AI developer pipeline improve?

Explain prototype-to-operational workflow, adoption evidence, and a measurement plan for productivity.

Answer checkpoints and follow-ups
A strong answer covers
  • Lead with queued workers, review gates, recovery, and integration you owned.
  • Do not present tool-repository PR counts as generated-PR output.
  • Label proposed measures as future evaluation rather than results already observed.
Follow-ups
  • What generated changes did reviewers reject?
  • How would you compare assisted and unassisted tasks fairly?

Your evidence: L01

P21 · Both · Behavioral

Tell me about a production incident

Explain the Android Auto incident through diagnosis, cohort isolation, mitigation, verification, and learning.

Answer checkpoints and follow-ups
A strong answer covers
  • Keep the Android 16 incident separate from the Android 17 lifecycle race.
  • Describe your responder role without adopting incident-commander decisions.
  • Use the roughly three-day targeted-fix timeline without inventing a reliability percentage.
Follow-ups
  • What proved the affected cohort?
  • How did you validate a release build on actual hardware?

Your evidence: L04, L05, L12

P22 · Both · Behavioral

Tell me about a technical disagreement

Describe a real release or shared-contract disagreement and how you made the tradeoff reviewable.

Answer checkpoints and follow-ups
A strong answer covers
  • State the other person's valid concern.
  • Name the alternatives, evidence, and decision owner.
  • Use an actual resolution; do not manufacture agreement or an experiment result.
Follow-ups
  • What if the team chose the option you opposed?
  • What feedback changed your approach?

Your evidence: L06, L09, L02

P23 · Anthropic · Behavioral

Describe a state-correctness bug

Explain the declined full-balance withdrawal, the invalid precondition, the fix, and the regression test.

Answer checkpoints and follow-ups
A strong answer covers
  • Walk through balances before debit, after debit, and after refund.
  • Explain why reversing an operation needs different preconditions.
  • Acknowledge that affected-user counts and remediation totals are not established.
Follow-ups
  • Did you introduce the original bug?
  • What tests would cover repeated or out-of-order callbacks?

Your evidence: V04, V08

P24 · Both · Behavioral

How did you increase other engineers' ownership?

Explain mentoring two Android hires and the shared speech framework as separate examples of broader contribution.

Answer checkpoints and follow-ups
A strong answer covers
  • Define starting responsibility and the ownership change you observed.
  • Show how feedback, review, and API design helped other engineers work independently.
  • Use two hires and three products as scope; avoid inventing productivity lift.
Follow-ups
  • How did you avoid becoming the permanent reviewer bottleneck?
  • What did a teammate contribute that you should credit?

Your evidence: L11, L03

Seven days - 90 minutes per day

DayFocusRehearsal
1Android implementation55 min P01; 20 min edge cases/tests; 15 min record P19.
2Android debugging55 min P02; 20 min reproduction/regression review; 15 min rehearse P21.
3Concurrency55 min P05; 20 min race/termination tests; 15 min explain V01 aloud.
4State correctness55 min P06 or P08; 20 min invariant tests; 15 min rehearse P23.
5Mobile system design45 min P09; 25 min P13 follow-ups; 20 min define metrics and recovery.
6Platform and AI tooling45 min P11 or P14; 25 min P20; 20 min review tradeoffs and evidence.
7Mock loop35 min implementation/debugging; 35 min design; 20 min motivation/project questions.

Score each rehearsal out of 10

Two points each for a working solution, explicit contracts/invariants, verification, clear tradeoffs, and communication/ownership. Record the failure you found and the next rep you will change. This rubric is for your practice, not either company’s hiring scorecard.

Android debugging checklist

  1. Build and run the baseline; read the scenario before changing code.
  2. Reproduce reliably; note lifecycle, device, OS, input, and timing.
  3. Trace the state owner and asynchronous work; inspect the relevant logs and breakpoint.
  4. Make one cause-based repair; avoid rewriting the app under time pressure.
  5. Replay the original repro, then test rotation, background/resume, slow responses, and retry as relevant.
  6. Explain remaining defects and the next test you would add.

Story structure

Problem → your responsibility → decision and alternatives → implementation → observed result → lesson. Keep the 90-second version concise, then expand on request. Separate measured results, scope counts, and proposed metrics; do not turn an eligible rollout audience into adopters.

Before the interview

Confirm language, Android Studio versus browser editor, expected libraries, round format, and allowed AI assistance with the recruiter. OpenAI interview guide says formats and tool permissions vary. Anthropic careers: how we hire describes live coding; also read Anthropic candidate AI guidance.

Sources and evidence boundaries

Read on October 2, 2026. Availability and interview formats can change. No claim of privileged access, an employee endorsement, or guaranteed questions.

OpenAI interview guide
Official guidance; assessment format and permitted tools vary by team.

Anthropic careers: how we hire
Official guidance; technical interviews use live coding and include experience/motivation discussions.

Anthropic candidate AI guidance
Official policy; use recruiter instructions for your specific assessment.

OpenAI recruiting discussion: meaningful referrals
Official recruiting discussion, February 2026; prioritizes people who know your work.

RJ Marsan: public professional profile
Public OpenAI/Android lead; prior Lyft connection is professional background, not proof of knowing David.

RJ Marsan and Patrick Hum: Android engineering case study
Historical engineering article, December 2025. The page now says the Sora product ended April 26, 2026; do not pitch a currently hiring Sora team from this article.

Mike Lewis: public mobile hiring posts
Historical Anthropic mobile hiring/launch posts. Verify current responsibilities before outreach; no referral willingness established.

Blind: OpenAI referral discussion
January 2024 discussion; anecdotal and old. It does not establish current referral policy or response odds.

Candidate report: OpenAI Android UI exercise
Anonymous Software Engineer report; Android Studio UI exercise. Interview date not established.

Candidate report: Anthropic Android debugging assessment
Anonymous prospective candidate relaying recruiter guidance; indexed September 2026. Comments about other employers are not Anthropic reports.

Candidate report: Anthropic crawler exercise
Anonymous Software Engineer report; publication/interview date not established.

Candidate report: crawler concurrency follow-ups
Anonymous July 2, 2026 account; no independent verification.

Candidate report: Anthropic banking exercise
Anonymous SWE II report; date not established. Not an Android-specific loop.

Candidate report: Anthropic database exercise
Older SRE report, with a July 2023 answer. Useful general practice, not current Android evidence.

Candidate report: Anthropic chat system design
Software Engineer report posted September 8, 2026, describing a July 2026 interview. Reported prompt appeared in the search index; the direct page did not expose the full review.

Candidate report: OpenAI time-based key/value store
Anonymous account labeled 2025 on a commercial prep community; lower confidence and not Android-specific.

OpenAI Android Engineer, Applied Foundations
Current employer posting observed October 2, 2026.

OpenAI Android Engineer, Ad Formats
Current employer posting observed October 2, 2026; San Francisco HQ role.

Anthropic Staff Software Engineer, Android
Current employer posting observed October 2, 2026; Staff-level scope, Kotlin/Compose and backend comfort.