Launch prices end Friday-d --h --m --s left

Software engineer interview questions

22 questions · 5 answer outlines · Updated Oct 6, 2026

Most software engineer interviews run three to five rounds: a recruiter screen, one or two coding rounds, a system design round from mid-level up, and a behavioural round. Interviewers want working code, but they are just as interested in how you reason out loud, test your own solution and talk about trade-offs.

Five questions to prepare first

These come up in most interviews for this role. For each one: what the interviewer is checking, and the points a strong answer covers, in order.

1

How would you find the first character in a string that doesn't repeat?

What they're checking

Whether you can get from a brute-force idea to an efficient one, and explain why it is efficient.

A strong answer covers

  1. Restate the problem and ask about edge cases, such as an empty string or which characters can appear.
  2. Mention the brute-force check of every pair, then improve on it by counting each character in a hash map.
  3. Scan the string a second time and return the first character with a count of one.
  4. State the cost, O(n) time and O(k) extra space for k distinct characters, and test it on a short example.
2

Design a URL shortener.

What they're checking

How you turn a vague prompt into requirements, then make and justify trade-offs at scale.

A strong answer covers

  1. Pin down requirements first, such as the ratio of reads to writes, expected volume, custom aliases and expiry.
  2. Sketch the core pieces, an API, a way to generate short keys and a key-value store, and say why you chose each.
  3. Handle the read-heavy load with a cache in front of the store, and explain what happens on a cache miss.
  4. Close with the weak points you would watch, such as hot keys or running out of short keys, and how you would monitor them.
3

Tell me about the hardest bug you have tracked down.

What they're checking

Your debugging method rather than the bug itself, and whether you fixed the cause as well as the symptom.

A strong answer covers

  1. Set the scene in a sentence or two, the system, the symptom and why it mattered.
  2. Walk through how you narrowed it down, such as reproducing it, reading logs and bisecting recent changes.
  3. Name the root cause plainly, including any part of it that was your own mistake.
  4. End with what you changed so it could not happen again, such as a test, an alert or a design fix.
4

Tell me about a project you are proud of and your part in it.

What they're checking

The scope of your own contribution, and whether you can explain technical work to a mixed audience.

A strong answer covers

  1. Describe the project and the problem it solved in two sentences, without jargon.
  2. Be specific about what you owned, as opposed to what the team did.
  3. Pick one hard decision or obstacle and explain how you handled it.
  4. Give the result in numbers if you have them, such as latency, users or hours saved.
5

Tell me about a time you disagreed with a technical decision.

What they're checking

Whether you can push back with evidence, stay constructive and commit once a decision is made.

A strong answer covers

  1. Describe the decision and why you disagreed, in terms of risk or cost rather than taste.
  2. Explain how you raised it, such as a written proposal, a prototype or data from a test.
  3. Say what was decided, even if it went against you.
  4. Share what happened next and what you learned about making your case.

Coding and fundamentals

Usually solved live in a shared editor. Say what you are thinking before you type.

  1. 1How would you find the first character in a string that doesn't repeat?Answer outline
  2. 2What is the difference between a process and a thread?
  3. 3How does a hash map work, and what happens when two keys collide?
  4. 4Walk me through the time complexity of the code you just wrote.
  5. 5When would you choose a linked list over an array?
  6. 6How would you detect a cycle in a linked list?

System design

Expected from mid-level up. There is no single right answer; they want to see how you weigh trade-offs.

  1. 7Design a URL shortener.Answer outline
  2. 8How would you design a rate limiter for a public API?
  3. 9Design the backend for a chat application.
  4. 10How would you scale a service that suddenly gets ten times its usual traffic?
  5. 11When would you pick a relational database over a document store?
  6. 12How do you keep a service working when one of its dependencies goes down?

Debugging and code quality

How you work on code you have to maintain, not just write.

  1. 13Tell me about the hardest bug you have tracked down.Answer outline
  2. 14How do you decide what to test, and how much?
  3. 15What do you look for when you review someone else's code?
  4. 16Tell me about a time you worked on legacy code nobody fully understood.
  5. 17How do you handle technical debt when the roadmap leaves no time for it?

Behavioural and teamwork

Answer with real examples. A short situation, what you did and the result work well here.

  1. 18Tell me about a project you are proud of and your part in it.Answer outline
  2. 19Tell me about a time you disagreed with a technical decision.Answer outline
  3. 20How do you explain a technical trade-off to someone who isn't an engineer?
  4. 21Tell me about a time you missed a deadline. What happened?
  5. 22How do you keep up with new tools and languages?

Software engineer interview tips

  • Practise solving problems out loud. Interviewers grade the reasoning they can hear, and long silences read as being stuck.
  • Know the time and space complexity of whatever you write, and say it before you are asked.
  • In system design rounds, spend the first few minutes on requirements. Jumping straight to boxes and arrows is the most common mistake.
  • Prepare three or four project stories you can adapt to most behavioural questions, each with a clear result.

Software engineer interview FAQ

Many companies still run algorithm and data structure rounds, especially larger ones. Others use practical tasks instead, such as a take-home project, debugging an existing codebase or pairing on a feature. Ask the recruiter what each round involves; most will tell you.

The one you are most fluent in, unless the job asks for a specific one. Interviewers care more about clear code and reasoning than the language, and fluency saves you time under pressure.

Less often, and when they do the questions are smaller, such as designing one service or an API. From mid-level up, expect at least one full system design round.

Say these answers out loud before the real interview.

A free mock interview for this role asks five questions you haven't seen, scores each answer and shows a stronger one.

Start with a free mock interview
Start a free mock interview