Let observed performance choose the next drill. A short loop of retrieval, production, feedback, and correction beats a large passive syllabus.
Question set
35 detailed answers
01The breakdown
| Letter | What it is | How much time | What to say |
|---|---|---|---|
| S — Situation | Context | 10–15% | Where, when, which project, what role. Just enough to understand the setting, no more. |
| T — Task | Task | 10–15% | What specifically you needed to do. What the problem or challenge was. |
| A — Action | Actions | 50–60% | What you did. This is the core of the answer. Concrete steps, your decisions, why exactly that way. |
| R — Result | Result | 15–20% | How it ended. Ideally with numbers/facts. And what you took away from the situation. |
02Why it works
- It's easy for the interviewer to follow and assess. They mentally tick boxes: there's context, there's a problem, concrete actions are visible, there's an outcome. Many interviewers literally score the answer against STAR.
- You don't lose the thread. Under stress it's easy to drift — the structure keeps you on track.
- Emphasis on Action. The most valuable part is your actions and decision-making logic. STAR forces you to spend the most time on them.
- The result makes the story convincing. A story without an outcome sounds unfinished and isn't memorable.
03How to structure your answer in practice
- Situation (1–2 sentences). "On [project] we were building [what], I was [role]."
- Task (1–2 sentences). "I was faced with the task of [what]. The difficulty was that [constraint / conflict / uncertainty]."
- Action (the main part). "I started by... Then I... I decided to do [X] rather than [Y] because... I discussed it with [whom]..." — speak in the first person, step by step, justifying your decisions.
- Result. "In the end [result with a metric]. This allowed [effect]. For myself I learned that [lesson]."
04Common STAR mistakes
- Dwelling on the Situation. Five minutes of preamble about the project architecture — the interviewer has already lost interest. The context should be minimal.
- Not stating the result. The most common mistake. The story trails off into "well, and then I fixed it all." How exactly did it end? What changed? Were there any consequences?
- "We" instead of "I". "We decided," "we shipped," "the team did it" — the interviewer can't tell what you personally did. Use "I" for your own actions and "we" only for team context. Don't claim others' work, but don't dissolve into the team either.
- No specifics in the Action. "I applied best practices and optimized everything" — that's not an action. You need: "I profiled the query, found an N+1, added eager loading and an index on column X."
- A hypothetical answer instead of a real one. To "tell me about a time," you can't answer "well, I would do...". You need a real story. That's why you have to prepare them in advance (see Part 4).
- A negative result without a lesson. If the story ended badly — be sure to add what you understood and how you changed your behavior.
051. Tell me about yourself
What's being tested: the ability to present yourself briefly and in a structured way; the relevance of your experience to the role; communication. This is not an invitation to a biography starting from kindergarten.
Structure (the "present → past → future" formula, 60–90 seconds):
- Who you are now and how many years in the profession + your main stack.
- 1–2 key achievements/projects relevant to the role.
- Why you're interested in this position.
Template:
"I'm a [grade] developer with [N] years of experience, my main stack is [technologies]. For the last [N] years I've worked in [domain]; at [company] I was responsible for [area of responsibility]. A notable example is [project], where I [result with a number, e.g. 'cut API response time by 40%']. Right now I'm looking for a position where I can [what you want to develop], and your role appeals to me because [a specific reason: product / scale / technologies]."
062. Why are you leaving your previous job / why do you want to join us
What's being tested: whether you're a conflict-prone person, your motivation, whether you'll leave them just as quickly. They're looking for red flags (see Part 4).
Structure: a positive reason for leaving (growth, new challenges), without trashing anyone + a specific reason for your interest in them.
Template:
"At my current job I've learned a lot and I'm grateful for [specifics], but I've hit a ceiling in terms of [growth / technologies / scale of work]. I want to [specific goal]. What attracts me about you is [product / tech stack / engineering culture / scale], and I can see I'll be able to apply my experience in [area] while also growing."
Important: even if you left because of a toxic manager — reframe it positively ("I was looking for an environment with more mature processes"), don't blame people.
073. Your toughest technical challenge
What's being tested: the depth of your engineering thinking, how you approach hard problems, your complexity ceiling.
Structure: STAR with an emphasis on Action — how you decomposed it, what options you considered, why you chose the solution, what the tradeoffs were.
Template:
"On [project] we ran into [a problem, e.g.: as load grew, the service started slowing down at peaks]. The task was to [fix it without rewriting everything]. I started with diagnosis: [how you looked for the cause — metrics, profiling, logs]. It turned out that [root cause]. I considered [option A] and [option B]; I chose [B] because [tradeoff: faster to roll out / lower risk]. I implemented [what specifically]. In the end [metric: latency dropped from X to Y]. The hardest part was [an honest detail], and I realized that [lesson]."
084. A conflict with a colleague / a disagreement
What's being tested: emotional maturity, whether you can resolve conflicts constructively, whether you shift blame.
Structure: STAR. The key is to show that you sought to understand the other person's position and reached a solution through dialogue, rather than "steamrolling."
Template:
"[A colleague] and I disagreed about [a technical question — for example, the approach to the API structure]. I thought [my position], they thought [their position]. Instead of arguing in chat, I suggested getting on a call and first understanding where they were coming from. It turned out they were accounting for [a factor I had missed]. We compared the options against [criteria: maintainability, timelines], and [reached a compromise / I agreed with them / we agreed on criteria]. In the end [result]. I took away that it's important to first understand the other person's context before defending your own."
Avoid: stories where the colleague is an idiot and you're the hero. Show respect for your counterpart.
095. A failure / mistake and what you learned
What's being tested: self-criticism, the ability to learn, whether you take responsibility. No failures = you're either lying or not growing.
Structure: a real mistake + taking responsibility + what specifically you changed afterward.
Template:
"Once on [project] I [a specific mistake — e.g., shipped a migration without testing it against production data volumes, and it locked the table]. Because of this [consequence]. I immediately [how I reacted: rolled back / notified the team]. Once I dug in, I understood the cause was [my action — I didn't check, I assumed]. After that I [a concrete change: introduced running migrations against a copy of prod / added this to the release checklist]. Since then the problem hasn't recurred."
Important: take responsibility yourself, but show a systemic conclusion, not self-flagellation.
106. A project you're proud of
What's being tested: what you consider valuable, your contribution, your motivation.
Structure: STAR with an emphasis on your contribution and the measurable effect.
Template:
"What I'm most proud of is [project] — [what it is]. I was responsible for [your part]. What made it special is that [why it was hard / valuable]. I [key actions]. As a result [effect: for users / the business / the team, ideally with a number]. I'm proud not only of the result but also of the fact that [for example: I designed it so the team can easily maintain it to this day]."
117. How do you prioritize tasks under a deadline
What's being tested: the ability to work under constraints, communication with management, whether you play the hero at the cost of burnout.
Structure: show a system (impact vs effort, what's critical for the release) + proactive communication.
Template:
"When there are more tasks than time, I first split them by impact and urgency: what blocks the release / other people, and what can wait. For example, on [project] before a deadline I identified [the critical minimum for launch] and deferred [the nice-to-haves]. I don't stay quiet: I go straight to the [PM/team lead] and honestly say that X is realistically doable on time, but Y is a risk, and I propose options. That time we [cut the scope / pushed the deadline by 2 days], and the release went off without a fire drill."
128. A time you disagreed with your team lead's / team's decision
What's being tested: whether you can object with reasoning while still committing to a team decision ("disagree and commit").
Structure: you objected with arguments and data + after the decision you supported it.
Template:
"On [project] the team was leaning toward [a decision], but I thought [an alternative] was better because [argument]. I didn't argue emotionally — I gathered [data / a prototype / examples of risks] and laid out my position to [the team lead/team]. They heard me out, but decided to stick with [the original option] because of [a reason — timelines / a different priority]. I wasn't entirely convinced, but it was a well-reasoned decision, so I backed it and did everything to make it work as well as possible. [Optionally: later it turned out that...]."
139. Working with feedback / code-review criticism
What's being tested: ego, openness to learning, how you behave in reviews (and how you review yourself).
Structure: show that you see a review as help, not an attack; that you distinguish "substantive" from "a matter of taste."
Template:
"I treat code review as a way to make the code better and to learn, not as a personal evaluation. If a comment is substantive — I thank them and fix it. If I disagree — I don't ignore it; I respond with an argument and discuss it, and sometimes I turn out to be wrong. There was a case on [project]: a reviewer pointed out [a problem, e.g.: I hadn't accounted for thread safety]. It stung at first, but they were right — I reworked it and have always checked for it since. When I review myself, I try to explain why rather than just demand."
1410. A time you explained something complex to a non-technical person
What's being tested: communication, empathy for your audience, the ability to work with stakeholders.
Structure: dropped the jargon + an analogy/visualization + checked that they understood.
Template:
"On [project] I needed to explain to [a manager/client] why [a technical thing — e.g.: we needed to spend a sprint on refactoring even though 'everything works']. I didn't load them up with terminology; I used an analogy: [for example: 'it's like fixing the foundation — you can't see it from outside, but without it the house will start to crack']. I showed [a simple visualization / an example of the consequences]. In the end [result: we got it approved / a decision was made]. I realized the key is to speak in terms of their benefit, not the technology."
1511. A time you had to learn something new quickly
What's being tested: ability to learn, independence, how you approach the unfamiliar.
Structure: STAR. Show your learning method (not "I just figured it out," but exactly how).
Template:
"On [project] we urgently needed [a new technology/language — for example, to move to Kafka], and I had no experience with it. There was no time for courses, so I: read the key part of the docs, built a minimal prototype on test data, found a colleague with experience and asked targeted questions. Within [timeframe] I reached a level good enough to [result]. After that I went deeper as I went along. I'm comfortable learning 'on the job' — the main thing is to quickly reach a working understanding and not be afraid to ask."
1612. What you do when you don't know the solution
What's being tested: whether you get stuck silently, whether you can search for and ask for help in time.
Structure: show a sequence: investigate yourself first → if stuck for a reasonable time, don't play the hero but call for help.
Template:
"First I try to understand the problem myself: I reproduce it, read logs/docs, form hypotheses and test them. But I set myself a time limit — if I haven't made progress in [say, an hour or an hour and a half], I don't sit there proudly on my own; I go to a colleague with an already-formulated question: what I tried, what didn't work. That way I respect both my time and theirs. On [project] there was a bug that I [how I solved it using this approach]."
1713. A time you took the initiative / leadership
What's being tested: proactivity, ownership, leadership potential (even without a formal role).
Structure: STAR. Spotted a problem → took responsibility without being told → drove it to a result.
Template:
"On [project] I noticed that [a problem no one was taking on — for example: deploys were done by hand and regularly broke]. It wasn't part of my responsibilities, but it was getting in everyone's way. I proposed [a solution], got the go-ahead from [the team lead] and [did it: set up a CI/CD pipeline]. I brought colleagues on board, [wrote docs / ran a demo]. In the end [result: deploys took 5 minutes instead of an hour, the errors disappeared]. The team started using it all the time."
1814. How you handle stress / tight deadlines
What's being tested: resilience, whether you fall apart under pressure, whether your coping mechanisms are healthy.
Structure: show concrete techniques (decomposition, prioritization, communication), not "I just tough it out."
Template:
"Under stress I try not to panic but to regain control through structure: I break a big problem into small steps and do them one at a time — that way it stops feeling insurmountable. In parallel I clarify the real priorities with the team so I don't spread myself thin. On [project] during [an incident/crunch] this helped: instead of chaos, we [result]. And I make sure crunch is the exception, not the norm — afterward we analyze the causes so it doesn't recur."
1915. A time you helped a colleague / teamwork
What's being tested: being a team player, willingness to help, whether you're a lone wolf.
Structure: STAR. Show that helping isn't a one-off but part of your approach.
Template:
"When [a new colleague/junior] joined the team, they found it hard to get into our [complex/legacy] project. I took them under my wing: walked them through the architecture, was their reviewer for the first while, worked through whatever was unclear with them. It cost me some of my time, but within [timeframe] they were already [result: closing tasks independently]. What matters to me is that the team wins, not just my personal metrics."
2016. What good code / technical debt means to you
What's being tested: engineering maturity, values, pragmatism (rather than dogmatism).
Structure: give a definition + show a pragmatic attitude toward tech debt (it's not "rewrite everything").
Template:
"Good code, to me, is first and foremost readable and maintainable code: easy for someone else to understand, easy to change and test. Not the cleverest, but the clearest. Technical debt isn't always bad: sometimes deliberately cutting a corner for speed is a fine business decision, if it's conscious and recorded. It's bad when debt piles up silently. I try to make it visible — file tickets, mark it in the code, and pay it down bit by bit alongside tasks in the same area, rather than carving out a separate 'refactoring sprint.'"
2117. How you choose between two technical approaches
What's being tested: the ability to make well-reasoned decisions, to see tradeoffs, whether you chase hype for the sake of hype.
Structure: list your evaluation criteria + an example of a real choice.
Template:
"I don't choose by fashion; I look at the criteria for the specific task: implementation complexity, maintainability, the team's experience, performance, risks, the reversibility of the decision. On [project] there was a choice between [approach A] and [approach B]. A was [pro/con], B was [pro/con]. I leaned toward [the choice] because [the deciding criterion, for example: the team already knows this technology, and B's upside wasn't worth the risk]. When a decision is contentious and costly — I write a short design doc and discuss it with the team rather than deciding unilaterally."
2218. Where you see yourself in N years / your goals
What's being tested: motivation, whether your goals align with what the company can offer, whether you're in it for the long haul.
Structure: a realistic direction of growth tied to this role (not "I want my own startup in a year").
Template:
"Over a horizon of [N] years I want to grow into [a strong senior / a team lead / a domain expert] — to go deeper into [area] and take responsibility for larger, more complex parts of the system, possibly mentoring others. It matters to me to grow both technically and in terms of impact on the product. That's exactly why your team appeals to me — there's [a concrete opportunity for this growth] here."
2319. A production screw-up and how you handled it (incident)
What's being tested: behavior under the pressure of a real incident, priorities (fix first, investigate later), a blameless postmortem culture.
Structure: STAR with an emphasis on the sequence: stabilize → communicate → find the cause → prevent recurrence.
Template:
"Once after a release on [project] [a service went down / errors spiked to X%]. The first thing — not to look for someone to blame, but to bring the system back to a working state: I [rolled back the release / enabled a fallback] to stop the harm to users. In parallel I posted in [a channel/the team] so everyone was aware. Once we'd stabilized — we figured out the cause was [root cause]. After the incident we ran a blameless postmortem and [concrete measures: added an alert / a test / a check in the pipeline]. The main lesson — speed of recovery matters more than instantly understanding the cause, and calm communication is important."
2420. A time you insisted on quality over speed (or vice versa)
What's being tested: pragmatism and the ability to balance engineering quality against business deadlines; whether you're capable of flexibility in both directions.
Structure: show that the decision depended on context, not on dogma.
Template (quality > speed):
"On [project] we were being rushed to ship [a feature], but I could see that [a risk — for example: no handling for edge cases in payments]. Here the cost of a mistake was too high, so I made a reasoned case for [an extra day for tests / for checks], explaining the risk to [the stakeholder] in terms of money/reputation. They agreed, and it saved us from [a consequence]."
Template (speed > quality):
"And in another case, the opposite — we were building [an MVP/experiment], and I deliberately proposed cutting a corner — [a simplification] — because it mattered more to us to validate the hypothesis quickly than to do perfectly something that might not take off at all. We recorded it as conscious tech debt. The hypothesis [was confirmed/wasn't], and we [refined it/threw it away with no losses]."
25About the team and the work
- "How is the team I'd join set up: size, roles, who makes the technical decisions?" — you understand the structure and where your place is.
- "What does a typical workday / week look like for a developer here?" — reality instead of the pretty words from the job posting.
- "What is the team working on right now, and what tasks will I have in my first 1–3 months?" — specifics about your role.
26On processes and engineering culture
- "How is code review set up here? Is it mandatory, and how long does it usually take?" — reveals the maturity of engineering practices and the culture of quality.
- "How does deployment work and how often do you release? Do you have CI/CD and automated tests?" — the level of engineering maturity and how much pain there is in day-to-day work.
- "How do you treat technical debt — is time allocated to paying it down?" — the balance between features and quality; whether they'll lock you into permanent firefighting mode.
- "How are major technical decisions made — do you have design docs or RFCs?" — whether engineers have a voice.
27On operations and load
- "Is there on-call duty? How is it set up, how often, and how is it compensated?" — a crucial work-life-balance question that many are too shy to ask. You learn the real load outside working hours.
- "How often do you have production incidents and how do you analyze them?" — whether there's a blameless postmortem culture or a culture of hunting for who's to blame.
28On growth and the team
- "How is professional growth and the review of level/salary set up here?" — whether there are prospects and transparency.
- "Is there mentorship, training, a budget for conferences/courses?" — whether the company invests in its people.
Ask for a recent promotion example: which observable outcomes demonstrated the next level, who decided, and how long the cycle took. Also check whether an individual-contributor path exists without moving into management, whether feedback is regular, and whether learning time is protected. A nominal training budget means little if workload makes it impossible to use.
⚠️ A red flag is an abstract “growth is up to you” with no expectation matrix, examples, or recurring review process.
29On the role itself (a strong question)
- "Why is this position open — is it team growth or a replacement for someone who left?" — very telling. If it's a replacement, you can gently ask why the previous person left. High turnover is a red flag.
- "What would be a sign to you that I'm doing well after 3–6 months?" — you understand the expectations and show you're focused on results.
Don't ask about salary/vacation first — better to do that closer to the offer. Don't ask things that are already on the website/in the job posting — it shows inattentiveness.
30Prepare a bank of stories in advance
Don't improvise during the interview. Prepare 5–7 stories from your experience using STAR that together cover different competencies. One good story usually answers several questions from different angles.
Cover these with stories:
- a technical challenge / hard problem;
- a conflict or disagreement;
- a failure / mistake and the lesson learned;
- initiative / leadership;
- teamwork / helping a colleague;
- a production incident;
- a project you're proud of.
For each one, jot down the S-T-A-R points and the numbers/facts of the outcome — they're the most memorable and the easiest to forget under stress. Say them out loud — on paper it seems smooth, but out loud it falls apart.
31Honesty about weaknesses
The "what's your weakness" question is a trap for clichés. Don't say "I'm a perfectionist" or "I work too much" — it reads as a lie.
The formula: a real weakness + what you're doing about it.
"I used to be bad at delegating — I'd carry everything myself because that felt 'safer.' It hit my own ceiling and slowed the team down. I'm working on it: I've started deliberately handing off tasks and letting people make mistakes. It's already noticeably better."
Choose a weakness that's real but not critical for the role, and always show progress.
32Salary negotiation (briefly)
- Don't name a number first if you can avoid it. To "what are your expectations?" you can say: "I'm aiming for the market rate for my level; what budget have you set for this position?"
- If they push you to name one — give a range whose lower bound already works for you, and justify it by the market/your level.
- Know the market in advance (salary surveys, contacts).
- Discuss the whole compensation package: bonuses, health insurance, options, remote work, training — not just base pay.
- Negotiate calmly and after the offer, not in the middle of the interview. An offer in hand = you're in a position of strength.
33If you don't know the answer to a technical question
Handling it with dignity is valued higher than pretending.
- Don't bluff. An experienced interviewer instantly catches something made up — and that's worse than not knowing.
- Think out loud. Show your reasoning: "I'm not entirely sure, but I'd reason like this... It's probably down to [hypothesis], and I'd check it by [how]." The interviewer is often evaluating exactly that train of thought.
- Honestly acknowledge the limit: "I haven't dealt with this specific thing, but by analogy with [something similar] I'd guess..." or "I don't know, but I'm curious — how does it work?" Curiosity is a plus.
- Don't panic over a single question — nobody knows everything.
34Red flags you should NOT show
- Negativity about a past employer/colleagues. The most common failure. Even if it was hell there — speak neutrally or in terms of growth. Whoever badmouths the previous ones will badmouth these too.
- Shifting the blame. In a failure story, everyone is at fault except you — a big minus.
- "I" instead of "we" where it was a team effort (taking credit for others' work) — and conversely, dissolving yourself into "we."
- Arrogance / know-it-all attitude, dismissing others' code ("it was all garbage code there").
- Lack of interest: you didn't ask a single question, you don't know what the company does.
- Fixation on money/perks from the first minute.
- Rigidity and an inability to admit you're sometimes wrong.
35Remote / online interview
- Check your equipment in advance: camera, microphone, internet, the right link/app (Zoom/Meet/Teams) — 10–15 minutes before the start. Have a backup channel (phone).
- Environment: a neutral background, good lighting (the light source in front of your face, not behind you — otherwise you're a silhouette), quiet, warn the people you live with.
- Camera on, look into it (not at your own image) — that's "eye contact."
- Open in advance your résumé, notes with your story bank, and questions for the employer — online you can glance at them, but don't read verbatim.
- For live coding: check that the environment/screen sharing works; talk your thoughts through out loud — the interviewer can't see what's in your head.
- Dress as if it were an in-person meeting — it sets the right tone for both you and the interviewer.
Source notes
References and review policy
RecallDeck’s interview answers are editorial material, reviewed against maintained official documentation where a primary reference is available. Tool selections use direct provider links and contain no affiliate placements. Features can change after the review date.
From reading to recall
Practice the full interview loop.
RecallDeck schedules the concepts you miss and keeps coding, design, and behavioral fundamentals available when the interviewer changes direction.