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

Design article voting and flip-tracking system

This question evaluates object-oriented design, stateful data modeling, vote aggregation, and time-ordered event history tracking competencies in the ...

Software Engineering Fundamentals
28
0
273 people solved
Dec 1, 2025
Ramp logo
Ramp
Medium
Software Engineer

From Take-Home Script to Production: Python Trade-offs and Hardening a Data Job

From Take-Home Script to Production: Python Trade-offs and Hardening a Data Job You are in a software-engineering interview at a quantitative trading ...

Software Engineering Fundamentals
4
0
49 people solved
Mar 9, 2026
Waymo logo
Waymo
Medium
Software EngineerSenior+ Locked

Design a Ride Scheduler

This question evaluates object-oriented design, event-driven scheduling and simulation, state management for ordered task execution, API design, and h...

Software Engineering Fundamentals
24
0
188 people solved
Feb 6, 2026
Intercontinental Exchange logo
Intercontinental Exchange
Medium
Software EngineerIntern

Explain Vector, Linked List, and Polymorphism

In a C++ interview, explain the differences between a dynamic array container such as std::vector and a linked-list-based container such as std::list....

Software Engineering Fundamentals
3
0
42 people solved
Feb 17, 2026
Salesforce logo
Salesforce
Hard
Software Engineer

How do you perform a thorough code review?

You are given several Python backend files to review (treat this as an “OA in code-review format”). The code performs database operations such as SQL ...

Software Engineering Fundamentals
9
0
90 people solved
Feb 17, 2026
Bobyard logo
Bobyard
Medium
Software Engineer

How do you debug slowness and bugs?

The interviewer asked two practical engineering questions: 1. A web application's frontend is loading very slowly. Describe how you would diagnose the...

Software Engineering Fundamentals
1
0
20 people solved
Apr 9, 2026
HackerRank logo
HackerRank
Medium
Software EngineerSenior+ Locked

Debug React Sorting, Persistence, Routing, and Accessibility

Prepare for a HackerRank software engineering interview question about debug react sorting, persistence, routing, and accessibility. The prompt highli...

Software Engineering Fundamentals
0
0
8 people solved
May 19, 2026
Apple logo
Apple
Medium
Software Engineer Locked

Explain Runnable vs Callable and thread-safe Singleton

This question evaluates a candidate's knowledge of Java concurrency and design patterns, specifically distinctions between Runnable and Callable, mech...

Software Engineering Fundamentals
14
0
115 people solved
Jan 17, 2026
Pinterest logo
Pinterest
Medium
Software Engineer

Build an emoji blaster animation on iOS

iOS "Blaster" App: Press-and-Hold Emoji Projectiles Problem Build a minimal iOS app with a button fixed at the bottom. While the user presses and hold...

Software Engineering Fundamentals
9
0
96 people solved
Sep 6, 2025
DoorDash logo
DoorDash
Medium
Software Engineer

Design an API for pay computation with retries

You’ve implemented logic that computes a dasher’s pay from order event logs (events include timestamps and state transitions). Design an HTTP API to e...

Software Engineering Fundamentals
11
0
222 people solved
Jan 14, 2026
xAI logo
xAI
Medium
Machine Learning Engineer

What are processes vs threads?

Question Explain the difference between multiprocessing and multithreading in the context of building concurrent applications. Cover the following: - ...

Software Engineering Fundamentals
35
0
230 people solved
Feb 12, 2026
Applied logo
Applied
Easy
Software Engineer

Design a mini compiler/interpreter

Problem Design and implement a mini compiler / interpreter for a small expression language. You are given a program as a string (possibly multiple lin...

Software Engineering Fundamentals
5
0
52 people solved
Feb 12, 2026
Airtable logo
Airtable
Easy
Software Engineer

Optimize a dispatcher’s scheduling data structures

Algorithmic analysis / code review: Dispatcher for memory-constrained scheduling You are given a single-threaded in-memory dispatcher that reacts to t...

Software Engineering Fundamentals
29
0
259 people solved
Feb 12, 2026
Shopify logo
Shopify
Easy
Software Engineer

How would you improve AI-generated code?

During a pair-programming interview, you wrote the rover simulator code using an AI coding assistant. The code works for the basic examples, but the i...

Software Engineering Fundamentals
49
0
394 people solved
Jan 27, 2026
Intuit logo
Intuit
Medium
Software Engineer Locked

Find largest file in a directory using Bash

This question evaluates a candidate's proficiency with shell scripting and Unix command-line concepts, including recursive file-system traversal, reco...

Software Engineering Fundamentals
8
0
57 people solved
Feb 11, 2026
Airtable logo
Airtable
Medium
Software Engineer

Implement a Connection Pool

You are given an existing DBConnection class that simulates a physical database connection. It exposes the following methods and must not be modified:...

Software Engineering Fundamentals
19
0
159 people solved
Jan 25, 2026
Workday logo
Workday
Medium
Software EngineerSenior+ Locked

Design an Extensible Python File Parser

This question evaluates skills in designing extensible, modular file-parsing frameworks in Python, covering interface and API design, format detection...

Software Engineering Fundamentals
6
0
79 people solved
Apr 1, 2026
Google logo
Google
Medium
Software Engineer

Explain what happens when you run ls

In Linux, explain the end-to-end flow of what happens when a user types ls in a shell and presses Enter. Include: - What the shell does - How the exec...

Software Engineering Fundamentals
7
0
60 people solved
Feb 1, 2026
Chime logo
Chime
Easy
Software Engineer

Explain sync/async, Go concurrency, SQL vs NoSQL

You are interviewing for a backend engineering role. Answer the following conceptual questions clearly and with concrete examples. 1) Synchronous vs a...

Software Engineering Fundamentals
26
0
245 people solved
Nov 13, 2025
Google logo
Google
Hard
Software Engineer

Reason About CPU Microarchitecture and Simulator Design

Reason About CPU Microarchitecture and Simulator Design Answer the following systems questions for a modern out-of-order CPU. State architectural assu...

Software Engineering Fundamentals
0
0
5 people solved
Mar 27, 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