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 1–30 of 625 results

  • AMDEasySoftware Engineer
    Build a UVM testbench: driver, monitor, scoreboard and coverage-driven closure

    A hardware design verification question on building a SystemVerilog UVM testbench for an RTL block. It covers agents, drivers, monitors and scoreboards, checking results that may leave out of order, catching missing outputs, and using code and functional coverage to steer constrained-random stimulus toward sign-off.

    Software Engineering FundamentalsTechnical Screen
  • AMDEasySoftware Engineer
    PCIe deep dive: TS1/TS2, LTSSM link training, TLP types and transaction ordering rules

    A PCI Express protocol deep dive for a verification role. It covers TS1 and TS2 training ordered sets, LTSSM link training from Detect to L0 and through Recovery, TLP headers and the Posted, Non-Posted and Completion categories, and the ordering rules that decide when one transaction may pass another.

    Software Engineering FundamentalsTechnical Screen
  • Abnormal AiMediumSoftware Engineer
    Extensible Security-Event Pipeline: Rule Suppression and Plugin-Based Enrichment

    Tests your ability to design and implement an extensible, plugin-based security event processing engine supporting multi-tenant enrichments and dynamic rule suppression.

    Software Engineering FundamentalsTechnical Screenobject-oriented-designsoftware-architecturemulti-tenancy
  • AddeparEasySoftware Engineer
    Implement a URL-Prefix Sliding-Window Alert Monitor

    This problem tests the ability to manage time-based sliding windows and prefix-based path aggregation to trigger alerts based on request thresholds.

    Software Engineering FundamentalsTechnical ScreenData StructuresHash MapSliding Window
  • Additive AiMediumSoftware Engineer
    Extract W-2 PDF Data and Evaluate It Against Reference JSON

    This problem tests data structure manipulation, fuzzy matching logic, and evaluation metrics for comparing extracted AI document data against ground-truth schemas.

    Software Engineering FundamentalsTechnical ScreenData ProcessingNormalizationEvaluation
  • AdiaEasyData Scientist
    Calculate Playback Counts per Stream

    This question tests the ability to perform relational database joins and use aggregate functions (COUNT) with grouping to summarize event-level data.

    Software Engineering FundamentalsTechnical ScreenSQLJoinsAggregation
  • AffirmEasySoftware Engineer
    Design a High-Card Game with a Persistent Tie Pot

    Design a high-card game in which tied rounds carry a persistent pot into later rounds, first for two players and then for many. Define card ownership, tie and exhaustion policies, deterministic shuffling, termination rules, extensible classes, and tests for tricky state transitions.

    Software Engineering FundamentalsTechnical Screen
  • AffirmHardSoftware Engineer
    Simulate a High-Card Deck Game for Two Players, Then N Players

    Model a shuffled 52-card game in which each round the higher top card wins both cards, then report the player with the most cards won. Starts with two players and generalizes to N players with uneven round-robin dealing, testing object design, rule clarification, and deterministic tests.

    Software Engineering FundamentalsTechnical Screen
  • AgodaMediumSoftware Engineer
    Compute probability two arrivals meet within 15 minutes

    This question evaluates understanding of continuous probability and geometric probability, focusing on independent uniform random variables and reasoning about time-window overlap.

    Software Engineering FundamentalsTechnical Screen
  • AirbnbMediumSoftware Engineer
    Design a banking ledger for deposits/withdrawals

    This question tests your ability to design a robust database schema and service logic for a banking system, focusing on data integrity, transaction atomicity, and handling high-concurrency balance updates.

    Software Engineering FundamentalsTechnical ScreenDatabase DesignConcurrencyTransactions
  • AirbnbMediumSoftware Engineer
    Design an extensible request Retryer

    This question evaluates a candidate's ability to design extensible and robust retry mechanisms, covering competencies in API/interface design, fault tolerance, backoff and jitter strategies, cancellation/deadline handling, idempotency considerations, and observability.

    Software Engineering FundamentalsTechnical Screen
  • AirtableMediumSoftware Engineer
    Design Extensible Undo and Redo for a Spreadsheet

    This problem tests your ability to design a robust Command pattern architecture capable of handling complex state transitions, such as data deletions and dependency-aware recalculations, in a spreadsheet environment.

    Software Engineering FundamentalsTechnical ScreenSystem DesignDesign PatternsCommand Pattern
  • AirtableMediumSoftware Engineer
    Implement a Connection Pool

    This question evaluates a candidate's competence in resource management, object ownership and lifecycle handling, and safe reuse of pooled database connections.

    Software Engineering FundamentalsTechnical Screen
  • AirwallexMediumFrontend Engineer
    Name-Keyed Async Task Scheduler with Sequential Lanes, Cancel and Clear by Name

    Implement a JavaScript task scheduler for async functions where tasks sharing a name run strictly in order while tasks with different names run concurrently. Follow-ups add cancelling the running task for a name and clearing every running and queued task by name, testing promise handling, race conditions and API design.

    Software Engineering FundamentalsTechnical Screen
  • Akuna CapitalHardSoftware Engineer
    Design a Tiered Expiring Item Store

    Design a multi-tiered in-memory item store that enforces tier capacity limits, dynamic expiration, and deterministic retrieval using dual heaps and lazy cleanup.

    Software Engineering FundamentalsTechnical ScreenData StructuresHeapsCache Design
  • Akuna CapitalMediumSoftware Engineer
    Evaluate a Hexadecimal Bitwise AND

    Tests understanding of bitwise operations, hexadecimal-to-binary mapping, and manual nibble-level alignment without relying on arbitrary-precision integer conversions.

    Software Engineering FundamentalsTechnical ScreenBit ManipulationStringsSystems Programming
  • Akuna CapitalMediumSoftware Engineer
    Find the Maximum Value in a Binary Tree Recursively

    Implement a recursive binary tree traversal to find the maximum integer value in a tree, with careful handling of pointer safety, sentinel values, and edge cases like all-negative nodes.

    Software Engineering FundamentalsTechnical Screenbinary-treerecursioncpp
  • AmazonMediumSoftware Engineer
    Build a responsive grid of fixed boxes

    This problem tests your proficiency in creating responsive UI layouts using CSS Flexbox or Grid and your ability to optimize rendering performance for large datasets using virtualization or efficient list rendering.

    Software Engineering FundamentalsTechnical ScreenReactCSS GridFrontend
  • AmazonMediumSoftware Engineer
    Control Robot Charging with Repeated Polling and Exclusive Station Assignments

    Design a repeatedly invoked robot-charging controller with strict battery thresholds, exclusive station assignments, waiting robots, and safe command retries.

    Software Engineering FundamentalsTechnical Screen
  • AmazonHardSoftware Engineer
    Debug an Issue-Creation API Failure

    This problem tests your systematic troubleshooting methodology for a distributed system, focusing on narrowing down the root cause of an API request failure.

    Software Engineering FundamentalsTechnical ScreenDebuggingSystem ArchitectureDistributed Systems
  • AmazonMediumSoftware Engineer
    Describe Linux and SQL experience

    Prepare an engineering interview answer on Linux commands and SQL experience. Covers shell workflows, log debugging, file and process commands, SQL joins, aggregations, CTEs, window functions, and translating business questions into queries.

    Software Engineering FundamentalsTechnical Screen
  • AmazonMediumSoftware Engineer
    Design a basic credit card system

    This problem tests object-oriented modeling and state management by requiring the design of a class structure that handles credit limits, transaction authorization, and balance tracking.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignDomain ModelingSystem Architecture
  • AmazonMediumSoftware Engineer
    Design a pizza ordering system

    This question evaluates object-oriented design and software architecture skills, focusing on class modeling, responsibilities, relationships, state management, pricing, payment flows, and extensibility.

    Software Engineering FundamentalsTechnical Screen
  • AmazonMediumSoftware Engineer
    Design an Extensible Cinema Ticket Pricing Engine

    Design an extensible cinema pricing engine with validated money and multiplier types, composable policies, explicit calculation and rounding, compatibility checks, versioned configuration, itemized quotes, and boundary tests.

    Software Engineering FundamentalsTechnical Screen
  • AmazonMediumSoftware Engineer
    Design an In-Memory Pub-Sub Model

    This question evaluates object-oriented design and API modeling skills, knowledge of messaging/pub-sub semantics, concurrency and thread-safety, and the ability to reason about extensibility for retries, persistence, and asynchronous delivery.

    Software Engineering FundamentalsTechnical Screen
  • AmazonMediumSoftware Engineer
    Design an Object-Oriented Shopping Cart

    Tests object-oriented design principles, domain modeling for monetary precision, extensible discount strategies, and thread-safe state mutations.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignDesign PatternsConcurrency
  • AmazonMediumApplied Scientist
    Design an advertiser metrics tracking platform

    This question tests your ability to design a flexible, object-oriented system for ingesting, processing, and querying real-time advertising performance metrics.

    Software Engineering FundamentalsTechnical ScreenSystem DesignOOPDesign Patterns
  • AmazonEasySoftware Engineer
    Evaluate an AI-Assisted Engineering Workflow

    This question tests the candidate's ability to critically analyze the integration of AI tools into the software development lifecycle by balancing productivity gains with code quality and reliability.

    Software Engineering FundamentalsTechnical ScreenAI-EngineeringWorkflow-DesignCode-Migration
  • AmazonHardSoftware Engineer
    Explain Aurora-style internals: WAL, MVCC, replication, recovery

    This question tests your conceptual understanding of how log-structured storage engines, like Amazon Aurora, decouple the database log from the data pages to achieve low-latency replication and fast recovery.

    Software Engineering FundamentalsTechnical ScreenDistributed SystemsDatabase InternalsStorage Engines
  • AmazonMediumFrontend Engineer
    Implement an Accessible Autocomplete Search Component

    Design and implement an accessible, race-condition-resilient autocomplete search component in React or modern JavaScript, focusing on debounced queries, ARIA combobox semantics, and keyboard navigation.

    Software Engineering FundamentalsTechnical ScreenReactAccessibilityFrontend