Software Engineer Software Engineering Fundamentals Interview Questions
Practice the exact questions companies are asking right now.
Optimize a small-string C++ class
You are implementing a high-performance C/C++ string type that uses a small-string optimization: short strings are stored inline in a fixed buffer, an...
Explain hash map internals and edge cases
You are asked a “knowledge check” about hash maps (hash tables). Discuss how a typical in-memory hash map works and how you would reason about these e...
Debug distributed-system performance problems
You are asked: “If a distributed system has a performance problem (latency/throughput regression), how would you approach it?” Describe a practical, s...
Discuss languages, packages, and tools you know
Skills and tooling question What languages, libraries/packages, and developer tools are you most comfortable with? In your answer, cover: - Primary la...
Fix race condition in concurrent deposit
Concurrent bank account debugging (thread safety) You are given a simple BankAccount object that is used concurrently from multiple threads. Two depos...
Build an Auth0-protected MCP server
Hands-on OA: Build an MCP server secured by Auth0 JWTs You are asked to build a local HTTP service that implements a minimal MCP (Model Context Protoc...
Compute probability two arrivals meet within 15 minutes
Probability puzzle Two people plan to meet, but they arrive independently at a random time within the next 1 hour. - Person A’s arrival time is unifor...
Explain C++ containers, segfaults, and virtual dispatch
Answer the following C++ conceptual questions: 1. C++ standard containers implementation For common C++ standard library containers such as std::...
Explain ACID and isolation levels
Explain what a database transaction is, define the ACID properties (Atomicity, Consistency, Isolation, Durability), and describe common transaction is...
Explain debugging methodology for production issues
In a technical interview, you are asked: > What is your methodology when debugging or when something goes wrong? Describe a systematic approach you wo...
Improve chip performance without process advances
Assume you are working on a digital chip, but the semiconductor process node and basic device technology are fixed: there is no new, faster process an...
Describe common RTL lint warnings and errors
You are writing RTL (e.g., Verilog/SystemVerilog) and run a lint tool on your code. The tool reports items such as: - "Treat as black box" - Combinati...
Explain use cases for clock synchronizers
Assume you are designing a digital system with multiple clock domains. The clocks have different frequencies and unknown phase relationships. You can ...
Design CSV upload endpoint with GPT classification
You are building a backend service that needs to process two CSV files and then call an external GPT-like API for classification. Requirements 1. HTTP...
Improve robustness of graph cycle detection code
You have written code to detect cycles in a directed dependency graph of services, where nodes represent services and edges represent dependencies bet...
Design a multithreaded event logger
Design a multithreaded in-memory event logger for a server application. Requirements: - Many worker threads running in the process need to log events ...
Explain worker state machine load balancer design
You are designing a lightweight load balancer for a Python-based backend service that dispatches tasks to a pool of worker processes. Describe how you...
Compare JavaScript == and === operators
In JavaScript, what is the difference between the == and === operators? Explain: 1. How each operator compares two values. 2. What type coercion is an...
Explain the MVC architectural pattern
Explain the Model–View–Controller (MVC) architectural pattern. Include in your answer: 1. What each component is responsible for: - Model - View...
Explain C++ alignment and ABI stability
You are interviewing for a senior C++ / systems role. The interviewer asks two low-level fundamentals questions: 1. C++ memory alignment and padding ...