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 331–360 of 448 results

  • PinterestHardSoftware Engineer
    AI-Assisted Coding: Add a Read-Through Cache for a Product GET API in an Existing Repo

    In an AI-assisted coding round, add a read-through cache to an existing service so a product GET API calls ProductRepository less often, then explain the approach. It tests understanding a codebase before prompting, cache placement, expiry, invalidation and concurrency, and proving the change works.

    Software Engineering FundamentalsOnsite
  • PinterestMediumSoftware Engineer
    Build an emoji blaster animation on iOS

    This question evaluates a developer's skills in iOS UI interaction, animation frameworks, event scheduling and concurrency, performance optimization, and designing testable application architecture.

    Software Engineering FundamentalsOnsite
  • PinterestMediumSoftware Engineer
    Implement tap-to-infect color grid on iOS

    This question evaluates proficiency in mobile UI architecture, grid data structures, connected-component algorithm reasoning, and state management concerns such as undo and memory/stack safety within the mobile app development and iOS domain.

    Software Engineering FundamentalsOnsite
  • PinterestMediumSoftware Engineer
    Reason About Nested JSON Schema Validation

    Design and implement a recursive JSON schema validator that checks nested objects and arrays, enforces required properties, and returns precise failure paths for validation errors.

    Software Engineering FundamentalsOnsiteJSON SchemaRecursionTree Traversal
  • PinterestMediumSoftware Engineer
    Track a User's Top Trending Viewed Pin Within a Sliding Time Window

    A data structure design exercise: track the Pins a user has viewed within a sliding time window and, at any moment, return the one with the highest trending score. It asks for methods to add a viewed Pin, remove expired Pins and query the top Pin, plus the runtime complexity of each operation.

    Software Engineering FundamentalsOnsite
  • PlaidMediumSoftware Engineer
    Reason About Rate Limiting Under Memory and Throughput Pressure

    Tests the candidate's ability to design a high-throughput, memory-bounded rate limiter using bucketed counters instead of unbounded timestamp queues, balancing concurrency, memory overhead, and precision.

    Software Engineering FundamentalsOnsiteRate LimitingConcurrencyData Structures
  • PurestorageMediumSoftware Engineer
    Design a thread-safe event dispatcher

    This question evaluates understanding of concurrent programming and thread-safe design, including synchronization primitives, race-condition avoidance, listener lifecycle semantics, and event-delivery guarantees.

    Software Engineering FundamentalsOnsite
  • RampHardSoftware Engineer
    Build a Resilient Chain of Clue-Driven HTTP Requests

    Implement a resilient HTTP traversal client that follows a sequence of clue-bearing API responses to reach a final payload while enforcing safety policies like loop detection, retry budgets, deadline management, response size caps, and origin-scoped auth tokens.

    Software Engineering FundamentalsOnsitehttpnetworkingdistributed-systems
  • RampHardSoftware Engineer
    Design a Tunable Recurring-Transaction Detector

    Design and implement a configurable, explainable detector that identifies recurring subscription transactions from noisy transaction logs, handling price variations, irregular cadences, and missing cycles.

    Software Engineering FundamentalsOnsitealgorithmssystem-designfinancial-data
  • RampHardSoftware Engineer
    Implement a Clean In-Memory Transaction Ledger

    Design an in-memory double-entry style financial transaction ledger that supports atomic transfers, strict balance invariants, and idempotency key handling.

    Software Engineering FundamentalsOnsiteSystem FundamentalsData StructuresIdempotency
  • RampHardSoftware Engineer
    Implement and Defend an AI-Assisted Repository Change

    Tests your ability to implement a new feature in a simulated unfamiliar codebase using AI tools responsibly, identifying subtle generated bugs, ensuring test coverage, and defending every architectural and implementation decision.

    Software Engineering FundamentalsOnsitecode-auditfinancial-ledgerclean-code
  • RipplingMediumSoftware Engineer
    Design Extensible Interview Coding Systems

    This problem tests your ability to design an extensible rule-evaluation engine using object-oriented principles, specifically focusing on decoupling evaluation logic from business requirements.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignDesign PatternsExtensibility
  • RipplingMediumSoftware Engineer
    Design Raw and Computed Spreadsheet Views

    Design raw and computed spreadsheet views with formula parsing, dependency replacement, cache invalidation, atomic edits, and undo semantics.

    Software Engineering FundamentalsOnsite
  • RipplingMediumSoftware Engineer
    Design a Data-Driven Expense Rule Evaluator

    Design an extensible, data-driven expense policy engine that evaluates structured JSON rules against submitted expenses without requiring code deployments.

    Software Engineering FundamentalsOnsiterule-enginesystem-designood
  • RipplingMediumSoftware Engineer
    Implement a RESTful Q&A service

    This question evaluates a candidate's ability to design and implement a RESTful web service, covering HTTP API design, CRUD operations, data modeling and persistence choices, input validation, pagination/sorting, and basic testing and documentation practices.

    Software Engineering FundamentalsOnsite
  • RipplingHardSoftware Engineer
    Implement a minimal local HTTP server

    This question evaluates proficiency in network programming, HTTP/1.1 protocol parsing, concurrent server design, request routing and security (including path traversal protection), observability, testing, and graceful shutdown using only the language standard library.

    Software Engineering FundamentalsOnsite
  • RipplingMediumBackend Engineer
    Process a Task List: Deduplicate, Drop Completed, Sort by Priority, and Nest Subtasks

    Senior backend coding question: process a batch of scheduler tasks by removing duplicates on description and due date, dropping completed tasks, sorting by priority, and placing each subtask directly after its parent. It tests clarifying ambiguous policies, orphan and cycle handling, O(n log n) design, and verified use of an AI coding assistant.

    Software Engineering FundamentalsOnsite
  • RobinhoodMediumSoftware Engineer
    Clarify Friendship Rules and Money-Transfer Semantics Before Choosing an Algorithm

    Clarify friendship and money-transfer requirements, separate graph reachability from accounting, and reason about a conditional implementation and invariants.

    Software Engineering FundamentalsOnsite
  • RobinhoodMediumSoftware Engineer
    Define and Calculate Employee Referral Counts

    Implement an algorithm to compute direct and total downstream referral counts for every employee in a directed graph that may contain duplicates, converging paths, and cycles.

    Software Engineering FundamentalsOnsiteGraphBFSDFS
  • RobinhoodMediumSoftware Engineer
    Explain auth, key rotation, secrets, and incident response

    This question tests your knowledge of secure microservice communication, the lifecycle management of sensitive credentials, and the operational procedures for mitigating security breaches.

    Software Engineering FundamentalsOnsiteSecurityMicroservicesAuthentication
  • RobinhoodMediumSoftware Engineer
    Give a Project Deep Dive Grounded in Personal Ownership

    Tests your ability to present a deep dive into an impactful software project you led or contributed heavily to, emphasizing architectural trade-offs, personal ownership, failure modes, and measurable outcomes.

    Software Engineering FundamentalsOnsiteProject Deep DiveSystem ArchitectureBehavioral
  • RobinhoodMediumSoftware Engineer
    Give a Technical Deep Dive into a Software Project

    Practice a project deep dive covering architecture, personal ownership, implementation decisions, validation, outcomes, and lessons learned.

    Software Engineering FundamentalsOnsite
  • RobloxMediumSoftware Engineer
    Build an Auto-Rotating Traffic Light in Vanilla JavaScript Without a Framework

    A frontend coding question asking for a traffic light that cycles through its colors automatically, built with plain HTML, CSS, and JavaScript and no framework. It tests state machine design, timer management and cleanup, efficient DOM updates, accessibility, and how to test time-based UI code.

    Software Engineering FundamentalsOnsite
  • RokuMediumBackend Engineer
    Explain concurrency and distributed fundamentals

    This question tests fundamental knowledge of thread-safe collections in Java and core distributed systems architectural patterns, specifically partitioning strategies.

    Software Engineering FundamentalsOnsiteJavaConcurrencyDistributed Systems
  • SIG (Susquehanna)EasySoftware Engineer
    Design a Cash Register with Inventory and Profit Tracking

    Design an object-oriented cash register that manages multi-lot product inventory using FIFO accounting, executes atomic multi-item sales, and accurately tracks realized gross profit.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignData StructuresQueue
  • SIG (Susquehanna)MediumSoftware Engineer
    Find and Fix C++ Ownership Bugs: Double Free, Shallow Copy, and Object Slicing

    Tests a candidate's ability to identify and fix critical C++ resource management bugs, specifically shallow copies leading to double-free errors and object slicing caused by improper pass-by-value semantics with polymorphic types.

    Software Engineering FundamentalsOnsiteC++Memory ManagementRAII
  • SIG (Susquehanna)MediumSoftware Engineer
    Implement a Simplified std::vector with Manual Memory Management

    Tests practical systems programming in C++, specifically decoupling raw memory allocation from object construction, managing dynamic capacity growth, and adhering to the Rule of Five.

    Software Engineering FundamentalsOnsitecppmemory-managementdata-structures
  • SIG (Susquehanna)EasySoftware Engineer
    Index a CSV Movie Catalog for Fast Year-Range Queries

    Design an immutable movie catalog that parses CSV data and supports fast, inclusive year-range queries using binary search or indexing.

    Software Engineering FundamentalsOnsitebinary-searchdata-structurescsv-parsing
  • SIG (Susquehanna)MediumSoftware Engineer
    Trees and Binary Search Trees: Taxonomy, Invariant, and Traversal/Search

    Tests understanding of binary tree taxonomy, global BST invariants versus local parent-child checks, and efficient tree search under range constraints.

    Software Engineering FundamentalsOnsitebinary-search-treetree-traversalrecursion
  • SalesforceMediumMember of Technical Staff
    Convert a Sorted Doubly Linked List to a Balanced BST In Place

    Tests in-place pointer manipulation and bottom-up tree construction by converting a sorted doubly linked list into a height-balanced binary search tree in linear time.

    Software Engineering FundamentalsOnsitelinked-listbinary-search-treerecursion