Interview Handbook by Sayed Elmahdy العربية

Topic 33 · System design & career

Behavioral & career

STAR, code review, mentoring, conflict, questions to ask, salary negotiation.

15 questionsJunior · 4Mid · 8Senior · 38 quiz

Concepts

What you will learn: Turn interview questions about conflict, leadership and failure into genuine examples that show how your work affected people and product outcomes. Explain your decision, responsibility and result instead of memorizing an ideal answer.

Before you start: Choose work, study or volunteer situations you can discuss without revealing confidential details. organizes an answer: Situation, Task, Action and Result, including what you learned. Metrics are optional and must be genuine; explain uncertainty when an outcome was not measured.

Select a term with a dotted underline for its meaning, then continue reading from the same place.

#STAR: evidence of behavior

“Tell me about a disagreement” asks for evidence of how you work, not a definition of teamwork. organizes the answer: Situation gives brief context, Task your responsibility, Action your choices and reasoning, and Result the outcome and lesson. Start with one or two minutes and leave room for follow-up.

PartGeneric practice example
SituationA checkout change stalled over a design disagreement
TaskYou were responsible for clarifying delivery risk
ActionYou compared two options in a small experiment and documented the decision
ResultThe team agreed on a path and a measured review point
Stories on this page are instructional examples, not experience to claim as your own. Replace them with real events and never invent numbers. If an outcome was not measured, state what you know and its limits.

Use “I” to identify your contribution and “we” for shared work. Results need not be perfect: an unsuccessful decision followed by a concrete improvement can be more useful than a polished success story.

#Preparing examples of conflict, failure and pressure

Prepare a small set of genuine events you can discuss in detail, without confidential information or customer names, rather than memorizing a story for every question.

QuestionShowAvoid
ConflictUnderstanding another view, evidence and commitment to the decisionProving everyone else wrong
FailureYour responsibility, remediation and preventionBlame or a disguised strength
PressurePriorities, agreed scope and explicit risksGlorifying unsustainable work at the expense of quality
OwnershipFollowing through until the outcome is verifiedClaiming all the team's work

For incidents, explain containment and communication before diagnosis, repair and learning. Keep technical details tied to their effect on users and colleagues.

#Leadership, feedback and ambiguity

Leadership does not require a management title. It can mean clarifying an ambiguous decision, helping a colleague take ownership or escalating risk early. Under ambiguity, identify knowns, unknowns and the decision owner, then choose a small reversible experiment instead of treating your interpretation as fact.

  1. Clarify the desired outcome and constraints, then write an acceptance example.
  2. Distinguish provisional assumptions from confirmed requirements, with an owner and resolution date.
  3. For feedback, ask for a concrete event and impact, and summarize your understanding before responding.
  4. Agree on an observable change and follow-up. You need not accept every opinion; discuss conflicting evidence respectfully.

Pair uncertainty with a verification step. Explain when you escalated a decision because its impact exceeded your authority.

#Constructive code review

Review improves a change and shares knowledge. Prioritize correctness, security and data integrity, then design, tests, performance and clarity. Automate formatting. Distinguish must-fix items, suggestions and questions, explaining the reason and a failing scenario.

Unhelpful: "This is wrong. Why would you do that?"

[must-fix] This query checks OrderId but not ownership, so another customer
could read the order. Can we scope it to the authenticated CustomerId
and add a two-user authorization test?

[question] Does this read need entity updates later? If not, a projection
may avoid loading the full graph.

[suggestion] Naming this pendingOrders would make the loop easier to follow.

When a thread stalls, discuss it directly and summarize the decision in the . Accept valid alternatives even when they differ from your preference. Authors should explain intent and keep diffs focused. Repeated objective issues may justify an analyzer or test; do not encode personal taste as a mandatory gate.

#Mentoring toward independence

If every task must pass through you, support has become a bottleneck. Agree on a learning goal, understand the colleague's starting point, and choose a suitable task with clear boundaries and a check-in.

  1. Ask them to explain their understanding and plan before offering a solution.
  2. Pair on unfamiliar work while they drive and explain decisions.
  3. Review outcomes and reasoning rather than counting comments.
  4. Document recurring decisions and gradually increase independence. Look for earlier risk identification and appropriate help-seeking.

Do not leave someone stuck under the banner of independent learning. Agree on a time to experiment before seeking help. Give respectful private feedback and credit them for their progress.

#Questions to ask the interviewer

The interview also helps you understand the job. Choose two or three unanswered questions, adapt them to the interviewer and ask for recent examples rather than broad statements about culture.

