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 871–900 of 5874 results

  • 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
  • AppleHardSoftware Engineer
    Explain thermal and signal fundamentals

    This question tests the ability to bridge hardware constraints with firmware design, covering thermal management, signal integrity, communication protocol trade-offs, and data interpretation.

    Software Engineering FundamentalsOnsiteEmbedded SystemsHardware FundamentalsSignal Integrity
  • 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
  • AppleMediumSoftware Engineer
    Find All Tree Nodes at Distance K

    This problem tests tree traversal, graph representation (converting a tree to an undirected graph), and breadth-first search (BFS) to find nodes at a specific distance.

    Coding & AlgorithmsOnsiteTreesGraphsBFS
  • 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 the K Closest Pairs in a Sorted Array

    Implement an algorithm to find the k pairs of elements with the smallest absolute difference in a strictly increasing sorted array.

    Coding & AlgorithmsOnsiteHeapTwo PointersSorted Array
  • 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
    Give a Specific Motivation for Joining a Team

    This question assesses the candidate's ability to articulate a clear, personal, and well-researched motivation for joining a specific engineering team, moving beyond generic company enthusiasm.

    Behavioral & LeadershipOnsiteBehavioralCommunicationTeam-Fit
  • 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
  • AppleMediumSoftware Engineer
    How would you handle an unresponsive teammate?

    This question evaluates interpersonal leadership and project-management competencies—including communication, accountability, escalation judgment, stakeholder risk communication, and empathy—in a software engineering, behavioral and leadership context.

    Behavioral & LeadershipTechnical Screen
  • AppleMediumSoftware Engineer
    Implement a Consistent Hashing Ring From Scratch

    Implement a consistent hashing ring that maps string keys to server nodes with add, remove and lookup operations. Tests sorted-position lookup with wrap-around, deterministic hashing across processes, virtual nodes for load balance, operation complexity and how few keys move when membership changes.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Implement a FIFO Queue Using Two Stacks

    This problem tests the ability to adapt data structure behaviors by implementing a First-In-First-Out (FIFO) queue using only Last-In-First-Out (LIFO) stacks.

    Coding & AlgorithmsOnsiteData StructuresStacksQueues
  • AppleMediumSoftware Engineer
    Implement a Five-Minute Hit Counter

    This problem tests your ability to design a high-throughput, time-series data structure that balances memory usage with query performance.

    Software Engineering FundamentalsOnsiteData StructuresConcurrencyTime-Series
  • AppleHardSoftware Engineer
    Implement a Mutual-Exclusion Lock Without Built-In Locks

    Implement a mutual-exclusion lock without any built-in lock, mutex or semaphore, relying only on atomic operations. Tests atomic read-modify-write, memory ordering, spinning versus sleeping waiters, fairness, reentrancy, and software-only mutual exclusion when atomic instructions are unavailable.

    Software Engineering FundamentalsOnsite
  • AppleHardSoftware Engineer
    Implement a Reusable Cyclic Barrier from a Mutex and Condition Variables

    Implement a reusable cyclic barrier from a mutex and condition variables, where a fixed number of threads block until all have arrived and are then released together. Tests round tracking for safe reuse, spurious wakeups, timeout and broken-barrier semantics, an atomics-only variant and concurrency testing.

    Software Engineering FundamentalsOnsite
  • AppleHardSoftware Engineer
    Implement a Thread-Safe Bounded Blocking Queue for Producers and Consumers

    Implement a thread-safe bounded blocking queue shared by multiple producer and consumer threads, built from a mutex and condition variables instead of a library concurrent queue. Tests wait and wakeup logic, spurious wakeups, FIFO ordering, shutdown handling and the OS mechanisms beneath blocking synchronization.

    Software Engineering FundamentalsOnsite
  • AppleHardSoftware Engineer
    Implement a Thread-Safe Event Tracker Over a Sliding Time Window

    Implement a thread-safe in-memory event tracker that records events and reports the events and their count within a sliding time window. Tests time-ordered storage with amortized eviction, window boundary semantics, lock scope and clock choice, out-of-order events, and memory under high event rates.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Implement a debounce function

    This problem tests your understanding of JavaScript closures, asynchronous timers, and the ability to maintain internal state across multiple function invocations.

    Coding & AlgorithmsTechnical ScreenJavaScriptClosuresAsynchronous
  • AppleHardSoftware Engineer
    Implement a lazy inorder traversal iterator

    This problem tests your ability to implement a binary tree iterator that performs inorder traversal using O(h) extra space, where h is the height of the tree, while maintaining an amortized time complexity of O(1) per call.

    Coding & AlgorithmsTechnical ScreenTreesIteratorStack
  • AppleHardSoftware Engineer
    Implement a robust REST API method

    Implement a robust REST API method evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • AppleMediumSoftware Engineer
    Implement a robust socket message reader

    This question evaluates understanding of socket programming, stream message framing, internal buffer management, EOF and error handling, input size limits, unit testing, and time/space complexity analysis.

    Coding & AlgorithmsTechnical Screen
  • AppleMediumSoftware Engineer
    Implement deep clone for complex objects

    This question evaluates mastery of deep object cloning, reference and memory management, and knowledge of language runtime details such as prototypes, property descriptors, symbol-keyed and non-enumerable properties, and built-in types like Maps, Sets, Dates, RegExps, and typed arrays.

    Coding & AlgorithmsTechnical Screen