CS Theory
Operating systems, DBMS, computer networks and OOP — the four subjects every placement interview checks.
The core-subject round in one place. Each topic is written as interview-ready notes with diagrams, worked examples, the questions interviewers actually ask, and a short quiz to check yourself.
- Explain processes, scheduling, deadlocks and memory management with examples
- Design ER models, normalise tables and reason about transactions
- Walk through the OSI/TCP-IP stacks and what happens when you open a website
- Answer the classic OOP questions with C++ and Java code
Operating Systems
Processes, threads, CPU scheduling, synchronisation, deadlocks, memory and disks.
OS Introduction
An Operating System can be defined as an interface between user and hardware. It is responsible for the execution of all the processes, Resource Allocation, CPU management, File Management and many other tasks. The…
Process & Thread Management
A process is a program under execution. The value of the program counter (PC) indicates the address of the next instruction of the process being executed. Each process is represented by a Process Control Block (PCB).
Scheduling Algorithms
Types of CPU scheduling:
Synchronization & Deadlocks
The Critical Section is the portion of the code in the program where shared variables are accessed and/or updated.
Memory Management
Techniques allowing memory to be shared among multiple processes:
Disk Scheduling
Metrics used to evaluate disk performance:
Key OS Terms
Important concepts in OS design and operation:
Database Management Systems
ER modelling, keys, normalisation, transactions, indexing and SQL.
DBMS Introduction
A database is a collection of related data which represents some aspect of the real world. A database system is designed to be built and populated with data for a certain task.
ER Modeling
ER diagram or Entity Relationship diagram is a conceptual model that gives the graphical representation of the logical structure of the database.
Relational Constraints & Keys
Relational constraints are the restrictions imposed on the database contents and operations. They ensure the correctness of data in the database.
Functional Dependencies & Normalization
In any relation, a functional dependency α → β holds if- Two tuples having same value of attribute α also have same value for attribute β.
Transactions & Concurrency
Transaction is a single logical unit of work formed by a set of operations.
Relational Algebra
Relational Algebra is a procedural query language which takes a relation as an input and generates a relation as an output.
Indexing & Trees
Indexing is used to optimize the retrieval of data from a database.
SQL Commands & Syntax
SQL is categorized into several sub-languages based on functionality:
Computer Networks
Topologies, addressing, the OSI and TCP/IP models and the protocols you are asked about.
Basics & Topologies
A network is a set of devices that are connected with a physical media link. In a network, two or more nodes are connected by a physical link or two or more networks are connected by one or more nodes. A network is a…
Network Types
Its range limit is up to 10 meters. It is created for personal use. Generally, personal devices are connected to this network. For example computers, telephones, fax, printers, etc.
VPN & Addressing
VPN or the Virtual Private Network is a private WAN (Wide Area Network) built on the internet. It allows the creation of a secured tunnel (protected network) between different networks using the internet (public…
OSI Model
It is a network architecture model based on the ISO standards. It is called the OSI model as it deals with connecting the systems that are open for communication with other systems. The OSI model has seven layers.
TCP/IP & Web
It is a compressed version of the OSI model with only 4 layers. It was developed by the US Department of Defence (DoD) in the 1860s. The name of this model is based on 2 standard protocols used i.e. TCP (Transmission…
Protocols & Tools
A protocol is a set of rules which is used to govern all the aspects of information communication.
Key Concepts
A sequence of steps occurs to fetch and render the content.
Object-Oriented Programming
Classes, the four pillars, constructors, virtual functions and the usual interview traps.
OOP Introduction
Object-Oriented Programming is a methodology or paradigm to design a program using classes and objects. It simplifies the software development and maintenance by providing core concepts like inheritance, encapsulation,…
Inheritance & Encapsulation
Inheritance is a process in which one object acquires all the properties and behaviors of its parent object automatically. It enables reuse, extension, or modification of attributes and behaviors.
Abstraction & Polymorphism
Abstraction is the process of obtaining an abstract view, model or structure of a real life problem, and reducing its unnecessary details.
Constructors & Destructors
A special method invoked automatically at the time of object creation to initialize data members. It has the same name as the class.
Advanced OOP Concepts
A keyword that refers to the current instance of the class.
Namespaces & Access Control
A logical division of code designed to stop naming conflicts and define scope for identifiers.