AreaPossible question
ExpectationsWhat outcome would make my first 90 days successful?
QualityCan you describe a recent change delayed by review or testing and how it was handled?
OperationsHow does on-call work, and how does the team learn from incidents?
DecisionsHow are technical disagreements resolved and decisions recorded?
GrowthHow are mentoring and design responsibilities shared?
StabilityIs this an ongoing role or project-linked, and what happens after the project?

Ask recruiters about process, contract terms and compensation range; ask engineers about daily practice. If time runs out, request an appropriate follow-up channel without pressuring anyone.

#Professional offer negotiation

Research current ranges for the same level, location and employment arrangement using multiple sources. Distinguish base from total compensation, gross from net, monthly from annual figures, and currencies. Set private priorities and limits; you do not need to disclose your personal minimum.

  1. Ask for the role's budgeted range and understand its responsibilities.
  2. If expectations are required, anchor with a range justified by market evidence and scope, whose lower end you can accept. Never invent a competing offer.
  3. Compare insurance, leave, guaranteed versus variable bonus, remote arrangements, working hours, on-call and contract duration.
  4. Request written terms and reasonable review time with an agreed response date. Avoid accepting under pressure during the call.
"Based on the responsibilities and the market research I've done, I'd target
a range aligned with that scope. Could you share the budgeted base range
and how the bonus and benefits are structured?"

"Thank you for the offer. I'd like to review the written package carefully.
Can we agree on a date for my response?"

If the scope becomes materially broader, explain why your expectations changed. No single range fits every market or contract, and not every term is negotiable.

Offer review and negotiation guidance

#The night before and the online interview

The goal is to reduce surprises, not finish every subject in one evening.

  1. Review the job description and CV, and prepare a brief introduction plus real examples of conflict, failure and meaningful results.
  2. Revisit study mistakes and explain a trade-off aloud. Avoid starting a large new framework immediately before sleep.
  3. Confirm time, time zone and meeting link. Test audio, camera, headphones and screen sharing, with backup connectivity where available.
  4. Prepare the requested editor and whiteboard, closing notifications and sensitive files before sharing.
  5. Join a few minutes early with water and writing materials. Follow camera and tool-use instructions.
  6. Request repetition when audio or wording is unclear. During live coding, state assumptions and explain your reasoning.
Clarify and reference-material rules if unspecified. Do not use a hidden assistant during an assessment meant to be completed independently.

Afterward, record learning points. A concise follow-up may be appropriate through the agreed channel, without demanding an immediate decision.

Interview questions

Check your reasoning

Why does this choice fit? When would it fail? What changes under higher load or a dependency failure?

33.1Tell me about a time you disagreed with a teammate.Mid
Model answer

During a checkout change, a teammate preferred introducing a separate service, while I was concerned about boundaries and delivery time. I was responsible for clarifying the trade-offs, so I asked what independent scaling we actually needed and compared both options in a short design note. We agreed to keep the change local with explicit module boundaries and a review point after measuring load. I documented the decision and supported the implementation, including parts where my teammate's approach improved the design.

33.2Tell me about a mistake you made.Mid
Model answer

I once approved a query change after testing only with a small dataset. Under a larger workload it became too slow, and I had missed that risk. I helped revert the change, reproduced the issue with representative data and reviewed the execution plan before making a smaller fix. I then added a performance review step for similar queries and shared what I had overlooked. The lesson was to validate workload assumptions before release rather than treating functional correctness as sufficient evidence.

33.3How do you handle tight deadlines?Junior
Model answer

I clarify what must be delivered and what can be deferred, then break the work into small visible steps. I communicate uncertainty and risks early, especially dependencies outside my control. If the date is fixed, I discuss a smaller version instead of silently dropping safety checks. I keep validation for critical paths such as authorization and payments, and agree on progress checkpoints. I also raise capacity problems rather than relying on sustained overtime as the delivery plan.

33.4Tell me about a time you showed leadership without authority.Senior
Model answer

During a service issue, several people were investigating overlapping areas while support needed an update. I was not the incident lead, so I suggested a shared timeline and asked who would coordinate decisions. I took ownership of one investigation path, posted evidence and helped separate mitigation from root-cause work. After recovery, I organized the follow-up actions with named owners. The useful contribution was reducing confusion and helping others act effectively, rather than taking over decisions that were not mine.

33.5Tell me about difficult feedback you received.Mid
Model answer

A colleague told me that my review comments were sometimes too broad to act on. My intention was to protect quality, but I could see that the comments created extra discussion. I asked for examples and changed my approach to describe the failing scenario, explain the risk and distinguish required fixes from suggestions. I later asked whether the new comments were clearer. I still raise serious concerns, but I try to make the next action understandable and leave room for another valid solution.

33.6How do you work with ambiguous requirements?Mid
Model answer

