Interview Questions for a Software Engineer
To interview a software engineer, combine a live coding or take-home exercise with questions on data structures, time complexity, debugging, and system design. This set covers algorithmic problem-solving, code quality, version control, testing discipline, and how candidates collaborate and reason through ambiguous requirements under realistic constraints.
Last updated
Run a software engineer interview as a mix of a hands-on coding exercise and structured discussion, scoring problem decomposition, code clarity, and how the candidate explains trade-offs. Keep one round practical (live or take-home) and one focused on collaboration and judgment.
Technical & Role-Specific
What to look for: Correct pointer manipulation without extra allocation, clear O(n) time and O(1) space reasoning, and naming edge cases like empty or single-node lists.
What to look for: Understands average O(1) lookup vs ordered traversal, collision handling, memory overhead, and when cache locality or ordering changes the choice.
What to look for: Systematic debugging: reproducing the issue, reading logs, binary-searching the change set, adding a regression test, not just patching the symptom.
What to look for: Tests behavior not implementation, values fast deterministic unit tests, knows the test pyramid, and treats a flaky test as a defect.
What to look for: Versioning, deprecation paths, default arguments or adapter layers, feature flags, and awareness of callers they don't control.
What to look for: Defines idempotency precisely, applies it to payments or message processing, and uses idempotency keys or dedup logic rather than hoping retries are safe.
What to look for: Small focused commits, meaningful messages, scoped PRs, self-review before requesting review, and responsiveness to feedback.
What to look for: Refactors behind tests, extracts cohesive units, names by intent, and weighs refactor cost against churn instead of gold-plating.
Behavioral
What to look for: Treats review as collaboration, separates ego from code, escalates with data, and can change their mind or defend a position respectfully.
What to look for: Self-directed learning, reading docs and source, building a small spike, and shipping despite incomplete knowledge.
What to look for: Pragmatic trade-offs, explicit tracking of tech debt, and follow-through rather than abandoning it.
What to look for: Patience, ability to teach by guiding rather than taking over, and investment in raising the team's overall level.
Situational / Problem-Solving
What to look for: Reverts to unblock the team first, communicates clearly, then diagnoses, valuing team velocity over assigning blame.
What to look for: Asks for the metric, profiles before optimizing, finds the actual bottleneck, and avoids premature optimization.
What to look for: Adds monitoring and a characterization test around the failing path before changing code, then fixes incrementally.
What to look for: Frames the trade-offs, gathers data, seeks a reversible choice, and commits the team rather than letting analysis stall progress.
Software Engineer interview scorecard
Score every candidate on the same criteria, immediately after the interview, using evidence you actually heard rather than an overall impression. Agree the criteria with the panel before the first interview β deciding what counts after you have met people is how the loudest interviewer wins the debrief.
| Criterion | Evidence to record | Score 1-5 |
|---|---|---|
| Technical & Role-Specific | What the candidate actually said or did, in their own example β not your impression of it | 1 2 3 4 5 |
| Behavioral | What the candidate actually said or did, in their own example β not your impression of it | 1 2 3 4 5 |
| Situational / Problem-Solving | What the candidate actually said or did, in their own example β not your impression of it | 1 2 3 4 5 |
| Overall recommendation | Strong no / no / mixed / yes / strong yes, with the single reason that decided it | - |
Want this as a reusable document? Use the interview scorecard template.
Questions to avoid asking a Software Engineer
Exactly which questions are unlawful depends on where you are hiring, and the rules change β so treat this as the list of topics to route through your own employment counsel, not as a legal standard. The practical test that holds everywhere: if the answer could not change how the person does this job, you have no reason to ask it.
Recruiting terms explained
Related roles to hire
Frequently asked questions
How many interview rounds for a Software Engineer?
Should I use a take-home assignment or live coding?
What is the most important skill to screen for in a software engineer?
How do I evaluate junior versus senior software engineers differently?
Run these interviews structured, and compare candidates fairly
Pitch N Hire is an applicant tracking system with built-in interview scorecards. Load these questions into a scorecard so every interviewer assesses the same criteria and you can compare candidates side by side.
Free for 1 user Β· No credit card Β· Talk to a real hiring expert
See how much faster your team could hire
Get a personalized walkthrough of Pitch N Hire on your own roles and workflow. No slides, no obligation.
Prefer to talk? Book a demo Talk to sales View pricing
Free 1-user plan Β· No credit card Β· Talk to a real hiring expert