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 EngineerExplain 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 EngineerExplain 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 EngineerExplain 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 EngineerExplain 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 EngineerExplain 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 EngineerExplain 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 EngineerExplain 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 EngineerFind 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 EngineerFind 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 EngineerFind 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 EngineerFind 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 EngineerFind 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 EngineerGenerate 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 EngineerGive 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 EngineerGive 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 EngineerHow 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 EngineerHow 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 EngineerHow 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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