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 361–390 of 2810 results

  • AppleMediumSoftware Engineer
    Count Islands in a Binary Grid

    This problem tests your ability to perform graph traversal on a 2D grid while adhering to strict memory constraints and preserving the integrity of the original data structure.

    Coding & AlgorithmsTechnical ScreenGraphsBFSIterative Traversal
  • AppleHardSoftware Engineer
    Count subarrays with sum equals k

    This problem tests your ability to optimize subarray sum calculations using prefix sums and hash maps to achieve linear time complexity.

    Coding & AlgorithmsTechnical ScreenArraysHash MapPrefix Sum
  • AppleMediumSoftware Engineer
    Count the Nodes in a Chain Reachable Only Through Left and Right Links

    Starting from one node of a chain in which every node links only to its left and right neighbors, count the nodes in the whole chain. It tests traversal in both directions from an arbitrary node, handling of chain ends and single-node chains, and the design of your own test cases.

    Coding & AlgorithmsTechnical Screen
  • AppleMediumSoftware Engineer
    Decode a Run-Length Encoded String Where a Missing Count Means One

    Implement a decoder for run-length encoded strings in which each lowercase letter is followed by an optional repeat count, so that a5b3c becomes aaaaabbbc. It tests careful string parsing, multi-digit counts, letters written without a count, and writing your own test cases.

    Coding & AlgorithmsTechnical Screen
  • AppleMediumSoftware Engineer
    Describe common RTL lint warnings and errors

    This question evaluates understanding of RTL static analysis and common lint warnings/errors in Verilog/SystemVerilog, testing competence in diagnosing issues such as modules treated as black boxes, combinational loops, and width mismatches.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Describe your most memorable bug and fix

    Evaluates debugging, root-cause analysis, incident response, communication, and ownership skills for a Software Engineer within the Behavioral & Leadership domain.

    Behavioral & LeadershipTechnical Screen
  • AppleMediumSoftware Engineer
    Describe your recent project and scope

    Describe your recent project and scope evaluates behavioral evidence, ownership, communication, trade-offs, and measurable outcomes in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Behavioral & LeadershipTechnical Screen
  • AppleEasySoftware Engineer
    Design APIs for a Voting System

    Define APIs and a core model for an authenticated election with one final ballot per voter and results hidden until close. The design discussion covers eligibility, deterministic timing, idempotent voting, concurrent submissions, recountable records, audit trails, and privacy boundaries.

    System DesignTechnical Screen
  • AppleMediumSoftware Engineer
    Design Disk-Based Inventory Serving

    This question evaluates a candidate's ability to design disk-based inventory services under tight RAM constraints, focusing on data layout, indexing strategies, caching, write/read paths, conditional updates, concurrency control, and I/O-latency trade-offs.

    System DesignTechnical Screen
  • AppleHardSoftware Engineer
    Design a 200-Terabyte Media Migration and Training Input Pipeline

    This problem tests your ability to design a high-throughput data ingestion pipeline, focusing on network bottlenecks, storage strategies, and synchronization between on-premises assets and cloud-based training clusters.

    ML System DesignTechnical ScreenSystem DesignData EngineeringMLOps
  • AppleMediumSoftware Engineer
    Design a Population-Weighted Random Country Picker

    This problem tests your ability to implement a weighted sampling algorithm efficiently and write testable code by decoupling randomness.

    Software Engineering FundamentalsTechnical ScreenAlgorithmsBinary SearchProbability
  • AppleMediumSoftware Engineer
    Design a deck of cards with shuffle/draw

    This question evaluates object-oriented design skills, understanding of randomness and probability in algorithms, and analysis of time/space complexity for data structures and operations.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Design a rolling five-minute hit counter

    This question evaluates understanding of data-structure selection, amortized time complexity, space-time trade-offs, sliding-window state management for expiring events, and the ability to design a concise API with unit tests.

    Coding & AlgorithmsTechnical Screen
  • AppleMediumSoftware Engineer
    Design a snapshotable key-value store

    This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Design a snapshotable key-value store states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Coding & AlgorithmsTechnical Screen
  • AppleMediumSoftware Engineer
    Design an Accurate Click Aggregator

    This question tests the ability to design a high-throughput, fault-tolerant system for tracking ad clicks while ensuring exactly-once processing or deduplication at scale.

    System DesignTechnical ScreenScalabilityData PipelineDeduplication
  • AppleMediumSoftware Engineer
    Determine Whether an Undirected Graph Is Two-Colorable

    Determine whether an undirected graph with disconnected components, potential self-loops, and parallel edges can be colored using two colors such that no two adjacent vertices share the same color.

    Coding & AlgorithmsTechnical Screengraphbfsdfs
  • AppleMediumSoftware Engineer
    Explain HashMap Resizing Without Long Pauses

    This question evaluates understanding of hash map internals—how keys are mapped to buckets, collision resolution strategies, and when and why resizing occurs—testing competence in data structures and performance engineering within the Software Engineering Fundamentals domain.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Explain Python lists, dicts, and concurrency

    Explain Python lists, dicts, and concurrency evaluates SQL or pandas logic, joins, grouping, window functions, null handling, edge cases, and validation in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Data Manipulation (SQL/Python)Technical Screen
  • AppleMediumSoftware Engineer
    Explain Runnable vs Callable and thread-safe Singleton

    This question tests the conceptual differences between Java concurrency interfaces and the practical implementation of thread-safe creational design patterns.

    Software Engineering FundamentalsTechnical ScreenJavaConcurrencyDesign Patterns
  • AppleMediumSoftware Engineer
    Explain SystemVerilog verification concepts and write constraints

    This question evaluates proficiency with SystemVerilog verification concepts — including concurrency primitives, constrained-random modeling, assertions, OOP features, synchronization primitives, and testbench architecture — and tests the ability to specify non-overlapping/randomized constraints and reason about solve-order and sampling semantics; it is commonly asked because interviewers seek assurance that a candidate can build correct constrained-random testbenches and diagnose simulation or coverage issues. Category/domain: Software Engineering Fundamentals with a focus on hardware design verification; level of abstraction: language-level implementation details and testbench architecture/behavioral verification concerns.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Explain key React concepts and error handling

    This question assesses a candidate's deep understanding of the React ecosystem, covering reconciliation, hook lifecycles, and robust error management strategies.

    Software Engineering FundamentalsTechnical ScreenReactFrontendError-Handling
  • AppleMediumSoftware Engineer
    Explain use cases for clock synchronizers

    This question evaluates understanding of clock domain crossing and digital system design competencies, focusing on metastability, synchronization techniques (such as flip-flop synchronizers, edge detection, asynchronous FIFOs, and request/acknowledge handshakes) and the trade-offs among reliability, latency, throughput, and area.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Explain your LLM project and contributions

    This question evaluates technical leadership, end-to-end machine learning engineering skills, and domain knowledge of large language models by probing project goals, individual contributions, technical trade-offs, success metrics, and incident handling.

    Behavioral & LeadershipTechnical Screen
  • AppleEasySoftware Engineer
    Find Common Prefix Across Strings

    This question tests the ability to manipulate strings and iterate through arrays to find the longest common prefix among a list of words, emphasizing efficiency and edge-case handling.

    Coding & AlgorithmsTechnical ScreenStringsArraysAlgorithms
  • AppleMediumSoftware Engineer
    Find k Smallest Pair Sums

    This problem tests your ability to efficiently find the k-smallest pair sums from two sorted arrays using a heap-based approach to avoid exhaustive search.

    Coding & AlgorithmsTechnical ScreenHeapSortingTwo Pointers
  • AppleMediumSoftware Engineer
    Find top-k frequent elements efficiently

    This question evaluates algorithmic and data-structure skills, focusing on frequency counting, heap-based selection, streaming updates, and time/space complexity analysis within the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • AppleMediumSoftware Engineer
    Generate Tower of Hanoi moves

    This question evaluates understanding of recursion, algorithmic problem decomposition, and analysis of time complexity when generating constrained move sequences.

    Coding & AlgorithmsTechnical Screen
  • AppleMediumSoftware Engineer
    Give a Kubernetes Pod a Token to Call an External Service Securely

    Decide how a Kubernetes pod should obtain a token for calling an external service. Tests knowledge of Secrets delivered as volumes or environment variables, RBAC and encryption at rest, external secret managers, workload identity with projected service account tokens, and rotating the token without downtime.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    How to debug a Python loop-condition bug

    This question evaluates debugging skills and understanding of loop termination and control-flow correctness in Python, emphasizing practical familiarity with debugging tools and techniques for isolating faulty loop conditions.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    How to root-cause Wi‑Fi chip stops after 30 minutes

    This question evaluates troubleshooting and diagnostic skills for embedded wireless systems, focusing on firmware behavior, testbed instrumentation, and measurement analysis.

    Software Engineering FundamentalsTechnical Screen