How we assess
Every applicant goes through 5 gates: application, an AI-assisted screen, a live technical assessment scored by a practice lead, a client-fit interview, and reference and credential checks. The questions below come from the live assessment. We score answers on reasoning and trade-offs, not on recalling definitions.
20 technical questions with model-answer hints
Questions 1–10 (role-specific)
Question 1: What makes Playwright tests less flaky than older tools?
Model-answer hint
Auto-waiting, web-first assertions, isolated browser contexts, trace viewer; still needs sound test design.
Question 2: How do you choose what to automate first?
Model-answer hint
Risk and frequency; revenue and identity journeys first; avoids automating unstable UI early.
Question 3: How do you structure locators?
Model-answer hint
Role and label locators, test ids as fallback, no brittle XPath; links locator quality to accessibility.
Question 4: A test passes locally and fails in CI once in 10 runs. What do you do?
Model-answer hint
Trace viewer, timing, shared state, data collisions, environment drift; quarantine with an owner.
Question 5: How do you manage test data?
Model-answer hint
Seeded fixtures, API-level set-up instead of UI, isolation per test, never production personal data.
Question 6: What is contract testing and when is it worth the effort?
Model-answer hint
Consumer-driven contracts such as Pact; many services or teams; catches breaking changes before integration.
Question 7: How do you automate mobile tests across iOS and Android?
Model-answer hint
Appium or Detox, device farm, stable accessibility ids, parallel runs, deciding what stays manual.
Question 8: How do you fit accessibility testing into automation?
Model-answer hint
axe-core scans inside Playwright, keyboard flows, limits of automation, manual screen-reader passes.
Question 9: Which metrics show a test suite is healthy?
Model-answer hint
Flake rate, run time, escaped defects, coverage of critical journeys; not raw test count.
Question 10: Tell us about a release you blocked.
Model-answer hint
Evidence, communication, risk framing, outcome; no ego.
Questions 11–20 (Mobile & Web core)
Question 11: How do you estimate a feature when requirements are still unclear?
Model-answer hint
break it down, name the unknowns, run a short spike, give a range and re-estimate as you learn.
Question 12: How do you integrate national-ID login such as Nafath or UAE Pass safely?
Model-answer hint
standard redirect or app-to-app flow, state and nonce checks, secure token storage, expiry and failure paths.
Question 13: What goes into your definition of done for a user-facing feature?
Model-answer hint
tests, accessibility checks, analytics events, error states, documentation, feature flag.
Question 14: How do you set and enforce a performance budget?
Model-answer hint
Core Web Vitals or startup targets measured on mid-range devices, with CI checks that fail on regression.
Question 15: How do you release safely to millions of users?
Model-answer hint
feature flags, staged rollout, crash and error monitoring, fast rollback, store review planning.
Question 16: How do you handle offline or unreliable connectivity?
Model-answer hint
local caching, optimistic updates with conflict handling, retries with backoff, clear user feedback.
Question 17: What do you check before an app starts handling payments?
Model-answer hint
PCI scope, tokenisation, idempotency, webhooks, reconciliation, provider sandbox tests.
Question 18: How do you keep dependencies and SDKs secure and current?
Model-answer hint
lockfiles, automated update pull requests, vulnerability scanning, licence checks, removing unused packages.
Question 19: A design cannot be built as drawn. What do you do?
Model-answer hint
early feasibility review, alternatives with trade-offs, design-system components, a shared decision with the designer.
Question 20: How do you review a colleague’s pull request?
Model-answer hint
correctness, readability, tests and security; small PRs; clear blocking versus non-blocking comments.
Interviewer tip: Ask for a real example after every answer. Strong candidates describe what they built, what broke and what they changed.
Practical task
Timebox 2 hours. Given a demo e-commerce site and its API, write Playwright tests for login, add-to-cart and checkout, including one API-level set-up, one negative test and one axe-core scan. Run them in GitHub Actions with a trace on failure, and add a 1-page strategy note listing what you deliberately did not automate and why.
How to run it Share the brief 24 hours ahead or run it live. Ask the candidate to talk through trade-offs as they work; reasoning matters more than a finished artefact.
Red flags our practice leads watch for
- Uses fixed sleeps to make tests pass.
- Measures success by the number of test cases written.
- Cannot read or modify application code at all.
- Uses copies of production personal data for testing.
- Universal flag: Vague answers that never reach a concrete system, number or decision the candidate personally owned.
The scorecard we use
Score each dimension 1–4 (1 = no evidence, 2 = partial, 3 = solid, 4 = exceptional):
| Dimension | Weight | What a 4 looks like |
|---|---|---|
| Technical depth, production judgement and security | 40% | Explains how and why, designs for failure and sensitive data, and knows each tool’s limits |
| Practical task and problem solving | 30% | Delivers a working solution with tests and documented decisions |
| Communication and documentation | 20% | Explains clearly to technical and non-technical audiences, in English or Arabic |
| References and regional context | 10% | References confirm the claimed scope; knows the frameworks and data-residency rules that apply |
Pass bar: weighted average of 3.0 out of 4 or higher, with no dimension below 2. The practice lead approves the final result.