Topic
Software Engineering Fundamentals interview questions
1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.
123 easy887 medium198 hard
Software Engineering Fundamentals interview questions by the numbers
Last updated
Katkat has 1,208 Software Engineering Fundamentals interview questions from 253 companies; the most come from OpenAI (5%), Stripe (4%) and Amazon (3%). By difficulty: 10% easy, 73% medium and 16% hard. The most common round is Technical Screen (52%). Frequent concepts include Data Structures, Concurrency, System Design and Algorithms.
Companies (253)
Difficulty
- Easy10% · 123
- Medium73% · 887
- Hard16% · 198
Interview rounds
- Technical Screen52% · 625
- Onsite37% · 448
- Online Assessment8% · 96
- HR Screen2% · 28
- Other1% · 11
Roles
- Software Engineer85% · 1026
- Frontend Engineer4% · 51
- Machine Learning Engineer2% · 30
- Backend Engineer2% · 25
- Data Scientist1% · 17
Frequent concepts
- Data Structures8% · 97
- Concurrency8% · 96
- System Design8% · 93
- Algorithms3% · 42
- API Design3% · 42
- Object-Oriented Design3% · 35
Most mentioned in interview experiences
- 1.Plant Infection Grid Simulation: Days to Stabilize, Immune Plants, Expiring Immunity5 reports
- 2.Bootstrap Service: Aggregate Downstream Services and Return the Right HTTP Status4 reports
- 3.Crawl an HTTP-served maze to its exit with 503 retries, dead ends and cycles4 reports
- 4.Find the Exit of an HTTP URL Maze Despite Flaky 503s and Bad JSON4 reports
- 5.In-Memory Workspace Credit System With Transfers, Top-K and Scheduled Transfers4 reports
- 6.Virtual Card Case Study: Trade-offs, Card Number Rule Checks, and Debugging a Filter4 reports
- 7.Virtual Card Numbers Case: Trade-offs, Payment Validation Rules, Debugging4 reports
- 8.Workspace Credit Ledger: Transfers, Top-K, Scheduled Transfers, Merges, Balance History4 reports
- 9.Build a UVM testbench: driver, monitor, scoreboard and coverage-driven closure3 reports
- 10.Debug a Layered Book Search Service Against Five Search Rules3 reports
Counted from 425 candidate interview experiences on Katkat. How we collect and count
Showing 1111–1140 of 1208 results
This question evaluates front-end web development competencies including local-state list rendering, form submission and validation behavior, client API integration with loading/success/error states, accessibility practices, idempotent update handling, and predictable re-rendering.
TikTokSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentTests understanding of iOS memory management fundamentals, including differentiating Jetsam OOM events from fatal access exceptions, pinpointing retain cycles and memory growth, and using Xcode profiling tools to confirm fixes.
TikTokSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to structure a comprehensive quality assurance strategy for a social media feature, balancing functional testing, edge cases, and automation.
TikTokSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests the candidate's understanding of the C/C++ compilation pipeline, focusing on how source code is transformed into a runnable binary and the role of different build artifacts.
TikTokSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA code-review exercise on several files that implement an HTTP API, where the known defects include a GET endpoint that should be POST, a request payload problem and missing input validation. It tests explaining each defect by its impact, fixing it consistently across files, and running a prioritized review within an hour.
ToastSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDiagnose Linux CPU slowness from host and thread metrics through scheduling, limits, profiles, and a workload-linked verification of the bottleneck.
Together AISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenInvestigate slow network throughput across application, transport, host, and container layers using controlled comparisons, retransmissions, limits, and path behavior.
Together AISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDiagnose storage slowness using device metrics, process attribution, workload shape, cache and durability effects, and measurements appropriate to the storage stack.
Together AISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTrace logging-related server saturation through resource attribution, producer/sink behavior, bounded queues, rotation and retention, and verified mitigation.
Together AISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's understanding of CSS color functions, specifically knowledge of channel-based color specification and the use of an optional opacity component.
TomaFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests your knowledge of modern CSS color syntax and the various ways to define transparency within style rules.
TomaFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenA front-end debugging question in which a React component that fetches data sometimes shows results that do not match the current input, even though each API response is correct. It tests how the candidate reproduces a timing-dependent bug, finds the root cause, fixes it in the effect, handles cancellation errors, and verifies the fix with a deterministic test.
TradedeskFrontend EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to build a resilient data-fetching client that handles network unreliability, data integrity validation, and efficient caching patterns.
TradedeskSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentA front-end coding question asking the candidate to implement an in-process publish-subscribe utility in JavaScript or TypeScript with subscribe, publish, and unsubscribe. It tests API design, choice of data structures, safe iteration when subscribers change during a publish, isolation of subscriber errors, and cleanup that avoids memory leaks.
TradedeskFrontend EngineerSoftware Engineering FundamentalsOnsiteAn object-oriented design question asking the candidate to model an elevator control system: its classes, their responsibilities, and how a button press becomes an elevator stop. It tests requirement scoping, a clear per-car state model, stop ordering and dispatch policies that can be swapped out, handling of out-of-service cars and duplicate requests, and testability.
TradedeskFrontend EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates a candidate's grasp of C++ fundamentals, specifically const-correctness with pointers and the distinction between ordered and hash-based associative containers. It tests conceptual understanding of pointer semantics and data structure trade-offs (tree vs. hash table complexity and ordering), a common check in language-fundamentals interview rounds.
TrexquantSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a thread-safe cache fetch operation that coalesces concurrent misses for the same key while allowing different keys to load in parallel. Define linearization points, generation-aware publication, lock scope, timeout and error handling, deletion races, and stale completion cleanup.
TubiSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates object-oriented design, domain modeling, data structure selection, and concurrency control for resource allocation in a multi-level parking garage.
UberSoftware EngineerSoftware Engineering FundamentalsOnsite- Design a Parking LotMedium
This problem tests object-oriented design principles and the ability to manage resource allocation and concurrency in a multi-threaded environment.
UberSoftware EngineerSoftware Engineering FundamentalsOnsite This question evaluates understanding of data structures and time-windowed counting, performance and memory trade-offs, expiration policies, and concurrency when implementing an in-memory rolling event counter.
UberSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to design an in-memory scheduling system that efficiently manages room availability and handles time-interval overlaps.
UberSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign an in-memory directory tree supporting iterative path insertion and file lookup using an explicit stack. The problem tests handling of duplicate component names, memory-efficient tree representation, and clarifying ambiguous file search contracts.
UberSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates object-oriented design competency, including class modeling, responsibility assignment, relationships (inheritance and composition), and familiarity with design patterns and SOLID principles for representing constraints like spot sizes and vehicle types.
UberSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to design a system for managing directed relationships between users, requiring careful selection of data structures to balance write performance and query latency.
UberSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign an in-memory file system supporting path creation (`mkdir`) and directory listing (`ls`). Tests tree-based data structures, path parsing, and clean object-oriented design.
UberSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates a candidate's competency in designing comprehensive test plans and test-driven development workflows for grid-based word search algorithms, covering edge-case identification, input normalization, path validity, and performance/stress considerations within software testing and algorithmic reasoning.
UberSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a string format for rooted N-ary trees and implement serialize and deserialize so the decoded tree has the same values, shape and child order. It tests unambiguous encoding of variable child counts, linear-time parsing, iterative handling of very deep trees, and validation of malformed input.
UberSoftware EngineerSoftware Engineering FundamentalsOnsiteA multi-part coding question built on the classic meeting-room scheduling problem: find the minimum number of rooms for a set of meetings, merge overlapping meetings into busy blocks, and detect and handle booking conflicts. It tests interval ordering, endpoint conventions, sweep reasoning and efficient lookups.
UberSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenAn object-oriented design interview question asking you to model a parking lot and implement working check-in and check-out methods. It tests class design and relationships, fast free-spot lookup across vehicle sizes, ticket handling, fees, edge cases, and thread safety.
UberSoftware EngineerSoftware Engineering FundamentalsOnsiteA low-level design interview question asking you to model a basic in-memory file system that supports mkdir and ls. It tests entity and class design for files and directories, representing the directory hierarchy and parent-child links, path resolution, and clear operation semantics.
Uber FreightSoftware EngineerSoftware Engineering FundamentalsOnsite