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 961–990 of 1026 results

  • TikTokEasySoftware Engineer
    Investigate an iOS Memory Failure

    Tests understanding of iOS memory management fundamentals, including differentiating Jetsam OOM events from fatal access exceptions, pinpointing retain cycles and memory growth, and using Xcode profiling tools to confirm fixes.

    Software Engineering FundamentalsTechnical ScreeniOSSwiftMemory Management
  • TikTokEasySoftware Engineer
    Plan QA testing for a new feature

    This problem tests your ability to structure a comprehensive quality assurance strategy for a social media feature, balancing functional testing, edge cases, and automation.

    Software Engineering FundamentalsTechnical ScreenQATesting StrategySystem Design
  • TikTokEasySoftware Engineer
    Trace Source Code to an Executable

    This question tests the candidate's understanding of the C/C++ compilation pipeline, focusing on how source code is transformed into a runnable binary and the role of different build artifacts.

    Software Engineering FundamentalsTechnical ScreenCompilationLinkingToolchain
  • ToastHardSoftware Engineer
    Code Review of a Multi-File HTTP API: Wrong Method, Payload and Validation Bugs

    A code-review exercise on several files that implement an HTTP API, where the known defects include a GET endpoint that should be POST, a request payload problem and missing input validation. It tests explaining each defect by its impact, fixing it consistently across files, and running a prioritized review within an hour.

    Software Engineering FundamentalsTechnical Screen
  • Together AIEasySoftware Engineer
    Diagnose CPU Performance Problems on a Linux Server

    Diagnose Linux CPU slowness from host and thread metrics through scheduling, limits, profiles, and a workload-linked verification of the bottleneck.

    Software Engineering FundamentalsTechnical Screen
  • Together AIEasySoftware Engineer
    Diagnose Slow Network Throughput Including Containers

    Investigate slow network throughput across application, transport, host, and container layers using controlled comparisons, retransmissions, limits, and path behavior.

    Software Engineering FundamentalsTechnical Screen
  • Together AIEasySoftware Engineer
    Diagnose Storage I/O Performance and Identify the Workload

    Diagnose storage slowness using device metrics, process attribution, workload shape, cache and durability effects, and measurements appropriate to the storage stack.

    Software Engineering FundamentalsTechnical Screen
  • Together AIEasySoftware Engineer
    Investigate a Server Saturated by Logging

    Trace logging-related server saturation through resource attribution, producer/sink behavior, bounded queues, rotation and retention, and verified mitigation.

    Software Engineering FundamentalsTechnical Screen
  • TradedeskMediumSoftware Engineer
    Fetch and Cache Daily Stock Prices Across a Date Range

    This problem tests your ability to build a resilient data-fetching client that handles network unreliability, data integrity validation, and efficient caching patterns.

    Software Engineering FundamentalsOnline AssessmentAPICachingError Handling
  • TrexquantMediumSoftware Engineer
    C++ Fundamentals: const Pointers, and map vs unordered_map

    This question evaluates a candidate's grasp of C++ fundamentals, specifically const-correctness with pointers and the distinction between ordered and hash-based associative containers. It tests conceptual understanding of pointer semantics and data structure trade-offs (tree vs. hash table complexity and ordering), a common check in language-fundamentals interview rounds.

    Software Engineering FundamentalsTechnical Screen
  • TubiMediumSoftware Engineer
    Make Cache Fetch Thread-Safe and Single-Flight

    Design a thread-safe cache fetch operation that coalesces concurrent misses for the same key while allowing different keys to load in parallel. Define linearization points, generation-aware publication, lock scope, timeout and error handling, deletion races, and stale completion cleanup.

    Software Engineering FundamentalsTechnical Screen
  • UberMediumSoftware Engineer
    Design a Parking Garage Object Model

    This question evaluates object-oriented design, domain modeling, data structure selection, and concurrency control for resource allocation in a multi-level parking garage.

    Software Engineering FundamentalsOnsite
  • UberMediumSoftware Engineer
    Design a Parking Lot

    This problem tests object-oriented design principles and the ability to manage resource allocation and concurrency in a multi-threaded environment.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignConcurrencySystem Design
  • UberMediumSoftware Engineer
    Design a Rolling Event Counter

    This question evaluates understanding of data structures and time-windowed counting, performance and memory trade-offs, expiration policies, and concurrency when implementing an in-memory rolling event counter.

    Software Engineering FundamentalsTechnical Screen
  • UberMediumSoftware Engineer
    Design a meeting room reservation API

    This problem tests your ability to design an in-memory scheduling system that efficiently manages room availability and handles time-interval overlaps.

    Software Engineering FundamentalsOnsiteSystem DesignInterval SchedulingData Structures
  • UberMediumSoftware Engineer
    Design an Iterative Path Tree and Clarify File Lookup Semantics

    Design an in-memory directory tree supporting iterative path insertion and file lookup using an explicit stack. The problem tests handling of duplicate component names, memory-efficient tree representation, and clarifying ambiguous file search contracts.

    Software Engineering FundamentalsTechnical ScreenTreeDFSDesign
  • UberMediumSoftware Engineer
    Design an object-oriented parking lot system

    This question evaluates object-oriented design competency, including class modeling, responsibility assignment, relationships (inheritance and composition), and familiarity with design patterns and SOLID principles for representing constraints like spot sizes and vehicle types.

    Software Engineering FundamentalsTechnical Screen
  • UberMediumSoftware Engineer
    Design follow/follower classes

    This problem tests your ability to design a system for managing directed relationships between users, requiring careful selection of data structures to balance write performance and query latency.

    Software Engineering FundamentalsTechnical ScreenOODGraphsData Structures
  • UberMediumSoftware Engineer
    Design mkdir and ls for a Basic File System

    Design an in-memory file system supporting path creation (`mkdir`) and directory listing (`ls`). Tests tree-based data structures, path parsing, and clean object-oriented design.

    Software Engineering FundamentalsOnsitetrietreedesign
  • UberMediumSoftware Engineer
    Develop test plan and TDD for word search

    This question evaluates a candidate's competency in designing comprehensive test plans and test-driven development workflows for grid-based word search algorithms, covering edge-case identification, input normalization, path validity, and performance/stress considerations within software testing and algorithmic reasoning.

    Software Engineering FundamentalsTechnical Screen
  • UberMediumSoftware Engineer
    Encode an N-ary tree as a string and decode it back to the identical tree

    Design a string format for rooted N-ary trees and implement serialize and deserialize so the decoded tree has the same values, shape and child order. It tests unambiguous encoding of variable child counts, linear-time parsing, iterative handling of very deep trees, and validation of malformed input.

    Software Engineering FundamentalsOnsite
  • UberMediumSoftware Engineer
    Minimum Rooms, Merged Busy Blocks and Conflict Handling for Meeting Intervals

    A multi-part coding question built on the classic meeting-room scheduling problem: find the minimum number of rooms for a set of meetings, merge overlapping meetings into busy blocks, and detect and handle booking conflicts. It tests interval ordering, endpoint conventions, sweep reasoning and efficient lookups.

    Software Engineering FundamentalsTechnical Screen
  • UberHardSoftware Engineer
    Object-Oriented Parking Lot Design with Check-In and Check-Out

    An object-oriented design interview question asking you to model a parking lot and implement working check-in and check-out methods. It tests class design and relationships, fast free-spot lookup across vehicle sizes, ticket handling, fees, edge cases, and thread safety.

    Software Engineering FundamentalsOnsite
  • Uber FreightMediumSoftware Engineer
    Low-Level Design of an In-Memory File System with mkdir and ls

    A low-level design interview question asking you to model a basic in-memory file system that supports mkdir and ls. It tests entity and class design for files and directories, representing the directory hierarchy and parent-child links, path resolution, and clear operation semantics.

    Software Engineering FundamentalsOnsite
  • UnityMediumSoftware Engineer
    Implement a Lightweight ETL Pipeline Scheduler in Python

    Implement a small Python scheduler that registers ETL tasks with dependencies and runs a pipeline so that each task executes only after its upstream tasks succeed. It tests clean interface design, dependency ordering with validation, failure and retry handling, and clear reporting of what happened to each task.

    Software Engineering FundamentalsOnsite
  • UpstartMediumSoftware Engineer
    Describe Your Python Experience

    Present Python experience through maintained production work, correctness practices, operational judgment, and honest tool-selection limits.

    Software Engineering FundamentalsHR Screen
  • ValonMediumSoftware Engineer
    Build a staged banking service: ATM cash, statements, transfers, fees, slow transfers

    A staged, roughly two-hour coding exercise to build a banking service: ATM balance, deposits and withdrawals, per-account statements that include failed transactions, instant transfers, external transfers that charge a fee, and slow transfers that hold funds until they arrive. It tests exact money handling, ledger design and extensible code.

    Software Engineering FundamentalsOnsite
  • ValonMediumSoftware Engineer
    Loan Ledger: Fee-First Payments and Out-of-Order Event Processing

    Implement loan accounting handlers in Python where fees increase the fee balance and payments pay down fees before principal, then build a ledger that accepts payment and fee events out of order. It tests keeping events ordered by accounting sequence, updating later balances without reprocessing the whole history, handling ties and overpayments, and analyzing per-call cost.

    Software Engineering FundamentalsTechnical Screen
  • ValonMediumSoftware Engineer
    Subscription Ledger: Credits-First Charges With Backdated Events

    Implement billing event handlers where credits pay down usage before the subscription fee, then build a ledger that accepts charge and credit events out of chronological order and recomputes only the balances that a backdated event actually invalidates.

    Software Engineering FundamentalsTechnical Screendata-structuresdesignordering
  • VantaMediumSoftware Engineer
    Deduplicate a File Exactly When Distinct Lines Exceed Memory

    Design exact external-memory global line deduplication with sorting or partitioning, full equality checks, and optional first-occurrence order preservation.

    Software Engineering FundamentalsOnsite