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
Perplexity logo
Perplexity
Medium
Software Engineer

Implement an In-Memory File System

Implement an In-Memory File System Design and implement an in-memory hierarchical file system. It starts with an empty root directory and a current wo...

Software Engineering Fundamentals
15
0
106 people solved
Jul 10, 2026
Sig logo
Sig
Easy
Software Engineer

Design a Cash Register with Inventory and Profit Tracking

Design a Cash Register with Inventory and Profit Tracking Design an object-oriented cash-register system that manages inventory, completes sales, and ...

Software Engineering Fundamentals
1
0
13 people solved
Aug 3, 2026
Roblox logo
Roblox
Medium
Software Engineer

Select Maximum Call Stacks Across Threads

You receive a collection of sampled call stacks. Each sample contains a threadId and an ordered list of frames from root to leaf. Design an algorithm ...

Software Engineering Fundamentals
4
0
34 people solved
Jul 18, 2026
Hudson River Trading logo
Hudson River Trading
Hard
Software Engineer

Design an Indexable Deque with O(1) Access

Design a data structure backed by a deque that supports push front, push back, pop front, pop back, and O(1) access by logical index. Explain how an o...

Software Engineering Fundamentals
15
0
150 people solved
Jul 2, 2026
Cursor logo
Cursor
Hard
Software Engineer

Build a Streaming Markdown Code Fence Parser

Implement a streaming Markdown parser that recognizes inline code spans marked with backticks and fenced code blocks marked with triple backticks. The...

Software Engineering Fundamentals
32
0
287 people solved
Jul 2, 2026
Airbnb logo
Airbnb
Hard
Software Engineer

Implement a Time-Aware Banking System

Implement a Time-Aware Banking System Design an in-memory banking component in four increments. It must create accounts, accept deposits, transfer fun...

Software Engineering Fundamentals
2
0
27 people solved
Jul 21, 2026
Point72 logo
Point72
Hard
Software Engineer

Evaluate Defensive Testing and Pair Programming

An engineering interview asks you to compare two practices that aim to reduce defects: defensive testing and pair programming. Explain what each pract...

Software Engineering Fundamentals
1
0
13 people solved
Aug 1, 2026
Amazon logo
Amazon
Medium
Software Engineer

Design a File Searcher With Symbolic Links

Design an in-memory file-system searcher. The file-system graph contains directories, regular files, and symbolic links. A query selects regular files...

Software Engineering Fundamentals
4
0
47 people solved
Jul 10, 2026
Decagon logo
Decagon
Hard
Software Engineer

Add Nested Begin, Commit, and Abort Semantics to a Shopping Cart

Add Nested Begin, Commit, and Abort Semantics to a Shopping Cart An in-memory shopping cart already supports add(item), remove(item), and a pure disco...

Software Engineering Fundamentals
4
0
70 people solved
Jul 13, 2026
Airbnb logo
Airbnb
Medium
Software Engineer

Implement a Multi-Level Recipe Management Service

Implement a Multi-Level Recipe Management Service Design and implement an in-memory recipe manager. A recipe stores a name, an ordered ingredient list...

Software Engineering Fundamentals
2
0
19 people solved
Jul 25, 2026
Microsoft logo
Microsoft
Medium
Software Engineer Locked

Find the Bugs in an AI-Generated URL Shortener

This question evaluates a candidate's ability to review AI-generated code for correctness, consistency, and robustness rather than write code from scr...

Software Engineering Fundamentals
42
1
290 people solved
Jun 12, 2026
Snapchat logo
Snapchat
Medium
Software Engineer

Find Duplicate Files with a Hand-Written Directory Traversal

Find Duplicate Files with a Hand-Written Directory Traversal Implement a duplicate-file finder starting from a root directory, but do not use a recurs...

Software Engineering Fundamentals
7
1
48 people solved
Jul 21, 2026
Hudson River Trading logo
Hudson River Trading
Hard
Software Engineer

Explain Large Memory Allocation, Swap, and C++ Inline Trade-offs

In a low-level C++ interview, explain what happens when a program requests 8 GB of memory on a machine with 4 GB of RAM, and discuss the purpose and d...

Software Engineering Fundamentals
25
0
195 people solved
Jul 2, 2026
Baseten logo
Baseten
Hard
Software Engineer

Parallelize Blocking API Calls with a Thread Pool

Parallelize Blocking API Calls with a Thread Pool An existing function loops over a list of inputs and calls a blocking API once per input. Replace th...

Software Engineering Fundamentals
2
0
16 people solved
Jul 26, 2026
Amazon logo
Amazon
Medium
Software EngineerSenior+

Design a Threshold-Based Database Partition Rebalancer

Design a Threshold-Based Database Partition Rebalancer You are given database partitions and a size threshold. Oversized partitions should be split in...

Software Engineering Fundamentals
2
0
18 people solved
Jul 23, 2026
Legora logo
Legora
Medium
Software Engineer

Design a Cloud-Provider Upload Adapter

Design a Cloud-Provider Upload Adapter Design a small class layer that lets a backend initiate direct uploads through different cloud storage provider...

Software Engineering Fundamentals
0
0
9 people solved
Aug 3, 2026
OpenAI logo
OpenAI
Medium
Software Engineer

Implement a Recoverable In-Memory Key-Value Store

Implement a Recoverable In-Memory Key-Value Store Design and implement a single-process key-value store whose working set is held in memory and whose ...

Software Engineering Fundamentals
6
0
52 people solved
Jun 29, 2026
Netflix logo
Netflix
Medium
Software Engineer

Plan Eviction and Cleanup for a Production Cache

Plan Eviction and Cleanup for a Production Cache A process-local timed cache is correct for basic puts and gets, but it can still exhaust memory, reta...

Software Engineering Fundamentals
16
0
120 people solved
Jul 11, 2026
Gusto logo
Gusto
Medium
Software Engineer

Design an Extensible Tax Policy Engine

Design an Extensible Tax Policy Engine You already have a correct evaluator for one progressive-bracket policy. Design the surrounding tax engine so i...

Software Engineering Fundamentals
1
0
10 people solved
Aug 1, 2026
Coreweave logo
Coreweave
Medium
Software Engineer

Represent and Evaluate Boolean Predicate Expressions

Design a data structure to represent and evaluate predicates such as abc > 5 and (test < 8 or team > 9). Support comparisons, and, or, parentheses, an...

Software Engineering Fundamentals
10
0
110 people solved
Jul 2, 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