explaingit

arialdomartini/back-end-developer-interview-questions

16,653Audience · developerComplexity · 1/5Setup · easy

TLDR

A curated list of open-ended conversation questions for back-end developer interviews, covering design patterns, databases, distributed systems, concurrency, and architecture, with no answers included by design.

Mindmap

mindmap
  root((Interview Questions))
    Design
      Design patterns
      SOLID principles
      Architecture styles
    Databases
      ACID and NoSQL
      Schema migrations
      Query performance
    Distributed systems
      CAP theorem
      Fault tolerance
      RPC pitfalls
    Team and process
      Agile and Kanban
      Code versioning
      Legacy code
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Prepare conversation starters for a technical panel screening back-end developer candidates.

USE CASE 2

Pick a small relevant subset of questions to guide a pair-programming style interview that reveals how a candidate thinks.

USE CASE 3

Self-study back-end engineering concepts by working through the topic areas as a structured learning checklist.

Getting it running

Difficulty · easy Time to first run · 5min
License not mentioned in the explanation.

In plain English

This repository is a curated list of open-ended interview questions for back-end software developers. The author created it as a personal collection of topics they enjoyed discussing with colleagues, and they openly say they prefer sitting down and pair-programming with candidates over asking question-and-answer style interviews. The questions are not meant as a quiz: they are conversation starters intended to reveal how a candidate thinks about problems, not whether they can recite a textbook answer. The list is grouped into broad sections covering the areas a back-end developer typically works with. These include design patterns (Inversion of Control, Singleton, Active-Record, Data-Mapper, Law of Demeter, Anti-Corruption Layer, Separation of Concerns), code design principles (high cohesion and loose coupling, Don't Repeat Yourself, TDD, refactoring, the role of code comments), programming-language concepts (closures, functional programming, generics, higher-order functions, static versus dynamic typing, exceptions, pattern matching, namespaces), web fundamentals (REST versus SOAP, statelessness, API versioning, MVC and MVVM, single-page applications, third-party cookies), databases (ACID, schema migrations, the N+1 problem, normalization, lazy loading, blue/green deployment), NoSQL topics (CAP theorem, eventual consistency, scalability), code versioning (Git, Mercurial, GitFlow, rebase, merging), concurrency (race conditions, deadlocks, process starvation), distributed systems (RPC pitfalls, fault tolerance, network partitions, the fallacies of distributed computing), software lifecycle and team management (Agile, Kanban, legacy code, meetings, team organization), small algorithm and logic puzzles, and software architecture (event-driven design, CQRS, n-tier, scaling). The repository deliberately contains no answers. The author suggests that an interviewer pick a small relevant subset of questions rather than going through the whole list, and notes that even questions the interviewer cannot fully answer themselves can lead to useful conversations. There is no code in the repository, it is a single document. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Pick 5 questions from this list covering REST API design and give me the key talking points I should be able to discuss for each.
Prompt 2
I'm interviewing a mid-level back-end developer. Suggest a 45-minute question sequence from this list covering databases, concurrency, and system design.
Prompt 3
Explain the N+1 query problem and the lazy-loading trade-off in plain English as you would to a junior developer.
Prompt 4
Based on this interview question list, write a self-assessment checklist a back-end developer can use to find their own knowledge gaps.
Prompt 5
What is the CAP theorem and how would you use it to decide between a SQL and a NoSQL database in a new project?
Open on GitHub → Explain another repo

← arialdomartini on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.