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 871–900 of 1026 results
- SnowflakeHardSoftware EngineerDesign a Thread-Safe Multi-Rule Rate Limiter
This problem tests the ability to design a thread-safe, flexible rate-limiting system that handles multiple constraints, atomic permit management, and graceful error handling.
Software Engineering FundamentalsTechnical ScreenConcurrencyRate-LimitingThread-Safety - SnowflakeMediumSoftware EngineerEffective Permissions in an Inheritance DAG with Allow and Deny Lists
Nodes of a directed acyclic graph carry allow and deny permission lists that are inherited along its edges; compute every node's final permissions. It tests topological processing, settling an unstated conflict rule between allow and deny, cycle detection and incremental updates.
Software Engineering FundamentalsTechnical Screen - SnowflakeMediumSoftware EngineerFewest Link Clicks Between Two Wiki Pages, Then Scale the Search
Find the fewest link clicks between two wiki pages when each page's links come from a slow fetch call, returning the path. Follow-ups cover parallel level-by-level search, bidirectional search with a correct stopping rule, and caching fetched link lists across searches.
Software Engineering FundamentalsTechnical Screen - SnowflakeMediumSoftware EngineerFind the Shortest Click Path with a Fallible Link API
Implement a breadth-first search to find the shortest URL click path between two pages using a fallible link-fetching API with retry and tie-breaking logic.
Software Engineering FundamentalsTechnical Screenbfsgrapherror-handling - 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 EngineerIn-Memory Key-Value Store with Constant-Time Nested Transactions
Build an in-memory key-value store with get, set and delete plus nested begin, commit and rollback, aiming for constant-time operations. Follow-ups extend it to concurrent threads, keys with a time to live, and reads of a key's value at an earlier point in time.
Software Engineering FundamentalsTechnical Screen - 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 EngineerMultithreaded Web Crawler with Retries for a Failing Fetch API
Write a web crawler that visits every page reachable from a start URL through a slow link-fetching API, first with BFS or DFS, then with multiple threads, then with retries when the API fails. It tests visited-set safety, termination detection, backoff and failure reporting.
Software Engineering FundamentalsTechnical Screen - SnowflakeMediumSoftware EngineerRate Limiter with Tiers, Runtime Config Changes and Multiple Rules
Implement a rate limiter using a token bucket or sliding window, then support client tiers whose limits change while the service runs, several rules checked on one request, and deterministic tests with a mock clock. It tests algorithm choice, safe configuration swaps and thread-safe all-or-nothing checks.
Software Engineering FundamentalsTechnical Screen - 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 - SnowflakeMediumSoftware EngineerTime-Versioned Key-Value Store and Time-Window Event Counter
Build a key-value store that keeps every timestamped value of a key and returns the value in effect at a given time, then a counter that answers how many events occurred in a time window. It tests binary search over histories, window semantics and memory bounds.
Software Engineering FundamentalsTechnical Screen - SoFiMediumSoftware EngineerExplain GC, singleton, and OOP principles
This question evaluates understanding of Java runtime memory management (generational garbage collection, marking, compaction), software design patterns (Singleton), and object-oriented design and SOLID principles, testing competencies in performance reasoning, concurrency and thread-safety considerations, design trade-offs, and maintainability.
Software Engineering FundamentalsTechnical Screen - SocureHardSoftware EngineerImplement a Concurrent Payment Queue with Visibility Timeouts
Implement a thread-safe in-memory payment queue supporting atomic message consumption, visibility timeouts, receipt-handle validation to prevent stale ACKs, and idempotent submissions.
Software Engineering FundamentalsTechnical ScreenConcurrencyData StructuresMessage Queues - SpacexEasySoftware EngineerAlign Telemetry Streams and Publish Versioned Corrections
Define telemetry subtraction semantics, handle missing or repeated timestamps, and reconcile late events with versioned, idempotent corrections.
Software Engineering FundamentalsTechnical Screen - SpacexEasySoftware EngineerDebug Missing Output from a Python Multiprocessing Pool
Diagnose and fix issues in a Python multiprocessing script where asynchronous workers fail to produce output, addressing pool lifecycle management, exception propagation, and centralized file I/O.
Software Engineering FundamentalsTechnical Screenpythonmultiprocessingconcurrency - 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 - SquarepointMediumSoftware EngineerDefend a Redis Choice and Explain Database Index Trade-offs
This question evaluates architectural decision-making around data access patterns, comparing the introduction of an in-memory cache like Redis against optimizing relational database indexing and query plans.
Software Engineering FundamentalsHR ScreenDatabase IndexingRedisSystem Design - SquarepointMediumSoftware EngineerExplain Core Python Runtime and Language Concepts
Assesses foundational Python runtime semantics and language mechanics, focusing on mutability, generator behavior, concurrency models under the GIL, and robust resource management.
Software Engineering FundamentalsHR Screenpythonconcurrencymemory-management - 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 - SquarepointHardSoftware EngineerImplement and Improve React Components
Implement and Improve React Components evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Software Engineering FundamentalsTechnical Screen - SquarepointMediumSoftware EngineerUse find, ps, top, and kill Safely on Linux
Tests practical Linux troubleshooting skills using standard command-line tools (`top`, `ps`, `find`, `kill`) to diagnose resource contention, safely manage processes, and handle tricky file artifacts.
Software Engineering FundamentalsHR ScreenLinuxSystemsDevOps - StackAdaptEasySoftware EngineerDesign a Recipe and Inventory Ordering Service
Design an object-oriented recipe service where nested dishes consume raw inventory and an order either succeeds atomically or changes nothing. The prompt tests typed references, cycle detection, quantity expansion, overflow handling, concurrent stock updates, immutable views, and explicit replacement and query semantics.
Software Engineering FundamentalsTechnical Screen - StateMediumSoftware EngineerExplain Java Automatic Memory Management: Heap, Reachability and Garbage Collectors
Describe how Java manages memory automatically, from object allocation on the heap to how the JVM decides which objects are unreachable and reclaims them. The question tests knowledge of garbage collection algorithms, generational collection, collector trade-offs and how memory leaks still happen in Java programs.
Software Engineering FundamentalsOnline Assessment - StripeMediumSoftware EngineerAudit a Vendor CSV for Gaps, Banned Terms and Name Mismatches
Build a configurable validator for vendor onboarding CSV rows that flags missing fields, out-of-range lengths and banned words, then checks whether a vendor's display name and legal name share enough words.
Software Engineering FundamentalsTechnical Screencsv-parsingvalidationtext-normalization - StripeHardSoftware EngineerBuild a Content-Moderation Rule Engine With Boolean Chains and Nested Groups
Grow a small text-driven policy engine, in stages, from one comparison per post into a full boolean expression language with left-to-right AND/OR and nested parentheses, while treating an AI pair-programmer as a junior you're delegating narrow, well-specified tasks to.
Software Engineering FundamentalsTechnical Screenparsinginterpreterssoftware-design - StripeHardSoftware EngineerBuild a Transaction Rule Engine with AND/OR Chains and Nested Parentheses
Multi-part coding exercise: build a rule engine that accepts or denies payment transactions by evaluating text conditions over their attributes. The parts add single comparisons, then AND/OR chains evaluated strictly left to right, then nested parentheses. It tests parser design, modular code, and directing an AI coding assistant.
Software Engineering FundamentalsTechnical Screen - StripeMediumSoftware EngineerBuild searchable list and highlight max transaction
This question evaluates competency in frontend UI development, state management, real-time filtering, and aggregate computation (finding and highlighting maximum values) with attention to algorithmic efficiency; domain: frontend UI engineering (Other/Miscellaneous).
Software Engineering FundamentalsOnline Assessment - 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 - StripeMediumSoftware EngineerData Center Health Registry, Haversine Distance and Nearest-Healthy Routing
A three-part coding exercise: register data centers with locations and health states, compute great-circle distances with the haversine formula, then route each client to the nearest healthy data center. It tests clean class design, correct spherical distance math, tie-breaking and corner-case handling under time pressure.
Software Engineering FundamentalsTechnical Screen