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 EngineerCross-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 EngineerDeep-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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerFewest 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 EngineerFind 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerInsert 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 EngineerKeep 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 EngineerList 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 EngineerMinimum 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 EngineerReason 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 EngineerReconstruct 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