Interview Questions for Backend Developers with No Right Answers
Think back to your last interview. You were asked questions like "what is ACID" or "how does an interface differ from an abstract class." You rattled off memorized definitions from a reference book. The interviewer checked a box in their notebook, and you moved on to the next item. These kinds of dialogues resemble an oral exam at university. They poorly demonstrate how a candidate solves real-world problems.
Ariardo Martini, author of the Back-End Developer Interview Questions repository, ran into the same problem. He prefers spending a full day with candidates doing pair programming. But when there's no time for collaborative development, you need topics that spark discussion rather than rehearsed answers.
A Cheat Sheet with No Right Answers
The project is a structured collection of topics for conversational interviews with backend developers. The repository has gathered over 16,000 stars, yet it contains not a single ready-made answer.
And this is intentional. The author warns upfront: most questions here are open-ended. They have no single correct solution. The goal of the collection is to start a conversation that reveals the developer's thought process, their attitude toward architectural trade-offs, and their understanding of fundamental principles.
What the Author Proposes to Discuss
All materials are divided into thematic sections. Here are a few blocks that clearly show the repository's structure.
Architecture and Design Patterns
Instead of reciting pattern names from the GoF book, the candidate receives practical tasks. Why are global and static objects considered bad practice? What are the boundaries of using Active Record versus Data Mapper? Or how to work around the "billion-dollar mistake" — the concept of null references that has caused thousands of production crashes.
Languages and Paradigms
This block contains questions about type systems, functional style, and the inner workings of languages. You might be asked to rewrite a loop using recursion with only immutable data structures. Or to discuss why constructors in Java and C# are not part of interfaces.
Distributed Systems and Databases
Here, understanding of practical scaling challenges is tested. How does the candidate evaluate the trade-offs of the CAP theorem? Which communication model will they choose for microservices: Request/Reply or Publish/Subscribe? How to approach testing concurrent code when bugs manifest once a month under high load?
Non-Technical Topics and Processes
An unexpected part of the repository addresses management and collaboration questions. How do you explain the nature of legacy code to a project manager and prove the necessity of working on technical debt? How do you organize team work under flexible schedules and unlimited vacation policies?
The Value of This Approach
The question selection principle itself is interesting. Martini advises bringing to interviews topics whose answers aren't entirely clear to the interviewer themselves. This way, the dialogue becomes a genuine exchange of experience.
The repository contains a separate category of tasks with code snippets. The candidate is given a suboptimal or dangerous fragment. The task is to find a memory leak in a stack implementation or refactor a chain of five nested constructs if. This shows whether the person sees code smells and cares about readability.
Another layer consists of hypothetical scenarios in the style of Bill Gates' interview questions. Imagine your boss is your exact clone. Would you want to work for them? Or try defending COBOL against advocates of modern languages. Such topics test mental flexibility and the ability to argue a position without fanaticism.
How to Use the Repository
Hiring leads shouldn't try to go through all 150 lists in one sitting. That would turn the interview into a multi-hour ordeal. It's wiser to pick two or three focused sections that match the specific job requirements.
For developers, the project is useful for self-assessment. Scan through the topics. If terms like Variant and Contravariant Inheritance or Fallacies of Distributed Computing cause confusion, you've got a ready-made list of topics for self-study.
Finally, these are ready-made topics for team discussions. Take the monolith versus microservices question and hold an hour-long architecture review of your own application.
Back-End Developer Interview Questions is a tool for shifting the interview format from oral exam to peer dialogue.
If you conduct interviews, check out this repository and try to build a conversation as equals. And if you're planning to job hunt, use the collection as a benchmark for assessing your own knowledge.
Related projects