I turn ambiguity into explicit questions and examples. For an order-cancellation request, I would clarify allowed states, ownership, stock release and what happens if payment succeeds concurrently. I write a short acceptance example and confirm it with the decision owner. If an answer is delayed, I separate reversible technical work from decisions that could change money or customer behavior. I record provisional assumptions and a review date rather than letting my interpretation become an undocumented business rule.

33.7What does ownership mean to you?Mid
Model answer

I see ownership as following through on an outcome, including understanding the requirement, coordinating dependencies, verifying the release and responding when something is wrong. It does not mean doing every task myself or bypassing other teams. I make responsibilities explicit, raise risks early and ensure handovers have enough context. If a problem crosses my authority, I bring evidence to the right owner and stay involved until responsibility is clear, rather than assuming that sending a message completed the job.

33.8How do you review code constructively?Mid
Model answer

I start with correctness, security and data integrity, then review design, tests, performance and readability. My comments describe a concrete scenario and its impact, and I label required fixes separately from suggestions or questions. I leave formatting to tools and accept solutions that are valid even if I would write them differently. If a discussion becomes repetitive, I suggest a short conversation and record the decision afterward. I also recognize useful choices so review is a shared learning process.

33.9How do you mentor a junior developer?Senior
Model answer

I first understand their current skills and agree on a specific learning goal. I choose a task with clear boundaries, ask them to explain a plan and pair on unfamiliar parts while letting them drive. In review I explain why a change matters and invite their reasoning. We agree on when to ask for help so they are neither blocked for too long nor dependent on immediate answers. I look for growing independence, better risk awareness and confidence in explaining their work.

33.10How do you answer a question about technology you have not used?Junior
Model answer

I say clearly whether I have used it in production, only experimented with it, or just studied the concept. Then I explain what I understand and relate it to something I have actually worked with. I state any uncertainty and describe how I would verify the behavior through official documentation or a focused experiment. If the question is ambiguous, I ask for clarification. I would rather give a bounded, honest answer than invent experience that will not hold up under follow-up questions.

33.11Why are you interested in this role?Junior
Model answer

From the role description, I am interested in the combination of backend development and responsibility for reliable production services. I enjoy understanding a business workflow, making its rules explicit and delivering changes that are easy to support. I would like to learn more about the team's current priorities and how design decisions are reviewed. I am also looking for a place where I can contribute my existing skills while developing through feedback and working with engineers who explain their reasoning.

33.12How do you handle a disagreement that remains unresolved?Mid
Model answer

I check whether we are disagreeing about facts, priorities or preferences, because each needs a different response. I summarize the options, evidence and unresolved risks, then ask the appropriate decision owner to choose if we cannot reach agreement. Once the decision is made, I support it and record any review conditions. If there is a serious security or compliance concern, I escalate through the established process rather than quietly accepting it or turning the discussion into a personal conflict.

33.13What are your salary expectations?Mid
Model answer

I would like to align expectations with the responsibilities and the full package. I have been researching comparable roles in the relevant market, and I can share a range once we confirm the level, working arrangement and whether we are discussing base or total compensation. Could you share the budgeted range and how variable pay and benefits are structured? I am interested in finding a fair match, and I would review the written terms carefully before making a decision.

33.14What questions would you ask us?Junior
Model answer

I would like to understand what success in the first three months would look like and which problem the new engineer should help solve first. I would also ask how the team reviews technical decisions and whether you can describe a recent trade-off. If time allows, I would ask about production ownership and how lessons from incidents become improvements. Those answers would help me understand the work, how I could contribute and whether the team's expectations match the role we have discussed.

33.15Tell me about a time you changed your mind.Senior
Model answer

On a small notification change, I initially favored introducing a more general abstraction for future channels. A colleague asked which current requirement needed it, and our review showed that the extra layer made the first change harder to follow without solving an existing problem. I revised the proposal to keep the implementation direct and document where future variation might appear. I learned to separate likely future needs from present evidence and to treat a simpler suggestion as useful feedback rather than a challenge to my judgment.

Test yourself

Quiz answers and completed-topic marks are saved in this browser; they do not sync across devices.

Score: 0 / 0

What does STAR stand for?

It organizes context, responsibility, actions and outcome.

What makes a behavioral example credible?

A practice example is preparation material, not personal experience to claim.

Which code review comment is most useful?

A specific impact and next step make the comment actionable.

What is a healthy response to deadline pressure?

Decision owners should agree on scope and trade-offs.

What indicates mentoring progress?

The goal is safe independence, rather than permanent dependence or silence.

What should you do before accepting an offer?

Compare terms, benefits and compensation structure, not just one number.

You have not used a technology in production. Best response?

Honesty with clear reasoning gives the interviewer reliable evidence.

What should you check before online screen sharing?

Preparation reduces disruption and accidental disclosure.