← 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

Ordered so the most useful questions for learning each pattern come first.

#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πŸ”’