Senior engineering interviews often include questions that don’t fit neatly into one domain. These cross-cutting topics — testing strategies, API design principles, observability, and deployment practices — test whether you think holistically about building and maintaining production systems.
These 13 questions cover the engineering judgment that interviewers value most: knowing when to choose different testing approaches, how to design APIs that evolve gracefully, and what monitoring matters in production. The kind of knowledge that comes from actually running systems, not just building them.
The CAP theorem, formulated by Eric Brewer, states that a distributed data store can simultaneously provide at most two of three guarantees: Consistency, Availability, and Partition Tolerance.
Read full answer →SQL (relational) databases organize data into tables with a predefined schema, use SQL for queries, and enforce ACID properties (Atomicity, Consistency, Isolation, Durability). They are optimized for complex joins, multi-table transactions, and enforcing referential integrity. Examples: PostgreSQ…
Read full answer →Big O notation is a mathematical notation used in computer science to describe the upper bound of an algorithm's growth rate as input size n approaches infinity. It answers the question: how does the time (or space) this algorithm needs scale as the input grows? By convention, Big O focuses on th…
Read full answer →The N+1 problem occurs when an application fetches a list of N records with one query, then executes an additional query for each record to load associated data — resulting in N+1 total database round trips instead of one or two.
Read full answer →AI tools in a development workflow add the most value in high-iteration, lower-stakes tasks: scaffolding boilerplate, generating test cases, explaining unfamiliar code, drafting commit messages, and rubber-ducking design decisions. The key is knowing where the leverage is highest and where the ri…
Read full answer →Redis is an in-memory data structure store. Understanding its internals explains both its performance characteristics and its limitations.
Read full answer →In Python, the distinction between a class and an Abstract Base Class (ABC) maps roughly to what other languages call 'class vs. interface,' though Python's model is more flexible due to its dynamic typing.
Read full answer →Variable shadowing occurs when a variable declared in an inner scope has the same name as a variable in an outer (enclosing) scope. When the name is referenced inside the inner scope, the inner binding takes precedence, effectively hiding ('shadowing') the outer one. The outer variable still exis…
Read full answer →Python offers three concurrency models, each suited to a different problem class. Choosing wrong is a common source of performance bugs.
Read full answer →An `asyncio.Semaphore` is a concurrency primitive that limits the number of coroutines that can execute a particular section of code simultaneously. It maintains an internal counter initialized to the limit. When a coroutine acquires the semaphore (`async with sem:`), the counter decrements. If t…
Read full answer →Inheritance and composition are both mechanisms for code reuse and building relationships between types, but they couple classes differently and suit different design problems.
Read full answer →Browser caching is a mechanism by which a web browser stores copies of HTTP responses locally, reusing them for subsequent requests to avoid unnecessary network round-trips. The behavior is entirely controlled by HTTP response headers set by the server.
Read full answer →A method signature is the contract that describes how a method is called. It consists of:
Read full answer →Focus on understanding concepts deeply enough to explain them in your own words. For each topic, practice articulating the trade-offs and real-world applications — interviewers care about practical judgment, not textbook definitions.
Take a free AI-graded assessment across multiple domains. No signup required.
Start Free Assessment