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 181–210 of 1208 results
This question evaluates understanding of C pointer semantics, printf format-specifier behavior, memory layout and allocation differences, and practical debugger usage for inspecting addresses and bytes, within the Software Engineering Fundamentals domain.
AristaSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a dynamically growing generic C++ stack with raw storage and correct object lifetime management. The deep-dive covers self-referential insertion, exception safety, move ownership, allocation mechanisms, reference validity, capacity overflow, and the distinction between language guarantees and ABI behavior.
AristaSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests knowledge of multi-threaded synchronization, specifically the use of condition variables and mutexes to enforce strict ordering among three distinct threads.
ArizeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates understanding of GPU architecture concepts including the graphics pipeline from vertices to pixels, register read-after-write hazards in pipelined execution, memory behavior, throughput considerations, and execution scheduling, reflecting competency in computer graphics and parallel processor design.
ArmSoftware EngineerSoftware Engineering FundamentalsHR ScreenThis question evaluates a candidate's understanding of digital timing and testability concepts—specifically setup and hold timing, clock skew impacts, mitigation of setup/hold violations, and test methodologies such as scan, DFT and MBIST—within backend digital implementation contexts.
ArmBackend EngineerSoftware Engineering FundamentalsOnsite- Design a 2048 GameMedium
This question evaluates object-oriented design, state management, deterministic randomness handling, and algorithmic reasoning for implementing game rules on a configurable N x N grid.
AsanaSoftware EngineerSoftware Engineering FundamentalsOnsite Design a clean, object-oriented command processor for a fixed 10x6 ASCII canvas that supports drawing, layering, and rendering overlapping filled rectangles.
AsanaSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests object-oriented design principles, state management, and the ability to decouple business logic from external dependencies like random number generation to ensure testability.
AsanaSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests your ability to design a decoupled, extensible object-oriented system that separates game state, rule validation, and game flow logic.
AsanaSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis multi-part question evaluates code comprehension and algorithmic complexity analysis alongside object-oriented design competencies for interactive applications, covering skills in analyzing time and space complexity, class modeling, API design, and state management.
AsanaSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's competency in large-scale data processing and algorithm design, focusing on memory- and disk-constrained frequency estimation, streaming and approximation concepts.
AsanaSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign the object model, game state invariants, and move-validation engine for an asymmetric turn-based grid game played on a 7x7 board.
AsanaSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests object-oriented modeling skills and the ability to implement a backtracking algorithm with state pruning for a combinatorial search task.
AsanaSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA low-level design exercise asking for the classes, responsibilities and core code of a two-player chess program. It tests object modeling of pieces, board and game state, move validation including check and special moves, checkmate and stalemate detection, and keeping the design open to undo, network play or a computer opponent.
AsanaSoftware EngineerSoftware Engineering FundamentalsOtherA front-end coding exercise: show feed items with an id, text and creation time in a two-row, three-column React grid, first from static data and then from a provided API. It tests CSS grid layout, data fetching with loading and error states, effect cleanup, and how clearly the candidate explains the React hooks they use.
AtlassianFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenA two-stage front-end coding exercise: build a Twitter-style social feed list with HTML and CSS, then render it from a mock API. It tests semantic markup, a resilient card layout, asynchronous loading with loading and error states, and safe rendering of user-generated text.
AtlassianFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem evaluates your ability to design a flexible, object-oriented notification service that handles varying event triggers and subscriber preferences in a release pipeline.
AtlassianSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign music-player objects and state transitions for play, pause, queue, looping, and shuffle, with stubbed audio and deterministic tests.
AtlassianSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to design a document storage and processing system, specifically focusing on capacity estimation, deduplication strategies, and security considerations.
AtlassianSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign a Splitwise-style shared-expense app, covering functional and non-functional requirements, API design and core entities, then implement settle() to produce payments that clear every balance and settle_optimally() to use the fewest transactions. Tests object-oriented design, exact money handling, and reasoning about optimality and complexity.
AtlysSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a shared-expense tracker for a touring band: members log who paid for what and how it was split, the app maintains running balances, and two settlement modes produce the payments needed to zero every balance -- a simple pairwise payoff and an optimal one using the fewest transactions. Tests API/entity design plus a min-cash-flow-style algorithm.
AtlysSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement an evaluator for a small Lisp-style prefix language with ADD and MULT, then extend it with LET variable bindings. It tests recursive parsing of nested expressions, settling ambiguous language rules before coding, and choosing a data structure for nested variable scopes.
AttentiveSoftware EngineerSoftware Engineering FundamentalsOnsiteCompare horizontal and vertical reads of a large two-dimensional array, explain how L1 and L2 caches differ from main memory, and describe what the TLB does and what a TLB miss costs. It tests understanding of cache lines, locality, prefetching, address translation, and practical fixes for memory-bound code.
Axq CapitalSoftware EngineerSoftware Engineering FundamentalsHR ScreenThis problem tests your understanding of manual memory management, template metaprogramming, and the type safety requirements necessary to implement a discriminated union (variant) in C++.
BalyasnySoftware EngineerSoftware Engineering FundamentalsOnsiteDesign and implement a thread-safe, crash-consistent key-value storage engine that persists byte-string records to an append-only log on disk, recovers from partial writes, and supports tombstones.
BasetenSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a single-pass parser for simplified S-expressions in three stages: atoms, a parenthesized list, and arbitrarily nested lists, without splitting the input. The exercise centers on error handling: detecting invalid characters, malformed numbers, unclosed or unexpected parentheses and trailing input, and stopping with a precise error position.
BasetenSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a robust, bounded concurrent batch runner that parallelizes blocking calls while preserving input order, handling errors, and enforcing timeouts.
BasetenSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA two-part coding exercise: implement a pseudo-random number generator built from bit shifts and XOR, then use it as a keystream to encrypt and decrypt a tree-structured document so the original tree is restored exactly. It tests fixed-width bit manipulation, seeding, unambiguous serialization, and awareness of the security limits of hand-made ciphers.
BasetenSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement and debug a layered transaction reward processing engine that calculates category-based points, applies promotional multipliers, enforces monthly qualification thresholds, and maintains strict idempotency.
Bilt RewardsSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates understanding of TCP connection establishment and the TCP state machine, testing recognition of correct state transitions during the three-way handshake and related transport-layer behavior.
BitkernelSoftware EngineerSoftware Engineering FundamentalsOnline Assessment