Interview questions
Real questions reported by candidates and synthesised by working engineers. Each page has sample answer outlines, common follow-ups, and difficulty ratings. Free, no paywall.
Roles
20 roles
Backend engineers build the server-side systems that power applications: APIs, databases, distributed systems, business logic, and infrastructure. The role spans framework design, data modelling, scaling under load, and service reliability.
Database engineers design, tune and operate the data stores that application and data teams depend on. They work on schema design, query performance, indexing, replication, backup strategy, migrations and the tradeoffs between relational, document, search and analytical stores.
Developer relations engineers help external developers understand, adopt and succeed with technical products. The role combines engineering credibility, example apps, documentation, community feedback, talks and clear escalation paths back into product teams.
Elixir engineers build fault-tolerant web, messaging and realtime systems on the BEAM. The strongest candidates understand OTP supervision, process isolation, Phoenix, LiveView, concurrency patterns and where Elixir is a poor fit.
Embedded engineers build software that runs close to hardware, often with strict limits on memory, power, latency and updateability. Interviews commonly cover C or Rust, real-time constraints, device drivers, debugging tools, firmware release safety and hardware-software tradeoffs.
Engineering managers own the output, growth, and well-being of a team of engineers. The role blends people leadership, hiring, technical direction, planning, and stakeholder communication. Senior EM interviews stress scope, performance management, and judgement under conflicting priorities.
Forward-deployed engineers embed with customers to turn product capabilities into working business workflows. The modern version combines software engineering, solutions architecture, product discovery, consulting judgement and executive communication.
Founding engineers join early enough to shape the product, technical direction, hiring bar and operating habits of a startup. Interviews test breadth, judgement under ambiguity, willingness to do unglamorous work and the ability to ship without hiding behind process.
Frontend engineers build the interfaces users interact with: rendering systems, state management, accessibility, and performance. Modern frontend interviews cover JavaScript fundamentals, React patterns, browser internals, and increasingly complex client-side architectures.
Full-stack engineers ship end-to-end web product features. They are fluent in TypeScript, React, Node or another backend runtime, and the database underneath. Strong full-stack engineers move smoothly between UI work, API design, and operational concerns without a handoff.
Golang engineers build network services, platform tooling and cloud-native backends with a focus on simplicity and operational clarity. Strong candidates understand goroutines, channels, interfaces, context propagation, profiling and production service design.
Kafka engineers design and operate event streaming systems that move high-volume data between services, warehouses and realtime applications. The role requires strong judgement around partitioning, consumer groups, schema evolution, delivery guarantees, retention and failure recovery.
Kotlin engineers work across Android applications, JVM backend services and multiplatform codebases. Interviews commonly cover coroutine design, null safety, Java interoperability, API design and the constraints of mobile or server runtimes.
Machine learning engineers productionise ML systems: training pipelines, model serving, feature stores, monitoring, and the surrounding distributed infrastructure. Interviews blend ML fundamentals with strong systems-engineering chops.
Mobile engineers build native or cross-platform apps for iOS and Android. The work covers app architecture, offline-first state, native UI patterns, performance on constrained devices, app store release flows, and integrating with platform SDKs for push, payments, and identity.
React Native engineers ship cross-platform mobile applications while working close to native iOS and Android constraints. Interviews cover React architecture, native module boundaries, app performance, release management, offline state and platform-specific debugging.
Rust engineers build performance-sensitive systems where memory safety, concurrency and predictable resource usage matter. Interviews usually probe ownership, borrowing, async runtimes, unsafe boundaries and pragmatic tradeoffs against C, C++ or Go.
Scala engineers usually work on distributed data systems, backend services or functional programming-heavy platforms. Interviews test JVM fundamentals, type systems, collections, Spark or Akka experience and the ability to keep complex abstractions maintainable.
Swift engineers build iOS, macOS and Apple-platform applications with attention to UI architecture, concurrency and platform conventions. Senior interviews focus on SwiftUI or UIKit tradeoffs, memory management, structured concurrency, app lifecycle and shipping reliable mobile releases.
Engineering technical writers create API docs, architecture guides, tutorials, release notes and operational documentation for technical audiences. The strongest writers can read code, test examples, identify missing context and push engineers for accuracy without turning docs into transcripts.
Roles
6 roles
Analytics engineers sit between data engineering and analytics. They model raw warehouse data into clean, tested, documented tables that analysts and product teams can trust. The modern stack centres on dbt, a cloud warehouse like Snowflake or BigQuery, and version-controlled SQL.
BI engineers build reporting layers, semantic models and dashboards that let business users make decisions without raw warehouse access. The role rewards careful metric definitions, SQL fluency, stakeholder judgement and an ability to make dashboards trustworthy rather than just visually busy.
Data engineers build the pipelines and warehouses that move data from product systems to analytics and ML consumers. The role spans batch ETL, streaming ingestion, schema evolution, data quality, and the storage and compute decisions behind the modern data stack.
Data platform engineers build shared infrastructure for ingestion, transformation, orchestration, cataloguing, governance and compute. They serve data engineers, analysts and ML teams, so the role requires platform thinking as well as deep data systems knowledge.
Data scientists apply statistical and machine learning methods to extract insights, build predictive models, and inform product decisions. Interviews lean heavily on statistics, SQL, experimentation, and translating ambiguous business problems into analytical ones.
ETL engineers build batch and streaming pipelines that extract, transform and load data between operational systems, warehouses and downstream tools. Interviews focus on data quality, idempotency, schema changes, backfills, orchestration and recovery when upstream systems misbehave.
Roles
3 roles
Product managers own outcomes for a product area. They identify problems, prioritise solutions, work cross-functionally with engineering, design, and data, and ship value. Interviews stress product sense, structured thinking, analytics, and stakeholder collaboration.
TPMs drive complex cross-team programmes to a deadline. They map dependencies, surface and unblock risks, run programme rituals, and translate between engineering, product, and executive stakeholders. The role is judged on outcomes shipped, not artefacts produced.
Vibe coders and AI-native product engineers use natural language, coding agents and product judgement to prototype and ship small product surfaces quickly. It is not yet a stable corporate title, but it captures a real interview pattern where candidates must show taste, verification discipline and ownership of AI-assisted code.
Roles
4 roles
Design systems engineers build and maintain component libraries, tokens, documentation and workflows that keep product UI consistent at scale. The role sits between frontend engineering and design, with interviews covering accessibility, API design, CSS architecture, versioning and adoption.
Motion designers create animation and interaction patterns that clarify state, guide attention and give digital products a coherent feel. In product teams the role requires restraint, accessibility awareness, prototyping skill and collaboration with engineers who must implement the motion reliably.
Product designers shape what a product looks like, how it behaves, and how users move through it. The role spans research, interaction design, visual design, prototyping, and shipping production-ready specs alongside engineering. Strong designers carry a design system and a point of view.
UX writers design the words users rely on inside products, including flows, labels, errors, empty states and notifications. The work blends content strategy, product thinking, accessibility, localisation and close collaboration with design and engineering.
Roles
4 roles
Cloud engineers design, provision and operate workloads on public cloud platforms using infrastructure-as-code and operational best practices. Interviews usually cover networking, identity, cost control, managed services, reliability patterns and migration tradeoffs.
Network engineers design and operate the connectivity layer across offices, data centres, cloud networks and edge environments. The role covers routing, DNS, load balancing, VPNs, firewalls, packet-level debugging and increasingly infrastructure-as-code for network changes.
Observability engineers make production systems measurable through metrics, logs, traces, profiling and service-level objectives. Their work turns incidents and vague slowness reports into debuggable signals that engineers can use during normal development and on-call response.
Platform engineers build internal systems that make product teams faster and safer, including deployment platforms, service templates, observability defaults and developer workflows. The best candidates balance self-service with guardrails rather than turning the platform into another ticket queue.
Roles
8 roles
AI engineers build product features on top of models, retrieval systems, evaluation workflows and production software infrastructure. The role is less about inventing new models from scratch and more about turning model capabilities into reliable, observable user-facing systems.
AI infrastructure engineers build the compute, networking, storage, inference and observability layers behind model-heavy products. Their work directly affects model capability, latency, reliability and cost, so interviews lean hard into distributed systems and GPU-aware operations.
AI red team engineers test models, agents and AI-enabled products for misuse, security, autonomy, deception and policy failures. The role combines adversarial testing, threat modelling, security engineering and clear reporting that product teams can act on.
Agent SDK engineers build applications and infrastructure around tool-calling agents, computer-use APIs, orchestration frameworks and evaluation harnesses. The work sits between backend engineering, developer tooling and AI reliability because agent behaviour must be constrained, measured and debugged.
Generative model engineers work on systems that create text, images, audio, video or structured content using foundation models. The role may involve fine-tuning, inference optimisation, dataset curation, evaluation, safety filters and product integration.
LLM ops engineers own deployment, monitoring, evaluation and reliability for applications that depend on large language models. They work on model gateways, prompt and version management, latency budgets, retrieval pipelines, safety controls and vendor fallback paths.
MLOps engineers build the pipelines, registries, serving systems and monitoring that let teams ship models repeatedly. Interviews often cover feature stores, training-serving skew, model versioning, drift detection, CI/CD for ML and rollback strategy.
Prompt engineers design, test and maintain instructions, examples and evaluation sets for model-driven workflows. As a standalone title it is narrower than AI engineering, but it remains useful where prompt quality, tool use and failure analysis have direct product impact.
Roles
2 roles
AI research engineers turn research ideas into experiments, training runs, evaluation code and reproducible systems. They need enough research fluency to work with scientists and enough engineering discipline to make results trustworthy under messy compute and data constraints.
UX researchers study user behaviour, needs and decision-making through interviews, usability tests, surveys, diary studies and product data. Strong candidates know how to choose the right method, avoid leading questions and translate messy evidence into product decisions.
Roles
2 roles
DevOps engineers own the build, release, and runtime platform that other engineers depend on. The work covers CI/CD pipelines, infrastructure-as-code, container orchestration, secrets management, and the observability stack that makes production debuggable.
SREs apply software engineering practices to operations. They define and defend service level objectives, run incident response, build the tooling that keeps distributed systems honest, and push reliability work back into product teams through error budgets.
Beyond role
The questions almost every interview returns to, with a sample answer guide for each.
Python, Java, JavaScript, Go, SQL, Rust and more, each with real answers and gotchas.
Non-tech interviews: nurse, NHS, teacher, customer service, retail, accountant and more, with worked answers.
Worked STAR examples for the 'tell me about a time' questions, tuned by role.
The recurring algorithm patterns behind most coding questions, with problem lists.