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 2041–2070 of 5874 results
- DropboxMediumSoftware EngineerDescribe surprising project learnings
This question evaluates reflective project ownership, leadership, decision-making, communication, and the ability to derive actionable lessons from surprising findings in substantial software engineering work.
Behavioral & LeadershipOnsite - DropboxMediumSoftware EngineerDesign a recursive distributed file crawler
This prompt evaluates expertise in distributed systems, asynchronous task orchestration, recursive job scheduling, data modeling for job and file metadata, and reliability concerns such as retries, idempotency, deduplication, and partial failure handling.
System DesignOnsite - DropboxMediumSoftware EngineerDesign an S3-like Object Store
This problem evaluates your ability to design a distributed, highly available, and scalable object storage system capable of handling massive volumes of unstructured data.
System DesignOnsiteDistributed SystemsStorageScalability - DropboxMediumSoftware EngineerDesign file-processing API with long-running jobs
This question evaluates a candidate's ability to design HTTP APIs and scalable backend architectures for long-running file-processing jobs, covering competencies in API design, job orchestration, distributed systems, fault tolerance, state persistence, and idempotency.
System DesignOnsite - DropboxMediumSoftware EngineerImplement KV Store and Token Bucket
This problem tests your ability to design a thread-safe in-memory key-value store and implement a rate limiter using the token bucket algorithm.
Coding & AlgorithmsOnsiteConcurrencyData StructuresRate Limiting - DropboxMediumSoftware EngineerImplement feedback for word guessing game
This question evaluates a candidate's ability to implement string-processing, frequency-counting, and membership-validation logic to generate exact and misplaced character matches for a word-guessing game.
Coding & AlgorithmsOnsite - DropboxMediumSoftware EngineerScale a file-crawling API using async jobs
This question tests the ability to design an asynchronous distributed system for crawling large file structures, focusing on job orchestration, state management, and scalability under high-latency operations.
System DesignTechnical ScreenDistributed SystemsAsynchronous ProcessingScalability - DuolingoHardSoftware EngineerDesign Animal Chess game classes
This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Design Animal Chess game classes states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
System DesignTechnical Screen - DuolingoEasySoftware EngineerImplement String Encryption and Decryption
This problem tests your ability to manage character mapping and reverse lookups using dictionaries to perform basic string transformation and reconstruction.
Coding & AlgorithmsTechnical ScreenStringsDictionariesHash Maps - EaseHardSoftware EngineerBuild a Hash-Table Key-Value Store Without Built-in Dictionaries or Sets
Implement a key-value store class with put, get and remove without using built-in dictionaries or sets, resolving collisions inside the store rather than raising them to callers. It tests hash table mechanics, collision strategies, deletion, resizing and precise average versus worst-case complexity claims.
Software Engineering FundamentalsTechnical Screen - EightfoldaiMediumSoftware EngineerExplain Employment Status, Promotions, and Departures
This question assesses a candidate's professional communication skills, specifically their ability to articulate career progression and the rationale behind job transitions clearly and constructively.
Behavioral & LeadershipHR ScreenBehavioralCommunicationCareer-Growth - EightfoldaiMediumSoftware EngineerMake a Parentheses String Valid
This question evaluates proficiency in string manipulation and delimiter matching, specifically balancing parentheses while preserving character order and handling edge cases.
Coding & AlgorithmsTechnical Screen - ElasticMediumSoftware EngineerImplement log aggregation in React
This question evaluates a candidate's front-end development and real-time data-aggregation skills, specifically React component state management, handling streaming updates, choosing appropriate in-memory data structures (e.g., Map), and timestamp parsing/comparison for per-category frequency and last-update tracking.
Coding & AlgorithmsTechnical Screen - ElasticMediumSoftware EngineerReview a JavaScript flatten PR
This question evaluates a candidate's understanding of JavaScript recursion, array manipulation, API contract reasoning, and correctness when implementing a flatten utility.
Software Engineering FundamentalsTechnical Screen - ElevenlabsMediumSoftware EngineerCheapest Shirt Color Sequence With No Color Repeated on Consecutive Days
Buy one blue, green or red shirt on each of n days without buying the same color on consecutive days, and return the color sequence with the lowest total cost. The task asks for the actual sequence rather than only the cost, testing optimization over sequences and reconstruction of the unique optimal choice.
Coding & AlgorithmsOnline Assessment - ElevenlabsMediumSoftware EngineerFewest Stones Left After Merging Equal-Level Pairs
Each stone has an integer level, and two stones of the same level can be merged into one stone of the next level, with merged stones able to merge again. Return the fewest stones that can remain after any sequence of merges, a problem that tests counting by level, cascading merges, and efficient handling of large inputs.
Coding & AlgorithmsOnline Assessment - ElevenlabsMediumSoftware EngineerSmallest Larger Integer That Uses None of the Digits of n
Given a positive integer below 2^31, find the smallest integer strictly greater than it that uses none of its decimal digits, or return -1 when no such integer exists. The problem tests reasoning about allowed digit sets, leading zeros, answers longer than the input, and results that exceed the 32-bit range.
Coding & AlgorithmsOnline Assessment - EliseAIMediumSoftware EngineerAnalyze the Fairness of an Incremental Shuffle
This question tests the ability to analyze algorithm correctness through probability theory and identify common pitfalls in pseudo-random number generation that lead to selection bias.
Software Engineering FundamentalsTechnical ScreenAlgorithmsProbabilityShuffle - EliseAIEasySoftware EngineerDescribe Something a Previous Engineering Team Did Not Do Well
A behavioral question asking what a previous engineering team did not do well. Tests whether a candidate can name a specific, fixable weakness, explain its cost and systemic cause, describe their own part in improving it and stay constructive without blaming former colleagues.
Behavioral & LeadershipTechnical Screen - EliseAIMediumSoftware EngineerExplain a Technical Decision and Transferable Team Practice
This question assesses the candidate's ability to articulate technical trade-offs, reflect on past architectural decisions, and demonstrate maturity in implementing new engineering processes within an existing team culture.
Behavioral & LeadershipTechnical ScreenLeadershipCommunicationEngineering Process - EliseAIEasySoftware EngineerIntroduce Yourself and Explain What You Want in Your Next Engineering Role
The opening of a software engineer phone screen: give a concise introduction of yourself and explain what you are looking for in your next role. Tests narrative structure, the choice of specific highlights that set up a technical deep dive, and motivation that is backed by evidence and fits the role.
Behavioral & LeadershipTechnical Screen - EliseAIEasySoftware EngineerRead and Critique a Short Python Function That Randomly Swaps List Elements
A code-reading exercise: assess a short Python function that walks a list and swaps each element with a randomly chosen position at or before it. Tests tracing unfamiliar code, reasoning about whether every ordering is equally likely, input-type edge cases such as strings, and practical code-review judgment.
Software Engineering FundamentalsTechnical Screen - EliseAIEasySoftware EngineerWalk Through a System You Built: Key Technical Decisions and the Hardest Part
Describe a technical system you implemented at a previous company, the technical decisions you made along the way and the hardest part of the work. Tests clear ownership, trade-off reasoning between real alternatives, technical depth under probing and honest reflection on what was difficult.
Behavioral & LeadershipTechnical Screen - EngelhartMediumSoftware EngineerDesign a Daily Weather-Forecast Pipeline That Runs Power Models for Energy Traders
Design a pipeline that ingests a weather forecast CSV published daily at a variable time, validates and stores it, runs black-box demand, wind, solar, hydro and price models across every scenario, and serves aggregated forecasts to traders. It tests scheduling, DAG design, failure handling, dashboard delivery and scaling to thousands of scenarios.
System DesignTechnical Screen - EngelhartMediumSoftware EngineerExposing a Python Function as a REST Endpoint with FastAPI and Unit Testing It
An interview question on exposing a Python function as a REST API endpoint and testing it. It asks whether FastAPI counts as an endpoint, how an endpoint maps an HTTP request onto a function, and how you unit test such code, with a concrete example that covers edge cases and replaced dependencies.
Software Engineering FundamentalsTechnical Screen - EngelhartMediumSoftware EngineerPython Abstract Classes and Instance, Class and Static Methods
A Python object-oriented programming interview question on abstract classes and method kinds. It asks what an abstract class is and whether it can be instantiated, how instance, class and static methods differ, what self and cls refer to, and why a static method would live inside a class at all.
Software Engineering FundamentalsTechnical Screen - EngelhartMediumSoftware EngineerPython Dictionary Internals: Hashing, Collisions, O(1) Lookup and Hashable Keys
A Python fundamentals interview question on how dictionaries store and look up values: what gets hashed, whether different keys can share a hash, how collisions are resolved and why average lookup is constant time. It also tests whether a list can serve as a key and which objects are allowed as keys.
Software Engineering FundamentalsTechnical Screen - EngelhartMediumSoftware EngineerPython Generators, yield, Lazy Evaluation and How Decorators Work
A Python interview question on generators and decorators. It asks what a generator is, what yield does, why generators use less memory and what lazy evaluation means, then what a decorator actually does under the hood, testing precise language mechanics rather than memorized definitions.
Software Engineering FundamentalsTechnical Screen - EngelhartMediumSoftware EngineerPython Virtual Environments, Conda and Poetry, and Everyday Linux Commands
A developer tooling interview question on Python virtual environments, why projects need them and how Conda and Poetry fit in, followed by practical Linux experience: which system you work on and which Unix commands you rely on to run and debug jobs on a server.
Software Engineering FundamentalsTechnical Screen - EngelhartMediumSoftware EngineerRelational Database Indexes: Read/Write Trade-offs and Tuning a Slow SQL Query
A database fundamentals interview question on relational indexes: what an index is, why it speeds up queries, why not every column should be indexed and how indexes affect write performance. It then asks how you would troubleshoot and tune a complex SQL query that runs extremely slowly.
Software Engineering FundamentalsTechnical Screen