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 121–150 of 1026 results

  • 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
    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
  • AppleHardSoftware Engineer
    Explain How TLS Secures a Connection: Handshake, Certificates and Keys

    Explain in detail how TLS establishes a secure connection and protects the data that follows: the handshake messages and round trips, certificate chain validation, ephemeral key exchange and key derivation, record encryption, forward secrecy, and how TLS 1.3 differs from TLS 1.2.

    Software Engineering FundamentalsOnsite
  • 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
    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
  • 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 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
    Improve chip performance without process advances

    This question evaluates understanding of digital architecture, microarchitecture, and logic‑level techniques for improving chip performance without process advances, along with competence in performance/power/area (PPA) trade‑off analysis and arithmetic block design.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    LRU Cache with Fewer Recency Writes and Concurrent Access

    Implement a fixed-capacity least-recently-used cache with constant-time get and put, then discuss two follow-ups: cutting the shared-state writes that every read causes when it updates recency, and making the cache safe and fast under concurrent access, including how eviction order changes.

    Software Engineering FundamentalsOnsite
  • AppleHardSoftware Engineer
    Make tree iterators safe under concurrency

    This question tests the ability to design a thread-safe iterator for a binary search tree (BST) that remains consistent even if the underlying tree structure is modified during iteration.

    Software Engineering FundamentalsTechnical ScreenConcurrencyTreesIterators
  • AppleMediumSoftware Engineer
    Optimize QA Benchmarks and Shared HPC Usage

    Optimize QA benchmark turnaround and shared HPC usage by profiling execution, controlling resources, and separating runtime savings from faster reporting.

    Software Engineering FundamentalsOnsite
  • AppleEasySoftware Engineer
    Parse and Summarize HTTP Access Logs

    Parse a strict HTTP access-log format and summarize valid requests, client errors, server errors, invalid lines, and failure percentage. The prompt tests full-field validation, precise metric denominators, status boundaries, streaming aggregation, and privacy-safe diagnostics.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Pin Down a Vague HTML Parser Prompt, Build the Element Tree, and Query It with DFS

    A coding exercise in which the HTML parser prompt is deliberately vague, so the candidate must first pin down input, output and edge cases with concrete examples. It tests building a tree from nested markup in one pass, handling void and malformed tags, and answering a query with a depth-first traversal.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Reduce False Failures and Classify QA Outcomes

    Reduce regression false failures with reviewed acceptance rules, then classify causes and severity without confusing test categories with observed outcomes.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Return the First Successful Result from Parallel API Calls Under a Global Timeout

    Implement a function that runs several slow, failure-prone backend API calls concurrently and returns the first successful result within a single overall timeout. It tests concurrency primitives, deadline handling, reporting when every call fails, and cleaning up calls that are still in flight, using threads, futures, or async code.

    Software Engineering FundamentalsTechnical Screen
  • AppleEasySoftware Engineer
    Store Open-Hours Query: Weekdays, Split Shifts and Overnight Windows in Java

    A progressive Java coding exercise that asks whether a store is open at a given time as its schedule grows from one daily window to selected weekdays, several windows per day, and overnight windows that cross midnight and wrap from Sunday to Monday. It tests time modeling, boundary handling, and keeping evolving code readable.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Time-to-Live Token Manager With Renewal and a Heavy Concurrent Read/Write Follow-up

    Implement a token manager in which each token expires a fixed time-to-live after it is generated or renewed, renewals extend only unexpired tokens, and a query counts live tokens. The follow-up asks how to keep it correct and fast under heavy concurrent reads and writes.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Troubleshoot a Failing Kubernetes Pod: Where to Start and What to Check

    Explain how to troubleshoot a Kubernetes pod that has a problem, starting from its status, container states and events. Tests mapping Pending, ImagePullBackOff, CrashLoopBackOff, OOMKilled and not-Ready states to likely causes, using logs, debug containers and node checks, and separating mitigation from root cause.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Validate and Assess Performance Benchmarks

    Assess QA benchmark validity using comparable baselines, measurement variation, practical impact, and clear ownership of regression thresholds and known issues.

    Software Engineering FundamentalsOnsite
  • AppleEasySoftware Engineer
    Write a Usage Example for a Resource-Owning C++ Class and Explain Its Semantics

    A C++ internship screen exercise: read an unfamiliar class that owns a heap array and write an example program showing callers how to use it correctly. It tests code comprehension and C++ fundamentals such as RAII, deleted copy operations, move semantics, noexcept, explicit constructors and const-correctness.

    Software Engineering FundamentalsTechnical Screen