Modern QA2026Interview Depth Check
Log inJoin
1 / 1 · Book 9 · The Device Fragmentation Reality · drill: interview Q&A⊞ allGet the book →

1.9Interview Depth Check

Question 1

Prompt: A critical bug is reported: your app's background sync silently fails on Xiaomi devices, causing users to lose data entered offline. The same feature works on Samsung and Pixel. How do you investigate, and what long-term testing would you put in place?

What a strong answer should cover:

  • Xiaomi's MIUI/HyperOS aggressively kills background processes and blocks background network requests
  • Investigation: check if the app is whitelisted for battery optimization on the Xiaomi device, check if MIUI's "autostart" permission is granted
  • The sync likely fails because MIUI kills the background service before it completes
  • Long-term: add Xiaomi-specific tests that verify background sync survives MIUI's battery optimization
  • Test on real Xiaomi devices (not emulators) because emulators do not replicate MIUI behavior
  • Consider implementing a user-facing prompt to guide Xiaomi users through battery optimization exemptions

Example answer:

  • "MIUI is the prime suspect. Xiaomi's battery optimization kills background processes within minutes unless the app is whitelisted. I would reproduce on a Xiaomi device by sending the app to background, waiting 2 minutes, and checking if the sync service is still alive -- on MIUI, it almost certainly is not. The fix is two-fold: in the app, detect MIUI and prompt the user to grant autostart and battery optimization exemption. In testing, I would add a Xiaomi-specific test on BrowserStack that starts a background sync, sends the app to background for 3 minutes, brings it back, and verifies the sync completed or was correctly retried. This test must run on a real Xiaomi device, not an emulator, because MIUI's behavior is not present on stock Android. I would add this to the weekly Tier 2 run."

Question 2

Prompt: Your WebView-based feature renders correctly on a Pixel 8 but shows broken CSS on a Samsung Galaxy A54 running the same Android version. Both devices report Android 14. What is the most likely cause, and how do you systematically prevent this?

What a strong answer should cover:

  • Same Android version does not mean same WebView version -- WebView is tied to the Chrome version, which updates independently
  • Samsung devices often have older Chrome/WebView versions because updates pass through Samsung before reaching users
  • The broken CSS likely uses a feature available in a newer Chrome version but not in the older WebView on the Samsung device
  • Prevention: log WebView version in test setup, maintain a minimum supported WebView version, and test on devices with the oldest WebView in your user base
  • Use caniuse.com to check CSS feature support against the minimum WebView version

Example answer:

  • "The most likely cause is WebView version divergence. On Android, WebView is tied to the Chrome version, not the OS version. The Pixel 8 probably has Chrome 120+ while the Galaxy A54 may have Chrome 115 because Samsung updates lag behind Google's. The CSS feature I am using may require Chrome 118+. To investigate, I would log the WebView version on both devices using navigator.userAgent. To prevent this systemically, I would add a test setup step that logs the WebView version, maintain a documented minimum supported WebView version (e.g., Chrome 110), and run a caniuse check in code review for any new CSS features. I would also include one device with an intentionally older WebView in our Tier 2 matrix to catch these issues early."

Question 3

Prompt: Your e-commerce app's checkout flow works perfectly on WiFi but a user on a 3G connection reports that tapping "Place Order" appears to do nothing, and they end up with duplicate orders. Walk through the root cause analysis and the testing you would add.

What a strong answer should cover:

  • On 3G, the POST request takes several seconds; without a loading indicator, the user thinks nothing happened and taps again
  • Each tap creates a new order request, resulting in duplicates
  • Root cause: missing loading state (optimistic UI) and no idempotency protection on the server
  • Testing to add: network-throttled checkout test at 3G that verifies a loading indicator appears immediately on tap, the button is disabled after tap, and the server handles duplicate requests idempotently
  • Also test offline: what happens if connectivity drops after the first tap?

Example answer:

  • "This is a classic dual-failure: missing UI feedback and missing server-side idempotency. On 3G with 100-500ms latency, the POST request takes 3-5 seconds. Without a loading indicator, the user does not know the order is processing and taps again. Each tap fires a new request, and if the server does not deduplicate, multiple orders are created. I would add three tests. First, a Playwright test with CDP network throttling set to 3G that taps 'Place Order' and asserts: the button is disabled within 100ms, a loading indicator appears, and the button cannot be tapped again. Second, a test that sends two rapid POST requests with the same order data and verifies only one order is created (server idempotency). Third, an offline test: tap 'Place Order,' immediately drop the network, verify the app shows a clear 'connection lost, retrying' message instead of silently failing. These tests should run on every PR at 3G speed for the checkout flow specifically."

Question 4

Prompt: An engineering manager argues that testing on emulators is sufficient and real-device testing is an unnecessary expense. Present the counterargument.

What a strong answer should cover:

  • Emulators run stock Android and cannot replicate manufacturer customizations (Samsung One UI, Xiaomi MIUI, Huawei EMUI)
  • Emulators have unlimited memory and CPU; real budget devices have 3GB RAM and entry-level chipsets
  • Emulators do not replicate network hardware behavior (antenna switching, signal degradation)
  • Emulators cannot test biometric hardware, camera quality, GPS accuracy, or hardware sensors
  • Emulators miss WebView version divergence because they run Google's default Chrome version
  • The cost of a single device-specific production incident (support tickets, lost revenue, app store rating damage) typically exceeds the annual cost of cloud device farm access

Example answer:

  • "Emulators are excellent for functional testing during development, but they create a false sense of confidence. They run stock Android -- no Samsung One UI multi-window, no Xiaomi battery optimization, no Huawei HMS gap. They have unlimited memory, so they will never reproduce the OOM crashes that hit users with 3GB RAM. They run the latest WebView, so they miss the rendering bugs caused by older Chrome versions on Samsung and Xiaomi devices. They cannot test biometric auth hardware, camera barcode scanning, or GPS-dependent features. Emulators should be Tier 0 -- used for fast development feedback. But Tier 1 and Tier 2 testing must include real devices on a cloud farm. The cost comparison is straightforward: BrowserStack for 10 devices costs roughly $15K/year. A single production incident on Samsung devices -- which represent 30% of Android users -- can generate thousands of support tickets and a measurable drop in app store ratings. The real device testing pays for itself with the first prevented incident."