Katkat

practice a little every day, paws crossed ♡

Software Engineer 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 1801–1830 of 2336 results

  • PinterestMediumSoftware Engineer
    Cross-reference logs to flag spam numbers

    This question evaluates proficiency with data structures (such as hash maps), parsing and deduplication, frequency counting, input validation, and analysis of time and space complexity.

    Coding & AlgorithmsOnsite
  • PinterestMediumSoftware Engineer
    Deep-Dive Two Projects Through Technical Decisions

    This question tests your ability to articulate technical depth, decision-making frameworks, and engineering maturity by comparing two complex projects under different constraints.

    Behavioral & LeadershipOnsiteLeadershipSystem DesignTechnical Communication
  • PinterestHardSoftware Engineer
    Design Bulk CSV and Individual Record Updates with Reliable, Partitioned Processing

    A system design question about letting customers update records individually and in bulk by uploading CSV files. It focuses on reliable asynchronous job processing, idempotent row application, partitioning large files and the underlying data, conflicts between the two write paths, and reporting row outcomes.

    System DesignOnsite
  • PinterestHardSoftware Engineer
    Design Comment Notifications with Viral-Pin Aggregation

    Tests end-to-end system design for large-scale, bursty notification pipelines, focusing on stream processing, aggregation under viral traffic spikes, and reliable third-party push delivery.

    System DesignOnsiteDistributed SystemsStream ProcessingMessage Queues
  • PinterestHardSoftware Engineer
    Design Individual and Bulk Merchant Product Updates with Image Uploads

    This problem tests the ability to design a distributed system capable of handling high-throughput asynchronous updates, atomic transactional integrity for partial batch failures, and robust image processing pipelines.

    System DesignOnsiteAsynchronous ProcessingConcurrencyScalability
  • PinterestHardSoftware Engineer
    Design Pin recommendation system

    This question evaluates ability to design a large-scale personalized home feed recommendation system, testing skills in ML system design, recommender algorithms, retrieval and ranking architectures, feature engineering, data pipelines, low-latency serving, evaluation metrics, safety, and privacy.

    ML System DesignOnsite
  • PinterestHardSoftware Engineer
    Design Real-Time Search Autocomplete with Top-10 Popularity-Ranked Prefix Suggestions

    Design a distributed search autocomplete system capable of returning the top 10 popularity-ranked queries for any prefix with sub-30ms latency. The problem evaluates your ability to handle massive read throughput, partition heavily skewed prefix workloads, and merge streaming popularity signals with batch historical baselines.

    System DesignOnsiteDistributed SystemsSearchCaching
  • PinterestHardSoftware Engineer
    Design a Google Photos–like service

    This question evaluates proficiency in designing large-scale distributed media systems, testing competencies in distributed storage and caching, ingest pipelines, CDN-backed delivery, indexing/search, sync/conflict resolution, access control/privacy compliance, and cost/operational planning.

    System DesignOnsite
  • PinterestMediumSoftware Engineer
    Design a Large-File Upload and Analysis Flow

    Tests the ability to design an end-to-end media ingestion system supporting chunked resumable uploads, asynchronous analysis pipelines, idempotency, and real-time client notifications.

    System DesignOnsitesystem-designcloud-storagedistributed-systems
  • PinterestMediumSoftware Engineer
    Design a Low-Latency Typeahead Service

    This problem tests the ability to design a high-throughput, low-latency search suggestion system that handles real-time updates and ranking at scale.

    System DesignOnsiteCachingDistributed SystemsSearch
  • PinterestHardSoftware Engineer
    Design a Merchant Catalog Update Pipeline with Bulk Files and Image Resizing

    Tests the ability to architect a scalable, asynchronous catalog ingestion pipeline that balances high-throughput bulk feed processing with low-latency single-item edits while prioritizing price and inventory updates over compute-heavy image processing.

    System DesignOnsiteDistributed SystemsData PipelinesMessage Queues
  • PinterestHardSoftware Engineer
    Design a Typeahead Service on an In-Memory Trie, Then Scale It Without New Services

    Design a typeahead autocomplete service that starts at a modest scale using an in-memory keyword trie, then scale it out without adding external services. It tests trie internals and keyword storage, read and write paths, score updates, rebuilds with hot swaps, and sharding strategy trade-offs.

    System DesignOnsite
  • PinterestEasySoftware Engineer
    Design a Typeahead Suggestion System

    Design a low-latency, real-time typeahead suggestion system that handles prefix search, query ranking, aggressive caching, and stale response mitigation.

    System DesignOnsitesystem-designtrietypeahead
  • PinterestHardSoftware Engineer
    Design a high-throughput distributed rate limiter

    Pinterest software-engineer onsite system-design question: design a multi-region, high-throughput distributed rate limiter targeting ~10M req/s with per-user, per-API, and global limits, burst tolerance, and an approximately-sliding window. It tests token-bucket/GCRA algorithm choice, an architecture of local in-process buckets fed by epoch-based token leases, consistent-hashing sharding with hot-key splitting, bounded-overshoot consistency, fault handling, fairness, capacity-planning math (including a 2× spike), backpressure, and observability.

    System DesignOnsite
  • PinterestMediumSoftware Engineer
    Design adjustable ID allocator

    A Pinterest software-engineer onsite coding problem: design an adjustable ID allocator over a fixed [0, 999] ID space with named, contiguous, non-overlapping bucket ranges. It covers initial allocation (packing from desired sizes and validating/normalizing proposed ranges), a resize operation that grows or shrinks a bucket by consuming adjacent free space and then minimally shifting or borrowing from neighbors under a deterministic policy, plus complexity analysis, boundary-case testing, and concurrency handling.

    Coding & AlgorithmsOnsite
  • PinterestHardSoftware Engineer
    Design an Ad Click Aggregator for Last-Year Counts Using an Existing Logging API

    A system design question about an ad click aggregator whose queries cover the last year rather than the last few minutes and which must take its click data from an existing logging API. It tests requirement clarification, checkpointed ingestion and backfill, deduplication, rollup storage, and correcting historical counts.

    System DesignOnsite
  • PinterestMediumSoftware Engineer
    Design an ads event reporting system

    This question tests the ability to design a high-throughput, fault-tolerant system for tracking ad interaction events, focusing on scalability, exactly-once processing, and analytical query performance.

    System DesignOnsiteScalabilityData PipelinesAnalytics
  • PinterestMediumSoftware Engineer
    Design highly available blob storage service

    This question evaluates a candidate's competency in designing scalable, durable, and highly available blob/object storage systems, encompassing distributed systems architecture, data modeling for buckets and objects, metadata management, partitioning and routing, fault tolerance strategies, consistency models, large-object transfer patterns, security controls, and operational concerns like monitoring and capacity planning. Commonly asked in the System Design domain to assess practical application of architectural patterns and trade-offs—horizontal scalability, durability versus latency, consistency guarantees, and operational resilience—it primarily tests practical system-design skills grounded in conceptual understanding of distributed systems.

    System DesignOnsite
  • PinterestMediumSoftware Engineer
    Fewest Buses to Ride Between Two Stops on Looping Bus Lines

    A coding problem about bus lines that loop through fixed lists of stops: find the fewest buses a rider must board to travel from a source stop to a target stop, or report that the target cannot be reached. It tests modeling transfers between lines as a graph and keeping the search efficient when many lines share stops.

    Coding & AlgorithmsOnsite
  • PinterestMediumSoftware Engineer
    Find the Minimum Number of Coins for an Amount

    Tests dynamic programming and breadth-first search techniques to find the minimum number of coin denominations required to reach a target value, including edge cases like zero and unreachable sums.

    Coding & AlgorithmsOnsitedynamic-programmingbfsarrays
  • PinterestMediumSoftware Engineer
    Implement sparse matrix storage, addition, and multiplication

    This problem tests your ability to design a memory-efficient representation for sparse matrices and implement arithmetic operations while leveraging the sparsity of the data.

    Coding & AlgorithmsOnsiteArraysHash MapsLinear Algebra
  • PinterestMediumSoftware Engineer
    Implement stream line reader and settle balances

    This question evaluates streaming I/O and buffered string-processing competency for Part 1 and transaction netting with balance computation for Part 2, covering skills in memory-bounded parsing, data-structure bookkeeping, and algorithmic flow reasoning.

    Coding & AlgorithmsOnsite
  • PinterestMediumSoftware Engineer
    Implement string-based big integer multiplication

    Implement multiplyStrings(a, b) to multiply two non-negative integers given as decimal strings, returning the product as a string without any big-integer or arbitrary-precision library. The solution covers grade-school O(n*m) long multiplication with linear memory, the Karatsuba and FFT/NTT scaling alternatives, correct carry and leading/trailing-zero handling, and a full edge-case test plan.

    Coding & AlgorithmsOnsite
  • 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
    Insert Operators to Reach a Target

    Tests backtracking with operator precedence handling and operand formatting to construct all valid arithmetic expressions evaluating to a target value.

    Coding & AlgorithmsOnsitebacktrackingrecursionstring
  • PinterestHardSoftware Engineer
    Keep Merchant Addresses, Social Followers, and Wiki Facts Up to Date

    Design a high-scale merchant data enrichment platform that ingests, reconciles, and maintains up-to-date business attributes (addresses, social metrics, wiki metadata) across heterogeneous third-party sources with strong provenance and fault tolerance.

    System DesignOnsitesystem-designdistributed-systemsdata-pipelines
  • PinterestHardSoftware Engineer
    List All Plus/Times Expressions Reaching a Target Under Operator Precedence

    Tests backtracking and state tracking with operator precedence to evaluate and enumerate arithmetic expressions using addition and multiplication.

    Coding & AlgorithmsOnsiteBacktrackingRecursionMath
  • PinterestMediumSoftware Engineer
    Minimum Transfers Between Pin Boards

    Tests breadth-first search and graph modeling skills by finding the shortest path across overlapping collections without constructing a dense graph between every pair.

    Coding & AlgorithmsOnsiteBFSGraphHash Map
  • 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
    Reconstruct an Itinerary from Flight Tickets

    Tests graph modeling, depth-first search (DFS), and Hierholzer's algorithm to construct an Eulerian path with lexicographical tie-breaking.

    Coding & AlgorithmsOnsiteGraphDFSEulerian Path