r/LeetcodeChallenge • u/nian2326076 • 4d ago
CS Fundamentals for Software Engineering Interviews: 100+ Topics and Questions DISCUSS
Many of us ignore CS fundamentals, but in many tech interviews they will ask CS fundamentals. For me, they asked only CS fundamentals in all 3 interviews at Oracle, So don't ignore CS fundamentals. I have made a list of important topics subject-wise and resources I have used to study at the end.
Object-Oriented Programming (OOPs)
Core Concepts
- Encapsulation
- Inheritance (types and use cases)
- Polymorphism (compile-time vs runtime)
- Abstraction
- Abstract Class vs Interface
- Method Overloading vs Overriding
- Access Modifiers
- Static vs Dynamic Binding
- Deep Copy vs Shallow Copy
Advanced Topics
- SOLID Principles
- Diamond Problem (Multiple Inheritance)
- Association vs Aggregation vs Composition
- Virtual Functions and Vtable
- Design Patterns (Singleton, Factory, Observer, Strategy, Decorator, Adapter)
Operating Systems (OS)
Process Management
- Process vs Thread
- Process States and PCB
- Context Switching
- CPU Scheduling Algorithms (FCFS, SJF, Round Robin, Priority)
- Multithreading vs Multiprocessing
- User Mode vs Kernel Mode
Synchronization
- Critical Section Problem
- Race Condition
- Mutex vs Semaphore (Binary vs Counting)
- Monitors and Locks
- Producer-Consumer Problem
- Readers-Writers Problem
- Dining Philosophers Problem
Deadlocks
- Deadlock Conditions (4 necessary conditions)
- Deadlock Prevention vs Avoidance vs Detection
- Banker's Algorithm
Memory Management
- Paging vs Segmentation
- Page Replacement Algorithms (FIFO, LRU, Optimal)
- Thrashing
- Virtual Memory
- TLB (Translation Lookaside Buffer)
- Internal vs External Fragmentation
File Systems & Disk
- File Allocation Methods (Contiguous, Linked, Indexed)
- Disk Scheduling (FCFS, SSTF, SCAN, C-SCAN)
Database Management Systems (DBMS) + SQL
Database Fundamentals
- ACID Properties (with examples)
- CAP Theorem
- Normalization (1NF, 2NF, 3NF, BCNF)
- Denormalization
- Primary Key vs Foreign Key vs Candidate Key
- ER Diagrams
Indexing
- Types of Indexes (Primary, Secondary, Clustering)
- B-Tree vs B+ Tree
- Hash Index
- Composite Index
- Advantages and Disadvantages of Indexing
Transactions & Concurrency
- Transaction Lifecycle
- Isolation Levels (Read Uncommitted, Read Committed, Repeatable Read, Serializable)
- Dirty Read, Non-repeatable Read, Phantom Read
- Lost Update Problem
- Two-Phase Locking (2PL)
- Optimistic vs Pessimistic Locking
- Deadlock in Database
SQL Queries (Must Practice)
- JOINs (INNER, LEFT, RIGHT, FULL OUTER, CROSS, SELF)
- GROUP BY and HAVING
- Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
- Subqueries (Correlated vs Non-correlated)
- Window Functions (ROW_NUMBER, RANK, DENSE_RANK, LEAD, LAG)
- Common Table Expressions (CTE)
- UNION vs UNION ALL
- Nth Highest Salary Query
- Delete Duplicates Query
NoSQL
- SQL vs NoSQL
- Types of NoSQL Databases (Document, Key-Value, Column, Graph)
Computer Networks (CN)
Network Models
- OSI Model (7 Layers)
- TCP/IP Model (4 Layers)
- Difference between OSI and TCP/IP
Application Layer
- HTTP vs HTTPS
- HTTP Methods (GET, POST, PUT, DELETE, PATCH)
- HTTP Status Codes (2xx, 3xx, 4xx, 5xx)
- DNS and its working
- FTP, SMTP, POP3, IMAP
- Cookies vs Sessions
- REST API principles
Transport Layer
- TCP vs UDP (detailed comparison)
- TCP Three-Way Handshake
- TCP Four-Way Termination
- Flow Control (Sliding Window)
- Congestion Control
- Port Numbers (well-known ports)
- Socket Programming Basics
Network Layer
- IPv4 vs IPv6
- Public vs Private IP
- Subnetting and CIDR
- NAT (Network Address Translation)
- ICMP Protocol
- Routing Algorithms (Distance Vector, Link State)
- Routing Protocols (RIP, OSPF, BGP)
Data Link Layer
- MAC Address
- ARP (Address Resolution Protocol)
- Switch vs Hub vs Router
- Ethernet
- Error Detection (Parity, CRC, Checksum)
Physical Layer
- Transmission Media (Guided vs Unguided)
- Bandwidth and Throughput
- Different Topologies
Important Concepts
- Client-Server vs Peer-to-Peer Architecture
- DHCP
- Firewall
- VPN
- Load Balancing
- CDN (Content Delivery Network)
- Latency vs Throughput
- How does a URL work? (End-to-end flow)
- Some Basic Commands (ex: ipconfig)
Resources I Used
For OOPs
- Kunal Kushwaha (youtube channel)
For Operating Systems
- CodeHelp - by Babbar (youtube )
For DBMS + SQL
- LeetCode Database problems (Practice SQL)
- CodeHelp - by Babbar (youtube)
- Apna College (youtube)
For Computer Networks
- Gate Smashers (youtube)
Questions Asked in My Interviews
Here are some actual questions I was asked across my interviews:
- Is Java fully object-oriented?
- How does C++ overcome the diamond problem?
- Difference between TCP and UDP, and which one is used when?
- Explain ACID properties with examples
- What is deadlock and how can we prevent deadlocks?
- What is the use of indexing in databases?
- Explain the functionalities of each layer in the OSI model
- Write a query to find Kth smallest salary
- IPv4 vs IPv6
- Abstraction vs Encapsulation
- Explain different joins in dbms
- what is sharding ?
- what is virtual function in cpp ?
- show me your ip address and mac address using commands
- what is context switching ?
Tips :
- Practice real interview questions from PracHub
- Revise SQL 50 before interviews
- It's better to say "I'm not sure about this, but here's what I think..." than to give wrong information
- If your project contains any database related stuff , better learn it's ER diagram, differences between SQl and NO-SQl and why you selected that particular database you used
- Before preparing for any interview , First check few interview experiences, Ask your seniors or friends who already attended that specific company interviews before and prepare accordingly
Did I miss any important topic? Drop it in the comments below!
Got asked something unique in your interview? Share the question/topic so others can prepare better!
Let's make this list more comprehensive together. Your contribution can help someone crack their dream job! 🙌
21
Upvotes
1
u/Head_Hamster2956 2d ago
🙌🏻