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 361–390 of 448 results
- SalesforceMediumMember of Technical StaffExplain the Recursion Tree of Merge Sort
Explain the merge sort recursion tree from a five-element example through the general recurrence. Derive per-level work, uneven split height, Theta(n log n) time, merge-buffer space, call-stack depth, stability, and empty-input handling.
Software Engineering FundamentalsOnsite - Salient AiHardSoftware EngineerFind Duplicate Files by Content with Efficient I/O
Find content-identical files with size filters, streaming digests, exact collision checks, bounded I/O, and explicit handling of changing or unreadable files.
Software Engineering FundamentalsOnsite - Scale AIEasyBackend EngineerBuild a CSV-to-JSON Classification Service
Implement a resilient data pipeline service that parses CSV records, enriches them using an external classification client with validation and retries, and writes ordered, structured JSON Lines output safely.
Software Engineering FundamentalsOnsiteData PipelinesConcurrencyError Handling - Scale AIMediumSoftware EngineerDebug a Project Assignment Codebase
Tests your ability to manage state, enforce filtering rules, and maintain clean public API contracts in an asynchronous or stateful task assignment system.
Software Engineering FundamentalsOnsiteSystem DesignData StructuresState Management - Scale AIMediumSoftware EngineerDesign CSV upload endpoint with GPT classification
Implement a backend processing pipeline that parses an uploaded CSV file, enriches each text record via an external classification client, and persists structured results to a local JSON store.
Software Engineering FundamentalsOnsitePythonAPI DesignData Parsing - SchwabEasyJava DeveloperExplain Spring Dependency Injection and Choose an Injection Style
Tests core knowledge of Spring's Inversion of Control (IoC) container, trade-offs between constructor, setter, and field injection, bean lifecycle, and dependency resolution strategies.
Software Engineering FundamentalsOnsiteJavaSpringDependency Injection - SchwabEasyJava DeveloperReview a Spring REST Controller for Correctness and Per-Request Waste
Analyze a flawed Spring Boot REST controller to identify anti-patterns, HTTP status code misuses, concurrency hazards, and unnecessary per-request object allocations. Refactor the implementation to follow production-grade enterprise standards.
Software Engineering FundamentalsOnsiteJavaSpring BootREST API - ScribdMediumSoftware EngineerProduction-Ready Event Ingestion Handler: Validation, Idempotent Writes, DLQ, Metrics
Tests your ability to write production-grade ingestion code that enforces strict schema validation, guarantees idempotent persistence, handles retries and Dead-Letter Queue (DLQ) routing, and emits operational metrics.
Software Engineering FundamentalsOnsitedata-pipelinesvalidationsystem-reliability - SnapchatHardSoftware EngineerCompare WebSocket, SSE, and long polling
This question tests a software engineer's depth in web networking fundamentals, covering real-time communication protocols and the OSI and TCP/IP models. It assesses practical knowledge of WebSocket, SSE, and long polling trade-offs, as well as understanding of how modern transport protocols like QUIC differ from TCP in multiplexing, handshake latency, and connection migration.
Software Engineering FundamentalsOnsite - SnapchatHardSoftware EngineerImplement an iOS scrollable grid with navigation
This question tests the ability to build a responsive, performance-optimized grid interface in iOS using modern frameworks like SwiftUI, focusing on layout constraints, state management, and navigation flow.
Software Engineering FundamentalsOnsiteiOSSwiftUILayout - SnapchatMediumSoftware EngineerStream Records into Clusters and Track Each Cluster's Maximum and Median
Design and implement an in-memory component that assigns each record of a data stream to an existing or a new cluster and returns the maximum value of every cluster. Follow-ups probe read and write optimizations, concurrent ingestion, and how to report each cluster's median.
Software Engineering FundamentalsOnsite - SnowflakeHardSoftware EngineerDesign a Priority Task Executor with Duplicate Task IDs
This problem tests your ability to design a thread-safe task scheduler that handles duplicate task IDs while ensuring each unique task is executed exactly once based on priority and submission time.
Software Engineering FundamentalsOnsiteConcurrencyHeapsHash Maps - SnowflakeMediumMachine Learning EngineerDesign and Implement a Rate Limiter with an AI Assistant, Then Defend and Test It
Design and implement a rate limiter in an AI-assisted coding round: choose and defend an algorithm against its alternatives, direct an AI assistant to write the code, review it and test it. It tests rate-limiting algorithm trade-offs, concurrency, time handling and critical review of generated code.
Software Engineering FundamentalsOnsite - SnowflakeMediumSoftware EngineerImplement and Test a Sliding-Window Rate Limiter
This problem tests your ability to implement an efficient sliding-window algorithm and design a robust testing strategy for a stateful component.
Software Engineering FundamentalsOnsiteAlgorithmsRate LimitingData Structures - SnowflakeMediumSoftware EngineerMultiset with O(1) Insert, Remove, and Count-Weighted Random Pick
Design a collection of integers that allows duplicates and supports insert, remove and a random pick weighted by occurrence count, each in average constant time. Tests array and hash map bookkeeping, careful handling of moved elements during removal, and how to test randomized behavior.
Software Engineering FundamentalsOnsite - SnowflakeMediumSoftware EngineerSerialize a List of Arbitrary Strings into One String and Back, Then Compare Schemes
A two-part coding question that asks you to pack a list of arbitrary strings, which may contain any character, into a single string and rebuild the identical list from that string alone. It tests unambiguous format design, empty-string edge cases, linear-time parsing and a reasoned comparison of alternative encoding schemes.
Software Engineering FundamentalsOnsite - SpeakMediumSoftware EngineerImplement auth and profile APIs
This question evaluates backend API design competencies such as authentication and bearer-token access control, user profile data modeling, input validation, error handling, and state management for an in-memory service within the System Design category.
Software Engineering FundamentalsOnsite - SpotifyMediumBackend EngineerOn-Call Case Study: Debugging a Misbehaving Production Server
A Spotify on-call case study: as the engineer paged about a misbehaving production server, investigate by asking for metrics, logs and command output. It tests triage, impact assessment, systematic host and service diagnostics, mitigation trade-offs and incident follow-through.
Software Engineering FundamentalsOnsite - SpotifyMediumBackend EngineerVisit-Pattern Counter: Multi-Input Runtime Analysis and Production Hardening
A Spotify backend coding follow-up: for a function that finds the three-website visit pattern followed by the most distinct users, analyze time and memory using separate input dimensions such as records, users, longest per-user history and distinct sites. It also asks which functional and style changes the code needs before it ships in production.
Software Engineering FundamentalsOnsite - SquarepointEasySoftware EngineerExplain Database Indexes and Why Every Column Should Not Be Indexed
Explain database indexes, selective lookups, write overhead, composite keys, and why indexing every column can hurt a mixed workload.
Software Engineering FundamentalsOnsite - SquarepointEasySoftware EngineerExplain Python Immutability, Tuples, Hash Tables, and Caller-Level Errors
Practice Python tuple rebinding, shallow immutability, hash-table insertion and complexity, and caller-level handling of record-operation errors.
Software Engineering FundamentalsOnsite - Startups.ComMediumMachine Learning EngineerDebug and scale a PyTorch training loop
This question evaluates debugging and performance engineering skills for deep learning training pipelines, including diagnosing convergence and instability issues in PyTorch, scaling training with Fully Sharded Data Parallel (FSDP), designing sparse gradient all-reduce communication patterns, and judging when to implement custom CUDA/Triton kernels. Commonly asked for Machine Learning Engineer roles within the Software Engineering Fundamentals domain, it assesses both conceptual understanding of numerical stability and distributed systems and practical application skills in configuring multi-GPU training, communication trade-offs, and low-level performance and correctness validation.
Software Engineering FundamentalsOnsite - StripeMediumFrontend EngineerBuild and Optimize a React Interface Against an Undocumented API
Tests your ability to inspect an opaque or changing backend endpoint, build a resilient React component with typed normalization and client-side caching, and handle edge cases gracefully.
Software Engineering FundamentalsOnsitereacttypescriptcaching - StripeMediumSoftware EngineerConnect JSON Coordinates Through a Documented Drawing API
Plan coordinate parsing and drawing-API integration with explicit geometry semantics, request mapping, error handling, and idempotent recovery.
Software Engineering FundamentalsOnsite - StripeHardSoftware EngineerDebug Validation Error Aggregation
Tests the ability to traverse nested validation error trees and normalize them into a flattened dictionary mapping dotted-path keys to aggregated lists of error messages.
Software Engineering FundamentalsOnsiteTree TraversalRecursionData Structures - StripeMediumSoftware EngineerDesign a String-Rule Validator for Transaction Records
Specify transaction validation rules, parse them safely, evaluate name restrictions, and distinguish malformed input from ordinary rule rejection.
Software Engineering FundamentalsOnsite - StripeMediumSoftware EngineerDraw a Hiking Trail from GeoJSON with Markers and Color Bands
Parse a hiking trail out of a GeoJSON LineString, build the request payload for a map-snapshot API, save the returned PNG, and add start/finish markers plus alternating-color bands along the route.
Software Engineering FundamentalsOnsiteapi-integrationhttpjson - StripeMediumSoftware EngineerEvaluate Ordered Accept/Block Transaction Rules with AND, OR and Parentheses
A three-part Python exercise, solved with an in-editor AI assistant, that evaluates an ordered list of accept or block rules against a transaction. Conditions grow from string equality to Boolean fields, AND and OR, and parentheses, testing tokenizing quoted values, operator precedence, first-match semantics and careful review of AI-written code.
Software Engineering FundamentalsOnsite - StripeMediumSoftware EngineerFirst-Match Login Policy Engine with a Boolean Expression DSL
Implement an ordered allow/deny policy evaluator for sign-in attempts whose conditions grow from symmetric string equality to boolean flags, and/or precedence, parentheses, not and !=. Tests tokenizing quoted literals, recursive-descent parsing, first-match semantics, and missing-field handling.
Software Engineering FundamentalsOnsiteparsingrecursive-descenttokenizer - StripeMediumSoftware EngineerFix Seekable POST Body Replay After a 307 Redirect in Python requests
A debugging exercise in the Python requests library: POST requests whose body is a seekable stream time out after an HTTP 307 redirect, while a plain string body works. It tests tracing how request state changes between the first send and the redirect, and fixing the library so that streams the caller has already partly read are resent correctly.
Software Engineering FundamentalsOnsite