Software Engineering Fundamentals Interview Questions

Practice 603 real Software Engineering Fundamentals interview questions for 2026. Covers core coding, data structures, complexity analysis, debugging, and implementation best practices — real questions from actual interviews with detailed solutions to support focused interview preparation. This category tests the engineering basics interviewers rely on to predict on-the-job performance: correct and efficient algorithms, clean and maintainable code, complexity trade-offs, edge-case reasoning, and the ability to turn requirements into a working implementation under time pressure. Expect heavy weighting at companies like Amazon, Google, and OpenAI, where fundamentals often gate candidates before system design or product rounds. To prepare, prioritize timed problem practice that enforces clear communication, complexity justification, and test-case coverage; drill common data structures and complexity patterns until they become second nature; and rehearse coding on a whiteboard or shared editor to simulate real loop conditions.

603 Questions 194 Companies08.04.2026
Showing 20 results
Role
Abnormal Ai logo
Abnormal Ai
Medium
Software Engineer Locked

Extensible Security-Event Pipeline: Rule Suppression and Plugin-Based Enrichment

This question evaluates a candidate's ability to design extensible, plugin-based software architecture for a multi-tenant processing pipeline. It test...

Software Engineering Fundamentals
2
0
34 people solved
Jun 14, 2026
Databricks logo
Databricks
Hard
Software Engineer Locked

Design a Cache with Hit Counts

This question evaluates a candidate's competence in system design, data structures, concurrency, and observability by requiring a key-value cache that...

Software Engineering Fundamentals
40
0
353 people solved
Mar 15, 2026
Apple logo
Apple
Hard
Software Engineer Locked

Make tree iterators safe under concurrency

This question evaluates understanding of concurrent data structures, iterator safety, synchronization mechanisms, and reasoning about shared mutable s...

Software Engineering Fundamentals
19
0
142 people solved
Feb 11, 2026
Imc logo
Imc
Medium
Software Engineer

Analyze time complexity and threading trade-offs

Answer the following conceptual questions. 1) Worst-case time complexity State the worst-case time complexity (Big-O) for each operation and briefly j...

Software Engineering Fundamentals
18
0
137 people solved
Nov 3, 2025
Discord logo
Discord
Medium
Software Engineer

Debug and mitigate a CPU spike incident

Production Debugging: CPU Spike Incident (Open-Ended) You are on-call for a backend service. An alert fires: CPU usage suddenly spikes on the service’...

Software Engineering Fundamentals
31
0
232 people solved
Oct 25, 2025
Lyft logo
Lyft
Medium
Machine Learning EngineerIntern

Explain Python and Systems Fundamentals

Answer the following software engineering fundamentals questions: 1. A production system has become very slow. How would you detect the bottleneck, me...

Software Engineering Fundamentals
12
0
98 people solved
Mar 12, 2026
Harvey logo
Harvey
Medium
Backend Engineer

Explain project decisions and trade-offs

Pick one project you worked on and walk through the key technical decisions behind it. Why did you choose that architecture, design, or technology sta...

Software Engineering Fundamentals
10
0
100 people solved
Feb 18, 2026
DoorDash logo
DoorDash
Medium
Software Engineer

Debug a Random Dasher Registry

Debug a Random Dasher Registry A registry supports adding dashers and randomly selecting and removing one. It uses a dense array of dasher IDs plus a ...

Software Engineering Fundamentals
0
0
8 people solved
Apr 3, 2026
Chime logo
Chime
Medium
Backend Engineer Locked

Design browser history across tabs

This question evaluates a candidate's ability to design stateful data structures and manage per-tab navigation history, testing competencies in data s...

Software Engineering Fundamentals
4
0
84 people solved
Feb 26, 2026
Whatnot logo
Whatnot
Medium
Software Engineer

Synchronize Shared Data Across Two Lists

Build a small mobile app with two list screens that fetch and display data. Some items may appear in both lists. Each item has at least: - id - title ...

Software Engineering Fundamentals
5
0
55 people solved
Jan 24, 2026
Amazon logo
Amazon
Hard
Software Engineer AI

Diagnose Return Eligibility Scoring Bugs

You are working on an e-commerce return-eligibility service. For each return request, the service computes a risk score using signals such as: - how m...

Software Engineering Fundamentals
3
0
64 people solved
Jan 12, 2026
Databricks logo
Databricks
Hard
Software Engineer Locked

Design a multi-threaded synchronous log writer

This question evaluates a candidate's understanding of concurrent programming, durable I/O, synchronization primitives, ordering guarantees, and syste...

Software Engineering Fundamentals
28
0
533 people solved
Feb 12, 2026
Amazon logo
Amazon
Medium
Software Engineer Locked

Implement Review Content Moderation

This question evaluates a candidate's ability to implement consistent server-side content moderation and stateful persistence handling in a backend se...

Software Engineering Fundamentals
11
0
122 people solved
May 24, 2026
OpenAI logo
OpenAI
Hard
Software Engineer

Model particle hits on a screen

A point source at (0, 0) emits particles toward an infinite vertical screen located at x = 1. For each particle, sample an angle theta uniformly from ...

