โ† All topics

๐Ÿ–ฅ Interview Prep

CS Fundamentals

Big-O, memory, processes and threads, operating systems, networking, databases, security and OOP: the theory rounds.

100 questions, most asked first

Ranked by how often each question comes up in real interviews. #1 is the most common.

#6SOLID principlesSOLID & clean codeMediumFree#7What is a deadlock?ConcurrencyMediumFree#8What is a race condition?ConcurrencyMediumFree#9How does a hash table work?ComplexityMediumFree#10What is virtual memory?Operating systemsMediumFreeUnlock 48 more CS Fundamentals questions ยท all 1,200 questions for $39/year (about 11ยข a day)See full access#12IP addresses, subnets and private networksNetworkingMedium๐Ÿ”’#15Binary and two's complementNumbers & binaryMedium๐Ÿ”’#16How floating-point numbers workNumbers & binaryMedium๐Ÿ”’#18Symmetric vs asymmetric encryptionSecurity & cryptoMedium๐Ÿ”’#23The decorator patternDesign patternsMedium๐Ÿ”’#26Interfaces vs abstract classesOOPMedium๐Ÿ”’#27Amortized time (why list.append is O(1))ComplexityMedium๐Ÿ”’#29Comparing sorting algorithmsComplexityMedium๐Ÿ”’#31Mutex vs semaphoreConcurrencyMedium๐Ÿ”’#32Context switchingOperating systemsMedium๐Ÿ”’#33CPU scheduling algorithmsOperating systemsMedium๐Ÿ”’#34Paging and page faultsOperating systemsMedium๐Ÿ”’#36How garbage collection worksMemoryMedium๐Ÿ”’#37User mode, kernel mode and system callsOperating systemsMedium๐Ÿ”’#38File systems and inodesOperating systemsMedium๐Ÿ”’#39The TCP three-way handshakeNetworkingMedium๐Ÿ”’#42Bitwise operationsNumbers & binaryMedium๐Ÿ”’#43ASCII, Unicode and UTF-8Numbers & binaryMedium๐Ÿ”’#44EndiannessNumbers & binaryMedium๐Ÿ”’#46ACID vs BASEDatabasesMedium๐Ÿ”’#48TLS certificates and PKISecurity & cryptoMedium๐Ÿ”’#49HMAC and signed tokensSecurity & cryptoMedium๐Ÿ”’#50The OWASP Top 10Security & cryptoMedium๐Ÿ”’#51Big-O of common data structuresComplexityMedium๐Ÿ”’#53Hash collisions and good hash functionsSecurity & cryptoMedium๐Ÿ”’#55Adjacency list vs adjacency matrixComplexityMedium๐Ÿ”’#56Divide and conquer vs greedy vs dynamic programmingComplexityMedium๐Ÿ”’#59Tail recursionMemoryMedium๐Ÿ”’#61Functional programming vs OOPOOPMedium๐Ÿ”’#62Dependency injectionSOLID & clean codeMedium๐Ÿ”’#67Layered and clean architectureSOLID & clean codeMedium๐Ÿ”’#68Thread poolsProcesses & threadsMedium๐Ÿ”’#69The producer-consumer problemConcurrencyMedium๐Ÿ”’#71Async I/O vs threadsProcesses & threadsMedium๐Ÿ”’#72Inter-process communication (IPC)Processes & threadsMedium๐Ÿ”’#74What happens when you run a program?Operating systemsMedium๐Ÿ”’#75How a compiler worksNumbers & binaryMedium๐Ÿ”’#76What is JIT compilation?Numbers & binaryMedium๐Ÿ”’#77How packets find their way across the internetNetworkingMedium๐Ÿ”’#78NAT (network address translation)NetworkingMedium๐Ÿ”’#80How compression worksNumbers & binaryMedium๐Ÿ”’#82Integer overflow bugsNumbers & binaryMedium๐Ÿ”’#83What makes a hash function cryptographic?Security & cryptoMedium๐Ÿ”’#84Digital signaturesSecurity & cryptoMedium๐Ÿ”’#87Heisenbugs and flaky behaviourConcurrencyMedium๐Ÿ”’#89The fallacies of distributed computingNetworkingMedium๐Ÿ”’#96Memory safetyMemoryMedium๐Ÿ”’#99Explain a technical concept to a non-technical personComplexityMedium๐Ÿ”’