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
Optiver logo
Optiver
Hard
Software EngineerIntern

Design an Event-Driven CPU Overheat Controller

Design an Event-Driven CPU Overheat Controller Design an OverheatPreventionController that simulates multiple processor cores without physical sensors...

Software Engineering Fundamentals
190
0
1782 people solved
Jul 2, 2026
Amazon logo
Amazon
Easy
Software Engineer

Design a Concurrent Restaurant Waitlist and Seating System

Design a Concurrent Restaurant Waitlist and Seating System Design a restaurant system with a configurable set of tables and a FIFO waitlist of parties...

Software Engineering Fundamentals
118
0
1045 people solved
Jul 7, 2026
Amazon logo
Amazon
Medium
Software Engineer AI

Debug Watch List Movie Operations

You are given a full-stack Movie DB application. Users can log in, create, update, and delete watch lists, and add or remove movies from a watch list....

Software Engineering Fundamentals
728
3
7632 people solved
Jun 12, 2026
OpenAI logo
OpenAI
Medium
Software Engineer

Design First-Fit and Best-Fit Memory Allocation

Design the core of a heap allocator over one contiguous managed region. Blocks have an address, size, and free/allocated state. Allocation requests sp...

Software Engineering Fundamentals
24
1
164 people solved
Jul 27, 2026
Databricks logo
Databricks
Hard
Software Engineer

Design Snapshot Set Iteration and Clarify Durable Writes

Work through a snapshot-set iterator and then explain how you would clarify a separate durable-writer exercise whose detailed contract has not been pr...

Software Engineering Fundamentals
11
0
110 people solved
Jul 26, 2026
Stripe logo
Stripe
Medium
Software Engineer

Prepare for Backend Parsing, API Integration, AI Coding, and Bug Fixing Rounds

Prepare for backend parsing, extensible class design, API integration, AI-assisted coding, bug fixing, and a hiring-manager round. `hint Hint 1 Start ...

Software Engineering Fundamentals
79
1
1155 people solved
Jul 4, 2026
Optiver logo
Optiver
Hard
Software EngineerSenior+

Design a News Subscription Processing Engine

Design a news subscription processing engine with four core capabilities: receive a news item, add a subscription, remove a subscription, and publish ...

Software Engineering Fundamentals
6
0
111 people solved
Jul 19, 2026
DoorDash logo
DoorDash
Medium
Software Engineer

Make a Courier Pay Workflow Resilient to Downstream Failures

Make a Courier Pay Workflow Resilient to Downstream Failures A coding exercise has produced a simplified courier-pay calculator. The calculation rules...

Software Engineering Fundamentals
5
0
35 people solved
Aug 4, 2026
Rippling logo
Rippling
Medium
Software Engineer

Implement A Prioritized Task Scheduler With Parent Dependencies

Implement a task scheduler. Each task has an id, due date, create time, high-priority flag, assignee, completion status, description, and optionally a...

Software Engineering Fundamentals
97
1
645 people solved
Jul 3, 2026
Cresta logo
Cresta
Medium
Software Engineer

Design a Robust Feature Flag Evaluation Engine

You are given feature definitions and user records as JSON. Each feature flag has a key, an enabled switch, a default Boolean, and an ordered list of ...

Software Engineering Fundamentals
8
0
66 people solved
Jul 24, 2026
Google logo
Google
Medium
Software Engineer

Deduplicate and Order Batch and Streaming Logs

Deduplicate and Order Batch and Streaming Logs Each log entry is a pair (timestamp, message). Two entries are duplicates when their message strings ar...

Software Engineering Fundamentals
12
0
140 people solved
Jul 15, 2026
Ramp logo
Ramp
Hard
Software Engineer

Design a Tunable Recurring-Transaction Detector

Design a Tunable Recurring-Transaction Detector You receive a file of transactions and need to identify likely recurring payments such as subscription...

Software Engineering Fundamentals
6
0
121 people solved
Jul 18, 2026
Airbnb logo
Airbnb
Hard
Software Engineer

Design a Stateful Working Hours Register

Design a working-hours register for employees who badge into and out of an office. Describe the data model, public operations, validation rules, and a...

Software Engineering Fundamentals
8
0
69 people solved
Jul 20, 2026
Scale AI logo
Scale AI
Easy
Backend Engineer

Build a CSV-to-JSON Classification Service

Build a CSV-to-JSON Classification Service Build a backend service in stages. First, an HTTP request supplies a server-visible CSV path and the servic...

Software Engineering Fundamentals
2
0
46 people solved
Jul 27, 2026
Cursor logo
Cursor
Medium
Software Engineer

Implement Deterministic Merkle Hashing for a Repository

Implement Deterministic Merkle Hashing for a Repository You are given a repository abstraction with operations to identify files and directories, read...

Software Engineering Fundamentals
34
0
265 people solved
Jul 13, 2026
Rippling logo
Rippling
Medium
Software Engineer

Design a Rule Evaluation Engine for Spending Policy Violations

Design an extensible rule-evaluation engine for a corporate spending product. Employees submit expenses, and managers choose policies that flag expens...

Software Engineering Fundamentals
51
1
798 people solved
Jul 1, 2026
OpenAI logo
OpenAI
Medium
Software Engineer

Clarify and Design Social-Graph Milestones

Clarify and Design Social-Graph Milestones An interview exercise progresses through a social graph with snapshots, a milestone for retrieving follower...

Software Engineering Fundamentals
16
0
114 people solved
Jul 17, 2026
DoorDash logo
DoorDash
Medium
Software Engineer

Build a Three-Service Refund Workflow over HTTP

Build a Three-Service Refund Workflow over HTTP For this exercise, build three independently running local services: - Order Service owns order data a...

Software Engineering Fundamentals
2
0
24 people solved
Aug 4, 2026
Asana logo
Asana
Medium
Software Engineer

Design an Extensible Animal-Chess Game Engine

Design an Extensible Animal-Chess Game Engine Design an object-oriented engine for a two-player, turn-based animal-chess game. The interviewer will su...

Software Engineering Fundamentals
10
0
163 people solved
Jul 16, 2026
Decagon logo
Decagon
Hard
Software Engineer

Design a Space-Efficient Versioned Recipe Shopping Cart

Design a Space-Efficient Versioned Recipe Shopping Cart Design an in-memory shopping cart for a cooking app. Each recipe has an ID and a list of ingre...

Software Engineering Fundamentals
8
0
95 people solved
Jul 17, 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