Full-Stack Questions
Behavioural Questions, Salary and Offers
Behavioural answers, conflict stories, salary talks, offers and the first 90 days.
On this page
- Words used in this lesson
- What interviewers are really scoring
- The three rules for every answer
- Why are you leaving? Gaps and layoffs
- Telling the story: the formulas
- Conflict, disagreement and mistakes
- Working with people: juniors, product, design
- Ambiguity and prioritisation
- Questions to ask the interviewer
- Salary and offers
- Reading a company: red flags and green flags
- Your first 90 days
- Interview questions
- Key takeaways
- What's next
In one line: behavioural questions test whether people can trust and work with you, and offer questions test whether you can ask for fair pay without damaging that trust. Good answers are short, honest, in the first person, and have one real example and one thing you learned.
You can know Next.js, Node and MongoDB very well and still lose an offer in the last 30 minutes. The usual reasons are small: a rude comment about a past manager, a vague story, a salary number said too early, or no questions at the end. This lesson covers the "people" part of the process: why you are leaving, conflict, mistakes, working with product and design, salary, offers and your first 90 days.
Everything here is common practice and opinion, not law and not statistics. Companies differ. Countries differ (pay norms, notice periods, what recruiters may ask). Use the sample wording as a shape and put your own true story inside it. Never invent a story, a number or an offer. Interviewers check references, and a small lie can undo a good interview.
This lesson goes beyond Experience round, Lesson 14, which already covers the STAR method (Situation, Task, Action, Result), the nine classic stories (hard bug, outage, trade-off, disagreement, mentoring, estimates, saying no, tech debt, performance) and the basics of level and pay. Here we add the questions that come before and after those stories. For incident and decision stories at larger scale read Debugging, Lesson 10 and Debugging, Lesson 14.
Words used in this lesson
- A behavioural question is a question about how you acted in the past ("tell me about a time when..."). The idea: past behaviour is the best guide to future behaviour.
- STAR is a story shape: Situation, Task, Action, Result. Like a short news report: what happened, what was your job, what you did, how it ended.
- Total compensation is everything you get for the job, not only the monthly salary: base pay, bonus, equity, benefits and extras.
- Base salary is the fixed pay. A bonus is extra pay that depends on results (yours or the company's). Equity is a share of the company (stock or options) that you usually earn over time. Vesting is that "earn over time" schedule. A sign-on (joining) bonus is a one-time payment when you join.
- An anchor is the first number said in a pay talk. People then judge other numbers by that first number.
- A notice period is the time between telling your employer you are leaving and your last day.
- A counter-offer is when your current employer offers you more to stay.
- A reference is a person who can tell a new employer what working with you was like.
- Ambiguity means the task is not clearly defined and you must find out what is needed.
What interviewers are really scoring
Public hiring guides describe the same list again and again. Interviewers listen for these signals:
| Signal | What they want to hear |
|---|---|
| Ownership | "I saw the problem and I did something," not "someone should fix it" |
| Communication | A clear story with a start, middle and end |
| Conflict handling | You can disagree without making an enemy |
| Learning | You name a mistake and a change you made after it |
| Handling ambiguity | You ask questions and make a plan when the task is vague |
| Motivation | You have a real reason for this job, not only "more money" |
| Scope | The size of your stories matches the level (at 4+ years: a feature or service, and some influence on the team) |
The same story can be "junior" or "senior" depending on scope. "I fixed the bug my lead gave me" is junior. "I found the root cause, fixed it, added a test and a dashboard alert, and told the team how to avoid it" is the 4+ years level.
The three rules for every answer
- Be short. Aim for about 90 seconds to two minutes. Stop, then let them ask more. A story that runs five minutes loses the room.
- Say "I" for your part. Say "we" for what the team did, and "I" for what you did. Interviewers hire you, not your team.
- End with a result and a lesson. Even for a failure. "Next time I..." is the best sentence in a mistake story.
Never speak badly about a past employer, manager or teammate, even if it is true. It does not make you look honest; it makes the interviewer think "what will they say about us?". Talk about what you want, not about what was wrong with them.
Why are you leaving? Gaps and layoffs
This is the first question many recruiters ask. The safe shape is a pull, not a push: you are moving towards something, not running away.
| Weak (push) | Better (pull) |
|---|---|
| "My manager was bad." | "I want to work with a bigger team where I can learn from stronger engineers." |
| "The pay was low." | "I have grown to own a whole feature area, and I want a role that matches that scope." |
| "The company was a mess." | "The product is stable now. I enjoy building new things, and this role has more of that." |
For gaps (time without a job) say the fact, what you did, and that you are ready. "I took six months off to look after a family member. During that time I finished a course and built a small project with Next.js and Prisma. I am ready to work full time now." Do not apologise and do not over-explain.
For layoffs, say the fact without blame. "My team was part of a company-wide reduction. It affected about a third of the company (use your true fact). I helped hand over my work to the team that stayed." Layoffs are common in the industry, and a calm answer is respected. Do not criticise the leaders.
Telling the story: the formulas
"Tell me about yourself" (present, past, future)
Use this: where you are now, how you got there, what you want next. About one minute.
"I am a full-stack engineer with about five years of experience, mostly with TypeScript, Next.js and Node. Right now I own the billing and reporting part of our product. Before that I built the first version of our admin dashboard and learned a lot about MongoDB and indexes. I am looking for a team where I can work across the whole stack and mentor others, and that is why this role caught my eye."
Do not read your CV from the start. Do not tell your life story.
"Why us?" (company, product, you)
Use this: one real fact about them + one reason it fits you.
"I used your public API in a side project and the docs were clear, so I know you care about developers. I like that the team works on search quality, because I have worked with Meilisearch and enjoyed tuning ranking. I think my experience would help from week one."
Do research before the call: read the product, the engineering blog, the job post. "You are a great company" is not an answer.
"Where do you see yourself in five years?"
Be honest and about skills, not titles. "I want to be someone the team trusts with the hardest, most unclear problems, and to help other engineers grow. Whether that is a senior or lead title I will see when I get there."
Conflict, disagreement and mistakes
All of these are STAR stories with a special rule: show respect for the other person.
| Situation | How to tell it |
|---|---|
| Conflict with a teammate | Start with the shared goal. Say how you listened first. Show a result that both sides could accept. |
| Disagreeing with a manager | "I gave my view with evidence, they decided differently, and I committed to the decision." |
| Production mistake | Own it, fix it, tell people early, prevent it next time. No blaming. |
| Missed deadline | Say when you saw the risk, who you told, and what you cut or moved. |
You will see full versions in the questions below. Notice they always include what you changed afterwards.
Working with people: juniors, product, design
These questions check if you make the team around you better.
- Mentoring juniors. Good signs: you review code kindly, explain why, pair on hard parts, and let them make small mistakes safely. Bad sign: "I just do it myself because it is faster."
- Product managers. A product manager is the person who decides what to build and why. Good engineers ask about the user problem first, give options with cost and risk, and say "no" with an alternative ("we cannot do all of this by Friday, but we can ship these two parts").
- Designers. Share early. Ask what matters most in the design. Say what is hard or costly in code in simple words, and offer a smaller version that keeps the idea.
Ambiguity and prioritisation
When a task is vague, a good answer has steps: ask questions, write down your assumptions, split the work, ship a small first piece, check, repeat. Mention that you confirmed the goal with the person who asked.
For prioritising, say what you use. A simple common-sense frame:
| Question | Meaning |
|---|---|
| Impact | How many users or how much money does it affect? |
| Urgency | Does something break or expire if we wait? |
| Effort | How long does it take? |
| Risk | What happens if we do it wrong? |
Then add: "When two people both say it is urgent, I ask them to agree on the order, or I ask our manager. I do not decide silently."
Questions to ask the interviewer
Interviewers judge you by your questions. Ask 3 to 5, and ask different ones to different people. Good groups:
- The work: "What does a normal week look like for this role?" "What was the last thing the team shipped, and what went wrong with it?"
- Quality: "How do you handle code review, testing and releases?" "What happens when production breaks at night?" (on-call)
- Growth: "How will you judge my first three months?" "How do engineers grow here?"
- The team: "How do disagreements get settled?" "Why is this role open?"
Do not ask only about leave and holidays in the first call. Do not ask something that is on the first page of their website.
Salary and offers
The basic rules (common practice)
- Do not give the first number if you can avoid it. The first number said becomes the anchor. If you say a low number you may lose money; if you say a very high one you may lose the chance.
- Know the market first. Look at public job posts that show a range, salary sites, and ask people in your network. Know a range for your city, level and stack.
- Talk about total compensation, not only the base.
- Get the offer in writing before you decide.
- Stay positive and polite. Show you want the job. Pay talk is a normal part of hiring, not a fight.
- Give reasons. "Because I own X and my market data shows Y" is better than "I want more".
- Never lie, not about your current pay and not about other offers.
Total compensation: what to compare
| Part | What it is | Questions to ask |
|---|---|---|
| Base | Fixed monthly pay | Is it paid every month? How often are reviews? |
| Bonus | Extra pay for results | Is it fixed or "target"? Who decides? How was it paid last year? |
| Equity | Stock or options, earned over time (vesting) | How many shares, what vesting, what is the company worth, can I sell? Equity in a private company may be worth nothing, so treat it as a lottery ticket, not salary. |
| Benefits | Health insurance, retirement, learning budget, equipment | What does insurance cover, and for family? |
| Time and place | Leave, remote or office, working hours | Is remote work written in the contract? |
| One-time | Sign-on bonus, relocation | Do I pay back if I leave early? |
Notice period
A notice period is often 1 to 3 months in many places; the rules depend on your country and contract. Read your contract. Tell the new company your true date. If a company wants you earlier, you can ask your employer if they will release you sooner, but do not promise it. Keep a good handover so your old team stays a good reference.
Competing offers and counter-offers
- Competing offers are your best leverage, but only if real. Say the facts: "I have another offer with a higher base. I like your team more, and I would like to make this work." You can share timelines: "The other offer expires on Friday."
- Do not use fake offers. Offers can be checked and trust is hard to win back.
- A counter-offer from your current employer is tempting. Think about why you wanted to leave. A raise does not fix a manager problem or a boring project. Many people (this is opinion, not data) feel the problems return. If you decide to stay, be honest that it is your decision and not a game.
References
Pick 2 or 3 people who saw your real work: a manager, a lead, a teammate. Ask first. Tell them about the new job and what you hope they will say. Give them your CV. If a manager is a risk, offer a senior teammate or a client instead and say why plainly.
Reading a company: red flags and green flags
A job interview goes both ways. Public lists of companies that interview in a more modern way say: good processes use questions like real work, time-boxed and paid take-homes, and give you choices. Watch for these:
| Red flag (a reason to look closer) | Green flag |
|---|---|
| Vague answers about what the job is | A clear description of the work and goals |
| Long unpaid take-home work | Short, time-boxed task related to the job |
| Puzzles unrelated to the job | Questions from real work |
| "We are like a family" and long hours | A clear on-call and working hours policy |
| Many people left recently and nobody explains why | Open answers about turnover |
| Pressure to accept in a day | Time to think, offer in writing |
| The interviewer cannot say what success looks like | Clear goals for the first months |
One red flag is a question, not a decision. Several together are a warning.
Your first 90 days
When asked "what will you do in the first three months?", a safe plan (opinion) is:
| Period | Focus |
|---|---|
| Days 1 to 30 | Learn. Set up, read the code, meet the team, ship one small fix, ask many questions, write down what is confusing in the docs. |
| Days 31 to 60 | Contribute. Own a small feature, join code review, learn how production works and how incidents are handled. |
| Days 61 to 90 | Own. Deliver a bigger piece, suggest one improvement based on what you learned, and agree on goals with your manager. |
Never say "I will change everything." Say "I will first learn, then suggest."
Interview questions
The answers are examples in the first person. They show the shape, so replace the details with your own true story. Numbers are only illustrations.
Why are you leaving your current job? (Must know)
I keep it positive and about the future. "I have enjoyed my time here. In four years I moved from small tickets to owning our reporting service. I have learned most of what I can in this setup, and I want to work with a larger engineering team and a harder scale problem. When I read about this role, it matched that." I do not mention my manager or pay unless the pay is a real, calm part of it. If they ask directly about pay, I say "pay is part of it, as it is for anyone, but the main reason is the scope of the work".
Follow-up: "What if the real reason is a bad manager?" I say what I wanted instead: "I want more regular feedback and clear goals." That is honest and does not blame.
Tell me about yourself. (Must know)
I use present, past, future in about one minute. "Right now I am a full-stack engineer on a product team, mostly TypeScript, Next.js and Node with MongoDB. I own our reporting feature, from the API to the screen. Before that I built an admin dashboard and learned about indexes and caching the hard way. I am looking for a team where I can keep working across the stack and help others grow." I finish with a link to the role. I do not read my CV and I do not start from school.
Why do you want to join us? (Must know)
I give one real fact about them and one reason it fits me. "I read your engineering post about moving search to its own service. I have done a similar job with Meilisearch, and I liked how you wrote about the trade-offs. I would like to work on a product where search quality matters." If I am honest that I have only a little knowledge of them, I say what I did learn and ask a question. I never say only "great culture" or "good salary".
You have a gap in your CV (or were laid off). How do you explain it? (Must know)
I state the fact, what I did, and that I am ready. "My team was part of a company-wide reduction in March. After that I took two months to rest and to finish a course on testing, and I built a small app with Next.js and Prisma to practise. I am ready to start now." I do not complain about the company and I do not apologise too much. Layoffs are a known part of the industry, and a calm answer shows maturity.
Tell me about a conflict with a teammate. (Must know, STAR)
"A teammate and I disagreed on how to store notification settings. I wanted a separate collection; they wanted to put it inside the user document. Both of us wanted a quick launch and few bugs, and I said that first. I asked them to explain their worry. It was the extra database call on every login. I showed the numbers from a quick test: the extra read was small with an index. They showed me that settings were always read with the user. We agreed on a hybrid: a small embedded object for the common flags, and a separate collection for history. We shipped on time. Afterwards I started asking 'what is your biggest worry?' at the start of design talks." The shape is: shared goal, listen, evidence, agreement, lesson. I never make the other person the villain.
Tell me about a time you disagreed with a manager or a decision. (Must know, STAR)
"Our manager decided to launch a feature without a rollback plan to meet a date. I thought the risk was too high because it changed data in the database. I asked for ten minutes and wrote down three points: what could break, how long it would take to fix without a plan, and a small plan that took half a day (a feature flag and a backup). He listened and still wanted to keep the date, so we added the flag only. I agreed because it was his call and the risk was now small. The launch had one bug, and the flag let us turn it off in two minutes." The key sentence is "I disagreed, I gave evidence, then I committed to the decision." Interviewers want to hear that I can disagree and still support the team.
Follow-up: "What if you were still sure it was wrong?" I say I would put my concern in writing, respect the decision, and watch for the risk, but I would escalate only for real harm like security or legal risk.
Tell me about a mistake you made in production. (Senior signal, STAR)
"I ran a database script on production that updated more users than I meant, because I tested the filter on staging data that looked different. About 300 users got the wrong plan name. I saw it within five minutes in the logs, told my lead and the support team straight away, and restored the values from the backup. I wrote a short post-incident note without blame. Afterwards I added a dry-run mode that prints the count first, and a rule that any production script has a second reader." I own it in the first sentence, I tell people early, and I show a change that stops it for everyone. If the story has no lesson, it is a bad story. Avoid "I never make mistakes" and avoid a fake weakness like "I work too hard".
Tell me about a missed deadline. (Must know, STAR)
"I estimated two weeks for a CSV import feature and by day six I saw that the file formats from customers were much messier than the sample. I told the product manager the same day, with two options: ship a limited version for the two clean formats on time, or ship all formats one week late. They chose the limited version first. We shipped on the date, and the rest followed the next week. Since then I look at real customer data before I estimate, and I give a range." The point: I raised the risk early and offered options, rather than being silent until the date.
How do you work with product managers and designers? (Must know)
"I try to understand the user problem before the solution. If a request is expensive, I show options with cost and risk in simple words, for example: 'the full version is about three weeks; this smaller version is one week and covers most users'. With designers I ask to see designs early, before they are final, so I can point out what is hard (such as a layout that needs a lot of extra requests) while it is still cheap to change. I also say 'no' with an alternative. I write down decisions so we do not argue later about what was agreed."
How do you mentor juniors? (Senior signal, STAR)
"I do three things. First, I give a junior a real, small, safe task and tell them why it matters. Second, I review their code with questions, not orders: 'what happens here if the list is empty?'. Third, I pair for 30 minutes on the hardest part and then step back. Once a new engineer kept getting the same React state bug. I explained how renders work with a small example, and in a month they were fixing similar bugs for others. I measure success by how much they can do without me." The trap: "I do it myself because it is faster". That says you cannot grow a team.
Tell me about a vague or unclear task. How did you handle it? (Senior signal, STAR)
"The request was 'make search better'. That is not a task. I asked who was unhappy and with what. I read support tickets and found that users typed a product name with a spelling mistake and got no results. I wrote my assumptions and a goal, agreed it with the product manager, and shipped a first small change: typo tolerance on product names. I measured how many searches had zero results before and after, and then we chose the next step with real data." The steps: ask, find the real problem, write assumptions, ship small, measure.
How do you prioritise when everything is urgent? (Must know)
"I look at impact, urgency, effort and risk. A broken payment page for all users beats a nice change for one customer. I make my list visible to people who depend on it. If two stakeholders both say 'urgent', I do not choose silently; I show them both items and the cost of the delay and ask them, or our manager, to decide the order. I protect time for incidents. Then I say 'no' or 'later' clearly, so people can plan." Interviewers like to hear that I can say no with reasons and I do not just work longer hours.
What questions will you ask us? (Must know)
I prepare five and use three or four. "What does a good first three months look like in this role?" "How does the team handle releases and production problems?" "What was the hardest thing the team shipped last year, and what did you learn?" "How are disagreements about design settled?" "Why is the role open?" I write answers down. I ask the engineers about the work, and the manager about growth and goals. I avoid asking only about leave in a first call. If I am asked "any more questions?" and I say "no", that can look like I do not care.
What are your salary expectations? (Trap)
I try not to give the first number. If a recruiter asks early, I say: "I would like to understand the role and the level first. Can you share the range for this position?" Many companies will. If they insist, I give a range based on market data and say it depends on the total package: "Based on what I see for this level and city, I am looking at X to Y, and I am flexible depending on the whole package." I make sure the bottom of my range is a number I would accept. I do not lie about my current pay. If asked about it, I say I prefer to focus on the market value for this role. Where rules or a form require it, I answer honestly and calmly.
If I say a number first and it is too low, the company may happily accept it. If I say a number too high, they may stop. That is why the range and the market data come first.
Compare two offers. What do you look at? (Senior signal)
I compare total compensation, not just base pay. I put both offers in a table: base, bonus (how sure is it), equity (what vesting, can I sell), benefits, leave, remote policy, notice, sign-on. Then I add the non-money parts: the work, the team, my manager, growth, stability of the company, and commute or time zone. I treat private-company equity as uncertain; I count it low unless I know the facts. I ask the company to put each offer in writing so I compare real terms. Pay is one part of the decision, not all of it.
How do you negotiate an offer? (Senior signal)
I wait for the offer in writing, say thanks, and ask for a day or two. I show I am excited, because that is true and it helps. Then I make one clear request with reasons: "I am very excited about the team. Based on my scope (owning X) and market data for this level, I was hoping for a base of Y. Is there room to move towards that?" If base cannot move, I ask about other parts: a sign-on bonus, a review date in six months, equity, or the level. The sign-on bonus happens only once, so I ask before I accept. I do not threaten, and I do not make up another offer. After a final answer I decide kindly.
Follow-up: "What if they say the offer is final?" I ask once, politely, what else can change (start date, sign-on, review). If nothing can, I decide on the offer as it is. I do not push again.
You have another offer. How do you use it? (Trap)
I use it only if it is real and I say the facts. "I have another offer with a higher base and it expires on Friday. I prefer your team, so I want to see if we can close the gap." I tell the other company too, if I want to speed up their process, because timing matters in hiring. I do not exaggerate numbers, and I do not play companies against each other. If a company matches, I must be ready to say yes, because asking when I would never accept wastes everyone's time and my name.
Your current company makes a counter-offer. What do you do? (Trap)
I stop and ask why I wanted to leave. If the reason was pay only, and I like the work, a counter-offer may be right. But if the reason was growth, the manager or the project, a raise usually does not change that. I also think about how it feels that I had to resign to get a raise. I decide with the same table I used for offers. If I stay, I tell the other company kindly and early. If I go, I say thanks to my manager and keep the relationship good. (This is opinion: some people stay and are happy. The point is to decide with a clear reason, not with a quick feeling.)
Who will you give as references, and what do you do before? (Must know)
I choose two or three people who saw my real work: a former manager, a tech lead, and a teammate. I ask them first, send my CV and the job description, and tell them what I hope they can speak about. I do not give a name without permission. If my last manager is a risk, I offer other people who saw my work and I explain it plainly: "We had different views on direction, but my tech lead worked with me every day." I say thanks to them after.
What would you do in your first 90 days? (Senior signal)
"In the first month I would learn: set up my machine, read the main code paths, meet the team and the product manager, fix one or two small bugs so I go through a full release, and write down what confused me in the docs. In the second month I would own a small feature and join code review and on-call training. In the third I would deliver a bigger piece and suggest one improvement based on what I saw, then agree goals with my manager. I would not try to change everything early. I would first understand why things are the way they are." The trap: promising big changes before you know the system.
Key takeaways
- Be short, say "I" for your part, and end each story with a result and a lesson.
- Never speak badly about past employers. Say what you are moving towards.
- For conflict and disagreement: shared goal, listen, evidence, agree, commit. For mistakes: own it, fix it, tell early, prevent it.
- Use present, past, future for "tell me about yourself", and a real fact plus a fit for "why us".
- Ask 3 to 5 good questions. They are part of the interview.
- Try not to give the first salary number. Use a researched range and talk about total compensation. Get the offer in writing.
- Negotiate once, with reasons, politely. Use only real competing offers.
- Think before accepting a counter-offer, and ask your references first.
- A company is also being judged. Look for clear work, short paid tasks and honest answers.
- All this is common practice and opinion: adapt it to your country, your company and your own truth.
What's next
Revisit the story shapes in Experience round, Lesson 14, then practise out loud: record yourself on three questions from this list and listen for "we", long stories and missing lessons. Go back to the full list of full-stack lessons when ready.
Published by Jainik · Last updated · How these lessons are made
Keep learning
Related lessons
- Salary, Offers and Negotiation · Behavioral Interviews
Part of the study guide
- Coding Interview Preparation Guide: DSA Study Plan
- Full-Stack Developer Interview Guide: Questions and Answers
Related series