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

Design a Concurrent, Memory-Bounded Tally Service

Design a Concurrent, Memory-Bounded Tally Service Design and implement the core of a TallyService with two operations: - bump(timestamp): record one e...

Software Engineering Fundamentals
5
0
57 people solved
Jul 1, 2026
Ziprecruiter logo
Ziprecruiter
Easy
Machine Learning Engineer

Debug Feature Updates in a Laptop Management CLI

Debug Feature Updates in a Laptop Management CLI You are debugging a command-line laptop management system. Each laptop belongs to one or more users a...

Software Engineering Fundamentals
1
0
15 people solved
Jul 25, 2026
DoorDash logo
DoorDash
Medium
Software Engineer

Implement a Consistent Hash Ring

Implement a Consistent Hash Ring Design a consistent-hashing component that maps arbitrary keys to backend nodes and minimizes remapping when nodes ar...

Software Engineering Fundamentals
12
0
95 people solved
Jul 10, 2026
Jain Global logo
Jain Global
Medium
Data Engineer

Build a Self-Service Market Data Discovery and Support Layer

Build a Self-Service Market Data Discovery and Support Layer An analyst asks where to find Bloomberg company identifiers and the associated figures ne...

Software Engineering Fundamentals
1
0
14 people solved
Jul 26, 2026
Shopify logo
Shopify
Medium
Software EngineerSenior+

Harden a URL-Caching HTTP Service for Production

Harden a URL-Caching HTTP Service for Production You inherit a working HTTP service that accepts URL-related requests and keeps cached URL records in ...

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

Find a Local Minimum in One and Two Dimensions

Given an array of unique numbers, return any element that is smaller than its neighbors. Then discuss the two-dimensional follow-up where you need to ...

Software Engineering Fundamentals
10
0
98 people solved
Jul 2, 2026
Ramp logo
Ramp
Medium
Software Engineer

Find a User's Airport at a Given Time from Flight Records

Given flight records with departure airport, departure time, arrival airport, arrival time, and user id, implement a function that returns where a giv...

Software Engineering Fundamentals
28
0
407 people solved
Jul 2, 2026
Apple logo
Apple
Hard
Machine Learning EngineerSenior+

Walk Through an Agentic PDF Evaluation Codebase

Walk through an agentic PDF evaluation codebase, including architecture, deployment, data processing, embeddings, similarity, and state management. `h...

Software Engineering Fundamentals
19
0
197 people solved
Jul 1, 2026
Cursor logo
Cursor
Medium
Software Engineer

Implement a Merkle Tree for Repository Contents

Implement a Merkle tree over the contents of a cloned repository. The tree should let a client and server compare repository state efficiently by exch...

Software Engineering Fundamentals
17
0
305 people solved
Jul 2, 2026
Google logo
Google
Medium
Software EngineerSenior+

Build a Custom CompletableFuture: Async Primitive and Parallel Array Processing

You are asked to design and implement, from scratch, a simplified asynchronous "future / promise" abstraction in the spirit of Java's CompletableFutur...

Software Engineering Fundamentals
21
0
150 people solved
Jun 29, 2026
Coreweave logo
Coreweave
Medium
Software Engineer

Design Tree Operations with DFS and BFS

Design an object-oriented tree class with several operations that require DFS and BFS traversal. Explain the node model, traversal APIs, and how you w...

Software Engineering Fundamentals
9
0
96 people solved
Jul 2, 2026
Oracle logo
Oracle
Easy
Software Engineer

Implement a Paginated Medical-Record Filter Without Guessing an Ambiguous Rule

Implement a Paginated Medical-Record Filter Without Guessing an Ambiguous Rule You are given a paginated HTTP endpoint that returns medical records. E...

Software Engineering Fundamentals
1
0
15 people solved
Jul 21, 2026
Asana logo
Asana
Medium
Software Engineer

Model and Solve a Rectangular Jigsaw Puzzle

Model and Solve a Rectangular Jigsaw Puzzle Design an object-oriented model for a rectangular jigsaw puzzle and outline an algorithm to solve it. Use ...

Software Engineering Fundamentals
11
0
87 people solved
Jul 2, 2026
Zscaler logo
Zscaler
Medium
Software EngineerSenior+

Design a Multi-Dimensional Job Rate Limiter

Design a Multi-Dimensional Job Rate Limiter Design and implement a rate limiter for jobs. A decision may depend on the job's effort, a per-user limit,...

Software Engineering Fundamentals
0
0
8 people solved
Jul 30, 2026
Cognitiv logo
Cognitiv
Hard
Software Engineer

Reason About Duplicate Data and Scaling in Spark

Reason About Duplicate Data and Scaling in Spark In a technical experience discussion, explain how you would identify and handle duplicate data in a S...

Software Engineering Fundamentals
0
0
9 people solved
Jul 28, 2026
Asana logo
Asana
Medium
Software Engineer

Design a Testable 2048 Game Engine

Design a Testable 2048 Game Engine Design the object model and core operations for a 2048 game. The engine must create a game, return the current boar...

Software Engineering Fundamentals
7
0
67 people solved
Jul 2, 2026
Zscaler logo
Zscaler
Medium
Software EngineerSenior+

Reason About Remote Browser Isolation and Secure Media Delivery

Reason About Remote Browser Isolation and Secure Media Delivery Discuss the security and delivery trade-offs among remote browser isolation, Zero Trus...

Software Engineering Fundamentals
0
0
7 people solved
Jul 30, 2026
Stripe logo
Stripe
Hard
Software Engineer Locked

Debug Validation Error Aggregation

This question evaluates debugging, error-handling, and message-normalization skills in Python schema-validation libraries, focusing on aggregation of ...

Software Engineering Fundamentals
139
0
1075 people solved
May 14, 2026
Rippling logo
Rippling
Medium
Software Engineer Locked

Design Extensible Interview Coding Systems

Review a broad software engineering interview loop covering object-oriented delivery APIs, rule engines, article voting systems, and a news aggregator...

Software Engineering Fundamentals
21
0
184 people solved
Jun 11, 2026
Snowflake logo
Snowflake
Hard
Software Engineer

Design a Thread-Safe Multi-Rule Rate Limiter

Design and reason about a rate limiter that begins with one rule and evolves to support multiple rules, concurrent requests, handler failures, and def...

Software Engineering Fundamentals
4
0
37 people solved
Jun 20, 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