Katkat

Topic

Software Engineering Fundamentals interview questions

1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.

Questions1208

123 easy887 medium198 hard

Your progress0/1208

Software Engineering Fundamentals interview questions by the numbers

Last updated

Katkat has 1,208 Software Engineering Fundamentals interview questions from 253 companies; the most come from OpenAI (5%), Stripe (4%) and Amazon (3%). By difficulty: 10% easy, 73% medium and 16% hard. The most common round is Technical Screen (52%). Frequent concepts include Data Structures, Concurrency, System Design and Algorithms.

Companies (253)

Difficulty

  • Easy10% · 123
  • Medium73% · 887
  • Hard16% · 198

Interview rounds

  • Technical Screen52% · 625
  • Onsite37% · 448
  • Online Assessment8% · 96
  • HR Screen2% · 28
  • Other1% · 11

Roles

  • Software Engineer85% · 1026
  • Frontend Engineer4% · 51
  • Machine Learning Engineer2% · 30
  • Backend Engineer2% · 25
  • Data Scientist1% · 17

Frequent concepts

  • Data Structures8% · 97
  • Concurrency8% · 96
  • System Design8% · 93
  • Algorithms3% · 42
  • API Design3% · 42
  • Object-Oriented Design3% · 35

Showing 661–690 of 1208 results

  • Analyze and compare the behavior of JavaScript's `Promise.all`, `Promise.any`, and `Promise.allSettled` across resolution semantics, failure handling, result ordering, and empty inputs, then apply them to real-world distributed service orchestration.

    Micro1Software EngineerSoftware Engineering FundamentalsOnline Assessment
  • This problem tests your understanding of concurrency control by asking you to design a locking strategy for a multi-threaded key-value store, focusing on the trade-offs between throughput and latency.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates understanding of binary classification evaluation metrics (precision and recall) and competency in handling unreliable API behavior for robust metric computation, testing both conceptual understanding and practical application.

    MicrosoftMachine Learning EngineerSoftware Engineering FundamentalsTechnical Screen
  • An AI-assisted debugging exercise set in a multi-file A/B testing analytics codebase with five reported issues, centered on a numerical underflow that makes a sequential test stall on large experiments. It tests triage under a time limit, numerical root-cause analysis, and judging when an AI agent's proposed fix is wrong.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This question evaluates a candidate's competency in diagnosing performance regressions in distributed systems and understanding of observability signals, latency and throughput trade-offs, and cross-component interactions within the Software Engineering Fundamentals domain.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • Implement your own doubly linked list whose nodes also carry a special pointer to any node in the list, then write a deep clone without using a built-in list type or adding fields to the node class. It tests pointer handling, mapping nodes by identity, edge cases such as null or self pointers, and proving the copy is fully independent.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Design a heterogeneous dictionary with explicit type-aware equality, hashing, collision resolution, variable-length ownership, resizing, and persistence boundaries.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Low-level design and concurrency question: design and implement a fixed-size thread pool with task submission, futures that return results or errors, and graceful or cancelling shutdown. It tests lock and condition variable use, lost wake-ups, policies for rejected work, pool sizing and deadlocks between dependent tasks.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOther
  • This question evaluates understanding of concurrency control (mutexes and synchronization), memory alignment and layout, object-oriented polymorphism, and idempotent operations, encompassing key Software Engineering Fundamentals and systems-level concepts.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This question evaluates object-oriented design and API release engineering competencies, covering identification of core domain objects, separation of orchestration from business rules, testability and extensibility of backend logic, and safe modification of public APIs including backward compatibility, versioning, testing, rollout, monitoring, and client communication, and it is categorized under Software Engineering Fundamentals. It is commonly asked because employers need assurance that engineers can both conceptually design maintainable, extensible systems and practically apply release processes and testing strategies to evolve public interfaces without disrupting clients.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question tests your understanding of language runtimes, memory management strategies, and the trade-offs between managed environments like Python and JVM-based languages like Java.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This question assesses the candidate's depth of ownership over a previous machine learning project, specifically testing their ability to articulate system design choices, technical trade-offs, and operational resilience.

    MicrosoftMachine Learning EngineerSoftware Engineering FundamentalsOnsite
  • This question evaluates understanding of deadlocks, concurrency control, and resource synchronization in concurrent programming, testing competency in identifying the necessary conditions for deadlock, analyzing concrete scenarios including circular waits, and considering engineering approaches for prevention, detection, and recovery.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates understanding of hash map internals and related competencies in data structures, algorithmic complexity, and concurrent programming within the Software Engineering Fundamentals domain, covering collision handling, load factor and resizing, deletion semantics, worst-case behavior, iteration order, and thread-safety concerns.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • Tests code review, debugging, and refactoring skills by identifying flaws in an AI-generated in-memory URL shortener and implementing a robust, thread-safe replacement.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design and implement a thread-safe, bounded task executor that guarantees sequential execution per key while enforcing a global concurrency limit across all keys.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Data structures question that asks you to build a priority queue from scratch with insert, peek, remove-top and size operations, a caller-supplied ordering and stable ties. It tests the choice of underlying structure, invariant-preserving insertion and removal, complexity analysis and edge-case handling.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOther
  • Implement per-key FIFO task execution with thread-safe submission, bounded global concurrency, ready-key scheduling, and exception-safe slot release.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • A low-level engineering exercise to implement the Linux cp command in C++ and then explain what happens beneath it. It tests system calls, short writes and error handling, the page cache and kernel-assisted copying, and RAII-based management of file descriptors.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Live troubleshooting scenario for a senior reliability role: a public-facing service shows very high CPU, and you must keep answering what you would check next. It tests impact-first triage, separating traffic growth from per-request regressions, profiling, and weighing rollback, scaling, throttling and asynchronous queueing.

    MicrosoftSite Reliability EngineerSoftware Engineering FundamentalsOnsite
  • Low-level design question about an in-process logging library that many threads call at the same time. It tests class modeling for loggers, records, formatters and output destinations, plus thread safety, the hand-off to a background writer, ordering, overflow behavior, failure isolation and clean shutdown.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOther
  • This problem tests the ability to model lexicographical constraints as a directed graph and determine if a valid ordering of unique characters exists using topological sorting.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Respond to a post-deployment latency or reliability regression with scoped diagnosis, safe rollback decisions, customer-impact measurement, and prevention.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • A rapid-fire software engineering fundamentals round covering what makes code thread-safe, what a deadlock is, the main ways to prevent, avoid or recover from deadlocks, and how arrays and linked lists compare. It tests precise definitions, concrete examples and practical trade-offs such as lock ordering and cache locality.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Reliability engineering discussion question: explain your philosophy on automating operational work to free engineers for development, your bar for good-enough versus excellent automation, and where automation stops being worth it. It tests toil measurement, cost-benefit reasoning, safety guardrails and concrete examples.

    MicrosoftSite Reliability EngineerSoftware Engineering FundamentalsOnsite
  • Understand C++ atomics, relaxed counters, acquire-release publication, lost updates, and when multi-field invariants still require a mutex.

    MillenniumSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This question evaluates understanding of asynchronous programming in Python, including event loop management and async I/O semantics, and is categorized under Software Engineering Fundamentals with a focus on practical application of concurrency concepts.

    MillenniumSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This problem tests the ability to design an automated evaluation framework for an agentic system that transitions from rule-based to LLM-driven decision-making, focusing on decoupling metrics and ensuring safety.

    MillenniumData ScientistSoftware Engineering FundamentalsTechnical Screen
  • Compare GCC, Clang, and LLVM compilation stages, optimization trade-offs, undefined behavior, and methods for investigating generated-code differences.

    MillenniumSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Explain C++ mutex ownership, memory visibility, RAII locking, contention, and deadlock prevention with a shared-counter example.

    MillenniumSoftware EngineerSoftware Engineering FundamentalsOnsite

More topics