CS fundamentals are the foundation every other technical topic builds on. When an interviewer asks about processes vs threads, hash table internals, or stack vs heap allocation, they’re testing whether you have genuine understanding or just memorized definitions.
These 16 questions cover the core CS concepts that senior engineers are expected to know cold: concurrency primitives, data structure internals, object-oriented design, memory models, and computational complexity. Getting these right signals that your technical knowledge has real depth.
A process is an independent unit of execution with its own memory space, including its own heap, stack, code segment, and data segment.
Read full answer →A race condition occurs when two or more threads or processes access shared data concurrently, and at least one of them modifies it, such that the final outcome depends on the non-deterministic order of execution.
Read full answer →A deadlock is a situation where two or more threads are permanently blocked, each waiting for a resource held by another thread in the group.
Read full answer →Thread safety means that a data structure or piece of code produces correct results when accessed concurrently by multiple threads, without requiring the caller to perform external synchronization.
Read full answer →A HashMap is a data structure that stores key-value pairs and provides O(1) average-case lookup, insertion, and deletion.
Read full answer →A hash collision occurs when two distinct keys produce the same hash value modulo the table size, and therefore map to the same bucket.
Read full answer →The four pillars of object-oriented programming -- encapsulation, abstraction, inheritance, and polymorphism -- describe the core mechanisms by which OOP manages complexity in large codebases.
Read full answer →SOLID is an acronym for five object-oriented design principles introduced by Robert Martin.
Read full answer →Breadth-First Search (BFS) and Depth-First Search (DFS) are the two fundamental graph traversal algorithms.
Read full answer →The distinction between primitive and reference types is fundamental to understanding how languages manage memory and pass values between functions.
Read full answer →A mutex (mutual exclusion lock) and a semaphore are both synchronization primitives, but they model different problems and have different ownership semantics.
Read full answer →Virtual memory is an abstraction that gives each process its own private address space, isolated from other processes and from the physical memory layout.
Read full answer →Concurrency and parallelism are related but distinct concepts that are frequently conflated, even by experienced engineers.
Read full answer →Method overriding and method overloading are both forms of polymorphism but operate at different points in the execution lifecycle and serve distinct purposes.
Read full answer →A context switch is the mechanism by which the operating system's scheduler pauses one executing process or thread and resumes another.
Read full answer →A file descriptor (FD) is a small non-negative integer that the operating system kernel uses to represent an open I/O resource within a process.
Read full answer →These questions reward first-principles thinking. For every concept, prepare a 60-second verbal explanation from scratch — no memorized definitions. If you can’t derive why a hash map is O(1) average and O(n) worst-case in your own words, you don’t know it. Senior interviewers detect rehearsed textbook answers within one follow-up.
Study three canonical topics in depth — concurrency primitives, memory layout, and data structure trade-offs — rather than trying to cover all 16 surface-level. Depth in three beats breadth in ten when the interviewer starts probing what happens inside the abstraction you named.
Take a free AI-graded assessment across multiple domains. No signup required.
Start Free Assessment