Software Engineering Fundamentals
45
0
405 people solved
Feb 22, 2026
Zoox logo
Zoox
Medium
Data EngineerSenior+

Design Transaction Data Quality Checks

You own data quality for the same credit-card transaction dataset. transactions | column | type | description | |---|---|---| | transaction_id | integ...

Software Engineering Fundamentals
3
0
60 people solved
Apr 11, 2026
Imc logo
Imc
Hard
Data ScientistNew Grad

Compute the Probability for Two Uniform Variables

Let \(X\) and \(Y\) be independent random variables, each uniformly distributed on \([0,1]\). Define: - \(L = \max(X,Y)\) - \(S = \min(X,Y)\) What is ...

Software Engineering Fundamentals
7
0
75 people solved
Mar 5, 2026
Instacart logo
Instacart
Medium
Software Engineer

Simulate bus boarding with priority and wheelchairs

You are implementing a simplified bus boarding simulator. Model: - Person has at least: - id (string/int) - priority (boolean): if true, they shou...

Software Engineering Fundamentals
26
0
238 people solved
Mar 4, 2026
Jane Street logo
Jane Street
Medium
Frontend Engineer

Build a Web Calculator That Matches a Reference App

You are in a 45–60 minute phone screen (with screen sharing) for a Fullstack/Frontend role. The interviewer shares a link to a simple calculator web a...

Software Engineering Fundamentals
7
0
57 people solved
Sep 29, 2025
Wayve logo
Wayve
Easy
Software Engineer

Repair Unsafe C++ Ownership with Smart Pointers

Repair Unsafe C++ Ownership with Smart Pointers Review this ownership sketch: `cpp class Engine { public: void start(); }; class Controller { ...

Software Engineering Fundamentals
1
0
15 people solved
Apr 9, 2026
ZipHQ logo
ZipHQ
Medium
Software Engineer

Implement a Vending Machine

Design and implement the core logic for a vending machine using object-oriented principles. The machine stores products, accepts bills, tracks the cur...

Software Engineering Fundamentals
31
0
273 people solved
Jan 28, 2026

Frequently Asked Questions

How difficult are Software Engineering Fundamentals interview questions?
Software Engineering Fundamentals questions range from easy implementation checks to challenging medium-hard problems that probe algorithmic thinking, data structures, and code quality. Most interview banks for this category skew toward medium difficulty: expect problems that require correct, efficient code plus clear complexity analysis and robust edge-case handling. For entry-level roles the focus is correctness and basic patterns; for senior roles interviewers layer in constraints like concurrency, memory limits, or novel input shapes to evaluate depth. Interviewers are less interested in trivia and more in how you reason, iterate, and communicate tradeoffs while producing clean, testable code.
Where in a typical interview loop do Software Engineering Fundamentals questions appear and which companies emphasize them?
Fundamentals questions appear early and repeatedly: they show up in online assessments or phone screens, in the technical rounds of the onsite loop, and sometimes in take-home tasks. Companies that weight this category heavily include Amazon, Google, and OpenAI, where coding interviews are used as a consistent gate to assess core engineering ability. Smaller firms may combine fundamentals with domain-specific problems, while some loops repeat fundamentals to confirm consistency across rounds. Expect one to three focused coding or fundamentals problems per technical loop, with additional rounds evaluating design or system-level skills.
How long should I prepare for Software Engineering Fundamentals before interviewing?
Preparation time depends on baseline skills and role level. If you already know basic data structures, plan 4–8 weeks of focused practice to reach interview readiness; novices often need 8–12 weeks to build fluency. Senior candidates should allow 8–12+ weeks for deeper practice on complex variants, concurrency, and large-scale tradeoffs. Aim for consistent short sessions rather than last-minute cramming, with weekly goals that combine new problems, timed mocks, and review of solved solutions. Companies like Amazon and Google reward consistent, demonstrated mastery over a range of patterns rather than one-off problem memorization.
What are the key subtopics to master within Software Engineering Fundamentals?
Master core data structures and algorithm families: arrays and strings, hash maps, linked lists, stacks and queues, trees and graphs, heaps, and sorting. Be fluent with patterns like two pointers, sliding windows, divide and conquer, BFS/DFS, greedy methods, and dynamic programming. Know complexity analysis, space-time tradeoffs, null and edge-case handling, and basic memory or concurrency considerations. Also practice writing clean, testable code, explaining invariants, and reasoning about performance. Interviewers expect candidates to move from brute-force to optimized approaches while clearly explaining each step.
What standout tips and common pitfalls should I know when practicing Software Engineering Fundamentals?
Standout tips: clarify requirements before coding, talk through your plan, start with a correct brute-force solution, then iterate to optimize while explaining tradeoffs. Write concise, readable code and test representative edge cases aloud. Practice in a real editor to reduce syntactic errors and time pressure. Common pitfalls include skipping complexity analysis, ignoring nulls and boundary conditions, premature optimization without a clear bottleneck, and poor communication. For companies like Amazon and Google, failing to narrate decisions or to test your code are frequent reasons candidates fall short; prioritize clarity and correctness first, then optimize.

Explore more Software Engineering Fundamentals interview questions

Jump straight to Software Engineering Fundamentals questions at a specific company or for a specific role.

By company
By role