CS Fundamentals
CS Fundamentals
➔ Process Management:
◆ Process States and Transitions
◆ Process Scheduling Algorithms (e.g., FCFS, SJF, Round Robin, etc.)
◆ Interprocess Communication (IPC) mechanisms (e.g., pipes, shared memory,
message queues)
◆ Threads and Thread Synchronization (mutex, semaphore, condition variable)
◆ Deadlock Detection and Prevention
➔ Memory Management:
◆ Virtual Memory and Paging
◆ Page Replacement Algorithms (e.g., LRU, FIFO)
◆ Segmentation and Paging Combined
◆ Memory Allocation Strategies (e.g., Best Fit, Worst Fit, First Fit)
➔ File Systems:
◆ File System Structure and Components
◆ File Operations (e.g., create, read, write, delete, update)
◆ Directory Implementation (e.g., single-level, two-level, hierarchical)
◆ File Allocation Methods (e.g., contiguous, linked, indexed)
➔ CPU Scheduling:
◆ Scheduling Algorithms (e.g., Priority Scheduling, Multi-level Queue Scheduling)
◆ CPU Burst Time and Turnaround Time Calculation
◆ Context Switching and Preemption
Database Management Systems (DBMS)
➔ Relational Database Concepts:
◆ Entity-Relationship Model (ER Model)
◆ Relational Algebra and SQL queries
◆ Relational Integrity Constraints (Primary Key, Foreign Key, Unique Key)
➔ Normalization:
◆ 1NF, 2NF, 3NF, BCNF, and their implications
◆ Functional Dependency and Decomposition
➔ Transaction Management:
◆ ACID Properties (Atomicity, Consistency, Isolation, Durability)
◆ Transaction States (Active, Partially Committed, Committed, Aborted)
◆ Concurrency Control (e.g., Locking, Two-phase locking)
➔ Indexing and Query Optimization:
◆ Index Structures (e.g., B-trees, Hash Indexes)
◆ Query Execution Plans and Cost Estimation
◆ Query Optimization Techniques (e.g., Join Strategies, Index Selection)
Networking
➔ OSI Model:
◆ Understand the seven layers of the OSI model and the functionality of each layer.
◆ Know the data encapsulation and decapsulation process at each layer.
➔ TCP/IP Protocol Suite:
◆ Familiarize yourself with the TCP/IP protocol stack and its key protocols such as
TCP, UDP, IP, ICMP, ARP, and DNS.
➔ IP Addressing and Subnetting:
◆ Learn about IPv4 and IPv6 addressing, including IP classes, CIDR notation, and
subnet masks.
◆ Practice subnetting to divide IP address spaces into smaller subnets.
➔ Routing and Switching:
◆ Understand the basics of routing and switching in computer networks.
◆ Learn about routing protocols such as RIP, OSPF, BGP, and EIGRP.
◆ Explore switching techniques like VLANs and Spanning Tree Protocol (STP).
➔ Network Devices and Technologies:
◆ Know the functionality and use cases of various network devices such as routers,
switches, hubs, and firewalls.
◆ Understand network technologies like NAT (Network Address Translation) and
VPN (Virtual Private Network).
➔ Network Security:
◆ Study common network security mechanisms, including firewalls, intrusion
detection and prevention systems (IDS/IPS), and access control lists (ACLs).
◆ Learn about encryption protocols like SSL/TLS and IPsec.
OOPs
➔ Classes and Objects:
◆ Instance Variables, Instance Methods, Constructors
◆ Instance Variables vs. Class Variables: Understand the difference between
variables that belong to instances (objects) and those that belong to the class
itself.
➔ Abstraction:
◆ Abstract Classes and Interfaces
➔ Encapsulation:
◆ Access Modifiers: Public, private, protected, and package-private (default)
access modifiers that control the visibility of class members.
◆ Getters and Setters
➔ Inheritance:
◆ Single Inheritance
◆ Multiple Inheritance
◆ Method Overriding
➔ Polymorphism
◆ Compile-time (Static) Polymorphism:
● Method Overloading: Defining multiple methods with the same name but
different parameter lists.
● Operator Overloading: Defining custom behaviors for operators when
used with objects.
◆ Runtime (Dynamic) Polymorphism:
● Method Overriding: Subclasses provide a specific implementation of a
method defined in their superclass.
➔ SOLID Principles:
◆ Single Responsibility Principle (SRP)
◆ Open/Closed Principle (OCP)
◆ Liskov Substitution Principle (LSP)
◆ Interface Segregation Principle (ISP)
◆ Dependency Inversion Principle (DIP)