Katkat

practice a little every day, paws crossed ♡

Software Engineering Fundamentals Interview Questions

Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.

9403
Questions
546
Companies
11
Topics
8
Languages

Showing 181–210 of 1208 results

  • AristaEasySoftware Engineer
    Explain C printf pointers and memory layout

    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.

    Software Engineering FundamentalsTechnical Screen
  • AristaHardSoftware Engineer
    Implement and Defend a Generic C++ Stack

    Implement 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.

    Software Engineering FundamentalsTechnical Screen
  • ArizeMediumSoftware Engineer
    Coordinate Three Threads to Print an Ordered Sequence

    This problem tests knowledge of multi-threaded synchronization, specifically the use of condition variables and mutexes to enforce strict ordering among three distinct threads.

    Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingSynchronization
  • ArmEasySoftware Engineer
    Explain GPU pipeline and execution hazards

    This 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.

    Software Engineering FundamentalsHR Screen
  • ArmMediumBackend Engineer
    Explain timing and testability concepts

    This 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.

    Software Engineering FundamentalsOnsite
  • AsanaMediumSoftware Engineer
    Design a 2048 Game

    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.

    Software Engineering FundamentalsOnsite
  • AsanaMediumSoftware Engineer
    Design a Layered ASCII Canvas Command Processor

    Design a clean, object-oriented command processor for a fixed 10x6 ASCII canvas that supports drawing, layering, and rendering overlapping filled rectangles.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignData StructuresSoftware Architecture
  • AsanaMediumSoftware Engineer
    Design a Testable 2048 Game Engine

    This 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.

    Software Engineering FundamentalsTechnical ScreenOOPDesign PatternsTestability
  • AsanaMediumSoftware Engineer
    Design an Extensible Animal-Chess Game Engine

    This question tests your ability to design a decoupled, extensible object-oriented system that separates game state, rule validation, and game flow logic.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignDesign PatternsSoftware Architecture
  • AsanaMediumSoftware Engineer
    Explain code complexity and design two games

    This 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.

    Software Engineering FundamentalsTechnical Screen
  • AsanaMediumSoftware Engineer
    Find frequent IPs from a huge file

    This 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.

    Software Engineering FundamentalsOnsite
  • AsanaMediumSoftware Engineer
    Model a Turn-Based Cats and Rabbits Board Game

    Design the object model, game state invariants, and move-validation engine for an asymmetric turn-based grid game played on a 7x7 board.

    Software Engineering FundamentalsOnsiteobject-oriented-designgame-designstate-machine
  • AsanaMediumSoftware Engineer
    Model and Solve a Rectangular Jigsaw Puzzle

    This problem tests object-oriented modeling skills and the ability to implement a backtracking algorithm with state pruning for a combinatorial search task.

    Software Engineering FundamentalsTechnical ScreenBacktrackingOOPRecursion
  • AsanaMediumSoftware Engineer
    Object-Oriented Design of a Two-Player Chess Game and Its Move Rules

    A 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.

    Software Engineering FundamentalsOther
  • AtlassianHardFrontend Engineer
    Build a 2x3 React Feed Grid from Static Data, Then from an API, and Explain Your Hooks

    A 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.

    Software Engineering FundamentalsTechnical Screen
  • AtlassianMediumFrontend Engineer
    Build a Social Feed List in HTML/CSS, Then Render It from a Mock API

    A 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.

    Software Engineering FundamentalsTechnical Screen
  • AtlassianMediumSoftware Engineer
    Design a CI/CD release notification service

    This problem evaluates your ability to design a flexible, object-oriented notification service that handles varying event triggers and subscriber preferences in a release pipeline.

    Software Engineering FundamentalsOnsiteSystem DesignDesign PatternsCI/CD
  • AtlassianMediumSoftware Engineer
    Design a Music Player with Queue, Loop, and Shuffle

    Design music-player objects and state transitions for play, pause, queue, looping, and shuffle, with stubbed audio and deterministic tests.

    Software Engineering FundamentalsTechnical Screen
  • AtlassianMediumSoftware Engineer
    Evaluate Architecture and Capacity Trade-offs

    This problem tests your ability to design a document storage and processing system, specifically focusing on capacity estimation, deduplication strategies, and security considerations.

    Software Engineering FundamentalsOnsiteSystem DesignCapacity PlanningSecurity
  • AtlysMediumSoftware Engineer
    Design a Splitwise-Style Expense Splitter with Minimum-Transaction Debt Settlement

    Design 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.

    Software Engineering FundamentalsTechnical Screen
  • AtlysMediumSoftware Engineer
    Design a Tour-Expense Splitter That Minimizes Payments

    Design 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.

    Software Engineering FundamentalsTechnical Screensystem-designgraphsgreedy
  • AttentiveMediumSoftware Engineer
    Evaluate a Lisp-Style Prefix Expression Language With ADD, MULT and LET Variables

    Implement 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.

    Software Engineering FundamentalsOnsite
  • Axq CapitalMediumSoftware Engineer
    Row-Wise vs Column-Wise Array Reads, L1/L2 Caches, and the TLB

    Compare 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.

    Software Engineering FundamentalsHR Screen
  • BalyasnyHardSoftware Engineer
    Design a C++ Variant with Safe Object Lifetimes

    This problem tests your understanding of manual memory management, template metaprogramming, and the type safety requirements necessary to implement a discriminated union (variant) in C++.

    Software Engineering FundamentalsOnsiteC++TemplatesMemory Management
  • BasetenHardSoftware Engineer
    Build a Crash-Consistent Single-Server Key-Value Store

    Design 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.

    Software Engineering FundamentalsTechnical Screensystems-programmingstorage-enginecrash-consistency
  • BasetenMediumSoftware Engineer
    One-pass S-expression parser with nested lists and precise error handling

    Implement 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.

    Software Engineering FundamentalsOnsite
  • BasetenHardSoftware Engineer
    Parallelize Blocking API Calls with a Thread Pool

    Implement a robust, bounded concurrent batch runner that parallelizes blocking calls while preserving input order, handling errors, and enforcing timeouts.

    Software Engineering FundamentalsTechnical ScreenConcurrencyPythonMultithreading
  • BasetenMediumSoftware Engineer
    XOR-based random number generator used to encrypt and decrypt a tree document

    A 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.

    Software Engineering FundamentalsOnsite
  • Bilt RewardsMediumSoftware Engineer
    Repair and Extend a Transaction Reward Processor

    Implement and debug a layered transaction reward processing engine that calculates category-based points, applies promotional multipliers, enforces monthly qualification thresholds, and maintains strict idempotency.

    Software Engineering FundamentalsTechnical ScreenSoftware EngineeringData StructuresSystem Design
  • BitkernelMediumSoftware Engineer
    Analyze TCP three-way handshake states

    This 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.

    Software Engineering FundamentalsOnline Assessment