Skip to main content

X

Mobile engineer at X

X interviews favor systems stamina and first-principles problem solving, often around feed ranking, realtime infrastructure, and abuse controls. Teams run lean, so expect questions about operating with limited resources and owning a broad surface area.

Process timeline

  1. 1

    Recruiter and manager

    Background and appetite for lean-team work.

  2. 2

    Coding

    Algorithms and practical implementation.

  3. 3

    System design

    Feed ranking, realtime systems, and abuse controls.

  4. 4

    Fit and intensity

    Operating with lean teams and broad ownership.

What X looks for

What they value

  • Systems depth on realtime, high-scale problems
  • Resourcefulness with limited headcount
  • Broad ownership and initiative

Culture signals

  • First-principles reasoning over convention
  • Comfort owning a wide surface with few people
  • High intensity and fast iteration

Interview questions

Mobile engineer questions worth preparing alongside the X rounds described above, drawn from our mobile engineer question bank.

As asked

Design the data architecture for an offline-first mobile app that syncs with a server when connected. Cover conflict resolution and the user experience.

Sample answer outline

Local store (SQLite, Realm, WatermelonDB) as the source of truth for reads. Writes go to the local store first and queue for sync. Sync protocol: a sync log of operations or a CRDT, sent in batches with a server-assigned version. Conflict resolution: last-write-wins is simplest and sometimes wrong (for collaborative documents use a CRDT, for inventory use server-authoritative reconciliation). UX: show pending state on records that have not synced, give users a way to see and resolve conflicts, never silently overwrite. Discuss the cold-start sync for a new device and the partial-sync case.

Expect these follow-ups

  • What if a user deletes a record offline while another user edits it online?
  • How would you handle media (photos, video) in the same sync framework?
  • When is offline-first too expensive to bother with?
offlinesyncmobile-architecture

As asked

A React Native feed screen drops frames when scrolling because it sends frequent events between JavaScript and native code. How do you diagnose and fix it?

Sample answer outline

Start with measurement in Flipper, React DevTools, native profilers, and frame timing rather than assuming React is the bottleneck. Look for expensive renders, oversized serialized payloads crossing the bridge, synchronous native calls, image decode work, and layout thrash. Fixes include moving high-frequency work to native or JSI, reducing event payloads, memoising row components, using FlatList correctly, and pre-sizing media. A senior answer explains the old bridge versus the new architecture without pretending migration alone fixes bad rendering. Candidates often miss that JavaScript can be idle while the UI thread is blocked.

Expect these follow-ups

  • What changes under Fabric and TurboModules?
  • How do you separate JavaScript thread stalls from UI thread stalls?
  • When would you write a native module instead of staying in JavaScript?
performancenative-bridgemobile

As asked

Can you walk me through the five UIApplicationDelegate lifecycle states in iOS, what triggers each transition, and where you'd place expensive setup or teardown work in a typical production app?

Sample answer outline

A strong answer names Not Running, Inactive, Active, Background, and Suspended, explains the delegate callbacks (willFinishLaunching, didBecomeActive, willResignActive, didEnterBackground, willTerminate), and notes that background time is limited. Candidate should mention moving heavy init out of didFinishLaunching to avoid slow launch, and doing state-save in didEnterBackground before the 5-second window closes.

Expect these follow-ups

  • How does SceneDelegate change this picture on iOS 13 and later?
  • What happens if your app is suspended and a push arrives while the device has Low Power Mode on?
iosapp-lifecycleuiapplicationdelegatebackground-execution

As asked

Explain how Android's Activity back stack works, what task affinity does, and describe a real scenario where misunderstanding task affinity caused a navigation bug in an app you might build.

Sample answer outline

A strong answer covers the task and back stack model, explains how launch modes (standard, singleTop, singleTask, singleInstance) interact with the back stack, and describes taskAffinity to group activities across packages. The scenario should mention something like a deep-link opening an activity in a new task, causing the back button to exit instead of returning to the parent screen.

Expect these follow-ups

  • How does Fragment back stack differ from Activity back stack?
  • With Jetpack Navigation, how do you replicate singleTop behavior?
androidactivityback-stacknavigationjetpack-navigation

As asked

How does Automatic Reference Counting work in Swift, and what are the three most common patterns that produce retain cycles in iOS apps? How do you detect and fix them?

Sample answer outline

Candidate should explain that ARC deallocates objects when retainCount hits zero, then name delegate cycles (strong delegate property), closure captures of self, and parent-child object graphs. Detection via Xcode Memory Graph Debugger and Instruments Leaks template. Fix with weak/unowned references in closures and delegate declarations, with a note on when unowned is safe versus when it causes a crash.

Expect these follow-ups

  • When would you choose unowned over weak, and what crash does a wrong choice cause?
  • How do Combine subscribers interact with ARC?
swiftarcmemory-managementretain-cycleinstruments

As asked

Describe how structured concurrency works in Kotlin coroutines. What guarantees does it provide, and how does a CoroutineScope tied to an Android ViewModel prevent memory leaks that you would have seen with raw threads or AsyncTask?

Sample answer outline

Strong answer explains that a parent coroutine's scope outlives all children, cancellation propagates down, and exceptions propagate up through SupervisorJob versus Job. For ViewModel: viewModelScope is cancelled in onCleared(), so in-flight network calls are cancelled when the user leaves the screen, avoiding stale callbacks writing to a dead UI.

Expect these follow-ups

  • What is the difference between launch and async in terms of exception handling?
  • How would you test a suspend function that calls a network layer?
kotlincoroutinesstructured-concurrencyviewmodelandroid

Mobile engineer interview detail at X

How the X loop applies to Mobile engineer candidates

X is a big-tech employer headquartered in San Francisco, and the same 4-stage process described above is what a mobile engineer candidate walks through, with the technical stages tuned to the engineering discipline. X interviews favor systems stamina and first-principles problem solving, often around feed ranking, realtime infrastructure, and abuse controls. Teams run lean, so expect questions about operating with limited resources and owning a broad surface area.

For a mobile engineer, the load concentrates on coding and system design. Those are the stages where the engineering signal is read most closely, so they are where preparation pays off most. The non-technical stages (recruiter and manager and fit and intensity) still gate the offer, but they assess fit and communication rather than role-specific depth.

What the mobile engineer question mix signals

The 6 most-reported mobile engineer questions cluster around role-specific (4), frontend (1), system design (1). That distribution is the clearest read on what X actually probes for this role: the more a topic recurs, the more reliably it shows up in the loop, so it is worth weighting practice the same way.

The set spans a medium-to-hard difficulty range, topping out at hard problems. Because the topics are concentrated rather than scattered, depth in the leading area matters more than breadth for this particular role.

What moves a mobile engineer offer forward at X

Across the loop, the traits that consistently move a X mobile engineer offer forward are systems depth on realtime, high-scale problems, resourcefulness with limited headcount, and broad ownership and initiative. These are not abstract values; interviewers score against them, so a mobile engineer who demonstrates them explicitly - naming the tradeoff, stating the assumption, checking the edge case out loud - reads stronger than one who only reaches the right answer silently.

The behavioral and culture stages are checking for first-principles reasoning over convention, comfort owning a wide surface with few people, and high intensity and fast iteration. For a mobile engineer, the most credible way to show these is through specific, recent examples from real engineering work rather than rehearsed generalities.

Salary band

Use the salary page linked below for mobile engineer bands by city, modeled from BLS, ONS, and Levels.fyi reference medians.

View salary detail

Similar companies