Skip to the content.

Contributors Forks Stargazers Issues MIT License LinkedIn Portfolio

DATA STRUCTURES & ALGORITHMS

Resources and Solutions ^_^

I have compiled many useful links for Data Structures and Algorithms questions and their solutions.
I have also listed the Theory Subjects, which are often ignored by students but one must have a vast knowledge of them to help them in their interviews.
I have also included the Placement Ready Roadmap, from beginner level -> interview-ready candidate

Table of Contents


🏆 Roadmap to Dream Placement

1️⃣ 100+ Top Product Based Companies

People only chase after FAANG, because that’s what is hyped up but now there are a lot of companies which:

2️⃣ Language, Data Structures, CP

Language - Intent * Familiarity with Syntax * Familiarity with all keywords & Basic Concepts * main focus is on, that are you comfortable in writing code with your preferred language - Choices * C++ * References: - [cppreferences](https://en.cppreference.com/w/cpp) - [tutorialspoint](https://www.tutorialspoint.com/cplusplus/index.htm) - [cplusplus](http://www.cplusplus.com/reference/) - [Scaler Topics](https://www.scaler.com/topics/cpp/) * Time Required: - 1-2 weeks - 1-2 hrs/day * Java * References: - [Tutorialpoint](https://www.tutorialspoint.com/java/index.htm) - [GFG](https://www.geeksforgeeks.org/java/) - [Scaler](https://www.scaler.com/topics/java/) * Time Required: same as above * Python * References: - [Tutorialspoint](https://www.tutorialspoint.com/python/index.htm) - [w3schools](https://www.w3schools.com/python/) - [Scaler Topics](https://www.scaler.com/topics/python/) - [Wiingy](https://wiingy.com/learn/python/python-tutorial/) * Time Required: same as above * **Important Callout:** Some companies don't allow python as a choice in their online coding test, so prepare accordingly
Data Structure and Algorithms - Without this, No Software Engineering Interview, in a tech giant can be cracked - Follow the DSA Crack Sheet List given below - Time Required: - 2-3 months - 6-8 questions/day - 3-6 hrs/day
Projects * You need some projects to showcase your skills to your interviewer * Choices: - Mobile Development - [Web Development](https://www.scaler.com/courses/web-development/) - [Machine Learning](https://www.scaler.com/courses/machine-learning-course-training/) - Some other stuff (like Blockchain, IoT, etc.) * Time Required: 3 months (doing on weekends 6-8 hours)
Subjectve Topics * Do a Subsequent reading, revision any day you get time - Operating System - OOPS, Object Oriented Skills - DBMS, Databse Management - Computer Networking
Competitive Programming - CP needs time, it's not something that you can master in 2 months, We will get comfortable with online platforms and get a taste of competitive programming - Leetcode questions nearly 150-200 questions - Category: - Easy: 30% - Medium: 50% - Hard: 20% - If time allows then go for Codeforces div2 Level A, B and C question - Time Required: - 150-200 Questions - 2 months - 3-4 Ques/day
System Design - Tech Level: - System's overview like we will use this queue with DynamoDB and a scheduler with a justification of why we are using this DB, SQS, SNS, multithreading, etc. - for SDE-1 equivalent positions, this level is somewhat rare - Normal Understanding: - knowledge of dividing system & creating a rough DFD of system - knowledge of DB Schema creation - able to create problem-solving logic or not - Time Required: Just need some reading of articles/notes, can be pursued parallelly - Great Resources: - [Grokking](https://github.com/lei-hsia/grokking-system-design/blob/master/README.md) - [Primer](https://github.com/donnemartin/system-design-primer/blob/master/README.md)
Misc Stuff - [Aptitude/Reasoning](https://www.geeksforgeeks.org/quiz-corner-gq/) - Do some mock tests to gain confidence - Basic Programming MCQ - [C/C++/Java/Python fundamentals](https://www.geeksforgeeks.org/quiz-corner-gq/) - Print output type questions - Time/space complexity Questions - [SQL Queries](https://www.geeksforgeeks.org/dbms-gq/sql-gq/) - [Puzzles](https://www.geeksforgeeks.org/puzzles/) - [Always go through 50-60 interview experiences before interview](https://www.geeksforgeeks.org/company-interview-corner/)


🏆 DSA Practice Resources

Remember: Deliberate practice does not mean looking for answers and memorizing them. You won't go very far with that approach. The more you are able to solve a problem yourself without any reference to answers, the more you will improve.

🔰Leetcode Study Plan

🔰DSA Crack Sheet

Data Structures and Algorithms Cracks Sheet (created by @lovebabbar) contains the most necessary questions to learn and grasp about most common and important DS and Algos

🔰Striver SDE Sheet

Software Developer Engineer Sheet (created by @striver) contains asked during interviews by good product based companies.

The sheet is divided in 30 parts to be completed in a month to get ready for an interview at a good company

🔰Top Interview Preparation Questions

This is LeetCode’s official curated list of Top classic interview questions to help you land your dream job. Our top interview questions are divided into the following series:

🔰Companywise Interview Questions

It is containing the list of most asked company wise questions available on Leetcode.

Download Full PDFs

Every pdf file corresponds to a list of questions on leetcode for a specific company based on the leetcode company tags. The list of questions within each pdf is further sorted by their frequency, so the most popular question for a specific company is at the top.

🔰Leetcode Daily Challenges

This Challenge is beginner-friendly. It consists of daily problems given by Leetcode.
A problem is added here each day.

🔰Technical Interview Questions

The Ultimate Guide to Acing Your Technical Interview(2022): Review these commonly asked technical job interview questions and prepare your answer.

🏆 Theory Subjects

These must-do questions should be done after studying these subjects
If you don’t have much time left for interviews, then you can directly look at them

MUST-DO Questions for Interviews (DBMS, CN and OS)

Operating System: - What is the main purpose of an operating system? Discuss different types? - What is a socket, kernel and monolithic kernel ? - Difference between process and program and thread? Different types of process. - Define virtual memory, thrashing, threads. - What is RAID ? Different types. - What is a deadlock ? Different conditions to achieve a deadlock. - What is fragmentation? Types of fragmentation. - What is spooling ? - What is semaphore and mutex (Differences might be asked)? Define Binary semaphore. - Belady’s Anomaly - Starving and Aging in OS - Why does trashing occur? - What is paging and why do we need it? - Demand Paging, Segmentation - Real Time Operating System, types of RTOS. - Difference between main memory and secondary memory. - Dynamic Binding - FCFS Scheduling - SJF Scheduling - SRTF Scheduling - LRTF Scheduling - Priority Scheduling - Round Robin Scheduling - Producer Consumer Problem - Banker’s Algorithm - Explain Cache - Diff between direct mapping and associative mapping - Diff between multitasking and multiprocessing
DBMS: - What is DBMS ? Mention advantages.. - [What is Database?](https://www.scaler.com/topics/dbms/what-is-database/) - What is a database system? - What is RDBMS ? Properties.. - Types of database languages - [ACID properties](https://www.scaler.com/topics/dbms/acid-properties-in-dbms/) (VVVVV IMP) - Difference between vertical and horizontal scaling - What is sharding - [Keys in DBMS](https://www.scaler.com/topics/dbms/keys-in-dbms/) - Types of relationship - Data abstraction in DBMS, three levels of it - [Indexing in DBMS](https://www.scaler.com/topics/dbms/indexing-in-dbms/) - What is DDL (Data Definition Language) - What is DML (Data Manipulation Language) - [What is normalization](https://www.scaler.com/topics/dbms/normalization-in-dbms/) ? Types of them .. - [What is denormalization](https://www.scaler.com/topics/denormalization-in-dbms/) ? - [What is a functional dependency](https://www.scaler.com/topics/dbms/functional-dependency-in-dbms/) ? - E-R Model ? - Conflict Serializability in DBMS .. - Explain Normal forms in DBMS - What is CCP ? (Concurrency Control Protocols) - Entity, Entity Type, Entity Set, Weak Entity Set.. - What are SQL commands ? Types of them.. - [Nested Queries in SQL ?](https://www.scaler.com/topics/nested-sql-query/) - What is JOIN .. Explain types of JOINs - Inner and Outer Join - Practice SQL queries from LeetCode - Diff between 2 tier and 3 tier architecture - Diff between TRUNCATE and DELETE command - Difference between Intension and Extension in a DataBase - Difference between share lock and exclusive lock, definition of lock
Compute Networks: - Define network - What do you mean by network topology, and explain types of them - Define bandwidth, node and link ? - Explain TCP model .. - Layers of OSI model - Significance of Data Link Layer - Define gateway, difference between gateway and router .. - What does ping command do ? - What is DNS, DNS forwarder, NIC, ? - What is MAC address ? - What is IP address, private IP address, public IP address, APIPA ? - Difference between IPv4 and IPv6 - What is subnet ? - Firewalls - Different type of delays - 3 way handshaking - Server-side load balancer - RSA Algorithm - What is HTTP and HTTPS protocol ? - What is SMTP protocol ? - TCP and UDP protocol, prepare differences - What happens when you enter “google.com” (very very famous question) - Hub vs Switch - VPN, advantages and disadvantages of it - LAN


1️⃣ Operating System

Overview - [Quick Notes to Follow](https://mega.nz/file/pEpRUIQQ#ArZTGmmvMpygGuoOL6rokFesY7IJVTDJCPUQ_VsLR4U) - [What is an Operating System](https://www.scaler.com/topics/operating-system/what-is-operating-system/) - [Features of Operating System](https://www.interviewbit.com/blog/features-of-operating-system/) - Services provided by an Operating System - [Types of Os](https://www.geeksforgeeks.org/types-of-operating-systems/) - Batched OS - Time Sharing OS - Distributed OS - Network OS - Real Time OS - [RAM vs ROM](https://www.guru99.com/difference-between-rom-ram.html) - [SRAM & DRAM](https://www.guru99.com/sram-vs-dram-difference.html) - [PROM, EPROM & EEROM](https://pediaa.com/what-is-the-difference-between-prom-eprom-and-eeprom/) - [Virtualisation vs Containerisation](https://www.tutorialspoint.com/difference-between-virtualization-and-containerization) - [BIOS vs UEFI](https://www.howtogeek.com/56958/htg-explains-how-uefi-will-replace-the-bios/) - [MBR vs GPT](https://www.howtogeek.com/193669/whats-the-difference-between-gpt-and-mbr-when-partitioning-a-drive/) - Important Terms to Know - Compiler - Loader - Assembler - Interpreter - System Calls - Application Programming Interface - Kernel - Shell - JVM - [Booting](https://www.scaler.com/topics/operating-system/what-is-booting/) - [Multi-programming, Multi-processing, Multi-tasking & Multi-threading](https://www.geeksforgeeks.org/difference-between-multitasking-multithreading-and-multiprocessing/) - [Monolothic architecture vs MicroKernel arch](https://stackoverflow.com/questions/4537850/what-is-difference-between-monolithic-and-micro-kernel) - [Why Windows kernel is more monolithic & not microkernel?](https://micksmix.wordpress.com/2011/02/20/does-windows-have-a-microkernel-or-monolithic-kernel/) - [What happens when we turn on our computer?](https://www.geeksforgeeks.org/what-happens-when-we-turn-on-computer/)
Process Concept - [Process vs Program](https://www.geeksforgeeks.org/difference-between-program-and-process/) - [Different State of process](https://www.geeksforgeeks.org/states-of-a-process-in-operating-systems/) - Types of Process? - [PCB structure in detail](https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/) - [How does a process look like in memory?](https://www.tutorialspoint.com/how-does-a-process-look-like-in-memory) - [Process vs Threads](https://www.geeksforgeeks.org/difference-between-process-and-thread/) - Process Scheduling - [Introduction](https://www.tutorialspoint.com/operating_system/os_process_scheduling.htm) - [Inter Process Communication (IPS) in OS](https://www.scaler.com/topics/operating-system/inter-process-communication-in-os/) - Scheduling Queue - Job Queue - Ready Queue - Device Queue - Scheduler - Short-term Scheduler - Medium-term Scheduler - Long-term Scheduler - [CPU Bound Process vs I/O Bound Process](https://stackoverflow.com/questions/868568/what-do-the-terms-cpu-bound-and-i-o-bound-mean) - Best Performance system is which have a combination of CPU bound and I/O bound process - [What is Context Switch?](https://www.tutorialspoint.com/what-is-context-switching-in-operating-system) - IPC - [Introduction](https://www.geeksforgeeks.org/inter-process-communication-ipc/) - by Shared Memory - by Message Passing - [Define Pipe](https://www.tutorialspoint.com/inter_process_communication/inter_process_communication_pipes.htm) - [Maximum number of Zombie process a system can handle?](https://www.geeksforgeeks.org/maximum-number-zombie-process-system-can-handle/)
Thread Concepts - [What is a Thread?](https://www.studytonight.com/operating-system/multithreading) - [Benefits of Multi-threading?](https://www.geeksforgeeks.org/benefits-of-multithreading-in-operating-system/) - [Example of Multi-threading](https://www.quora.com/What-are-some-best-examples-of-multithreaded-applications) - [Models](https://www.studytonight.com/operating-system/multithreading) - Many to One - One to One - Many to Many - Best Model?? - [Optimal number of threads required for a process?](https://stackoverflow.com/questions/1718465/optimal-number-of-threads-per-core) - [Effect of Multiple cores on Multi-threading](https://blogs.grammatech.com/multi-core-processors-headache-for-multithreaded-code) - Thread vs Process - [Why C++ static variables are dangerous in real life OS?](https://stackoverflow.com/questions/7026507/why-are-static-variables-considered-evil)
Process Scheduling - Why do we need it? - CPU Burst Cycle - CPU Scheduler - Pre-Emptive Scheduling - Non PreEmptive - Advantages/Disadvantages - Dispatch - Role of Dispatcher - Dispatch Latency - Scheduling Criteria - CPU Utilisation - Throughput - TAT [Turn around Time] - Waiting Time - Response Time - Scheduling Algo - FCFS - SJFC - Priority-based - Round-Robin - MLQS - MLFQS - Which algo is used in real world OS - IMP terms to know - Starvation - Ageing - How to prevent Starvation?
Synchronisation - [Why Process Coordinatin/Sync is needed?](https://www.studytonight.com/operating-system/process-synchronization) - Data Inconsistency - Race Condition - [Physical Address Space vs Logical Address Space](https://www.geeksforgeeks.org/logical-and-physical-address-in-operating-system/) - Imp terms to know - [Mutual Exclusion](https://www.geeksforgeeks.org/mutual-exclusion-in-synchronization/) - [Critical Section](https://www.geeksforgeeks.org/g-fact-70/) - Critical Section Problem, peterson Solution - [Follow youtube video (knowledge gate)](https://www.youtube.com/watch?v=YwqexcfbucE&list=PLmXKhU9FNesSFvj6gASuWmQd23Ul5omtD) - Why pre-emptive kernel is better than non pre-emptive kernel? - Semaphore - Binary Semaphore/Mutex Locks - Counting Semaphore - Imp terms to know - Busy Waiting - Spin Lock - Example of busy waiting & spin lock - [How to implement Binary Semaphore in real world coding](https://www.geeksforgeeks.org/semaphores-in-process-synchronization/) - What is Deadlock & Starvation? - Bounded Buffer, Reader-Writer Problem & Dining Philosopher Problem - [Follow youtube video (knowledge gate)](https://www.youtube.com/watch?v=YwqexcfbucE&list=PLmXKhU9FNesSFvj6gASuWmQd23Ul5omtD)
Deadlocks - [What is Deadlock?](https://www.cs.rpi.edu/academics/courses/fall04/os/c10/) - [Effects of Deadlock?](https://stackoverflow.com/questions/41204406/what-is-effect-of-deadlock-on-other-processes-which-are-not-involve-in-deadlock/41713812) - Necessary Conditions - Mutual Exclusion - Hold & Wait - No Pre-emption - Circular Wait - [Methods for Deadlock handling](https://www.scaler.com/topics/dbms/deadlock-in-dbms/) - Prevention or Avoidance - Detection or Recovery - Banker's Algo - Ostrich Algo - Resource Per-emption - Ignorance
Memory-Management - Imp Points - CPU can direct access Registers and Main Memory - Protection of Memory space is handled by Hardware - OS loads Base and Limit registers - Mapping from Logical to Physical address is done by MMU[Memory Management Unit] - OS memory is categorised into - for the resident of OS - user processes - Logical vs Physical address space - What is Swapping - Ex-Priority based Scheduling - Done by Dispatcher - [Context Switch](https://www.scaler.com/topics/operating-system/context-switching-in-os/) time in swapping is very high - OS can't swap process that has pending input/output - Imp topics to cover - [Follow youtube videos](https://www.youtube.com/watch?v=YwqexcfbucE&list=PLmXKhU9FNesSFvj6gASuWmQd23Ul5omtD) - Memory Allocation - Contiguous Memory Allocation - Address Translation: Base and limit Register - Fixed Partitioning - Variable Partitioning - Variable Partitioning - dynamic storage allocation problem - Best Fit - Worst Fit - First Fit - Internal Fragmentation - External Fragmentation - Compaction - Non-Contiguous Allocation - Paging - Segmentation - Paging - Page table - Page no - Page offset - Page Table Limit Register (PTLR) - Segmentation - Segment Table - Base Register - Limit Register - [Why paging increases the context-switch time?](https://gateoverflow.in/178062/paging-os-galvin-book-page-no-332) - [Page vs Frame?](https://practice.geeksforgeeks.org/problems/page-and-frames) - [What is TLB miss?](https://stackoverflow.com/questions/37825859/cache-miss-a-tlb-miss-and-page-fault)
Virtual Memory - Goal of mem. Mgmt - To keep multiple processes in memory to allow multi-programming - [Virtual Memory](https://www.tutorialspoint.com/operating_system/os_virtual_memory.htm) - What? - Why? - Where it is physically located? - How it is implemented? - Demand Paging - Strategy to only load pages when they are needed - Paging + Swapping - Advantages - user can write program for extremely large virtual address space - [CPU utilisation & throughput] increases & [Response Time, Turn aruond time, TAT] remains same - Less I/O would be needed to load or swap user programs into memory, so each user program would run faster - Degree of Multiprogramming increases - allows file and memory to be shared by 2 or more processes through page sharing - If it is used carelessely, it can decrease performance - [Demand Paging](https://www.youtube.com/watch?v=Agi0u5Png_U) - paging + swapping - Lazy Swapper - pager - page fault - [Pure Demand Paging](https://practice.geeksforgeeks.org/problems/what-is-pure-demand-paging) - Swap Space - Section of hard disk used for implementing Virtual Mem. in swap - What is Page Fault? - Page Replacement Algo - FIFO - Optimal Page Replacement - LRU - What is Frame Rate - [Most Asked Questions (Thrashing)](https://practice.geeksforgeeks.org/problems/thrashing-in-os) - What? - Low CPU Utilisation->Degree of Multiprogramming increases->More Page Fault->Cycle Continues->Thrashing occurs->Page fault occurs tremendously->CPU utilisation decrease sharply - Cause of Thrashing? - Solution to Thrashing? - use priority based replacement algo - allocate the exact no. of frames that are actually required - Can we replace physical memory i.e, RAM with virtual memory? - Is performance of virtual memory and physical memory same?
Storage Management (optional) - [Resource 1](https://www.slideshare.net/DeepikaT13/storage-management-in-operating-system) - [Resource 2](https://www.slideshare.net/arjunk007/secondary-storage-structureoperating-system-concepts)
For College Exams


2️⃣ Database Management & Design

Tech Gaints: They usually ask only a bit about normalization, ACID properties(imp.) ans SQP queries & interview is done

Start Ups: They do focus on system design a lot ans in between questions on DBMS are frequently asked So, we need to be 100% prepared for it & best way is to follow the System Design Primer (resource given below) Questions always revolves around the type of DB, why this DB, why not that DB, how to scale, SQL vs NoSQL, your familiarity level with those DBs, etc

Resources - [System Design Primer (Database Section)](https://github.com/donnemartin/system-design-primer#database)
Introduction - [What is Database?](https://www.javatpoint.com/what-is-database) - [What is DBMS?](https://www.guru99.com/what-is-dbms.html) - [Why do we need DBMS?](https://www.geeksforgeeks.org/need-for-dbms/) - [File management system vs DBMS](https://www.javatpoint.com/dbms-vs-files-system) - [What is Database Admin & it's functions?](https://practice.geeksforgeeks.org/problems/what-are-the-functions-of-a-dba) - [Database Tier-2/Tier-3 Architecture](https://www.geeksforgeeks.org/difference-between-two-tier-and-three-tier-database-architecture/) - [Database Language](https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/) - DCL - DDL - DML - TCL - [Important Terms](https://whatisdbms.com/instances-schema-and-sub-schema-in-dbms-with-examples/) - Instance - Schema - Sub-Schema - How DBMS is implemented?) - [What is Data abstraction in DBMS?](https://afteracademy.com/blog/what-is-data-abstraction-in-dbms-and-what-are-its-three-levels) - [3 level of Data Abstraction](https://afteracademy.com/blog/what-is-data-abstraction-in-dbms-and-what-are-its-three-levels) - [What is Referectial Integrity](https://www.tutorialspoint.com/Referential-Integrity-Rule-in-RDBMS)
RDBMS - [What is RDBMS & how it is stored in memory?](https://www.quora.com/How-does-a-relational-DBMS-internally-store-its-data-In-what-type-of-data-structure-How-does-it-offer-the-rapid-retrieval-without-loading-the-entire-database-into-the-main-memory-I-have-heard-many-DBMS-use-B-trees) - What is meaning of word "Relational" in RDBMS? - [Degree of Relation](https://www.relationaldbdesign.com/database-design/module6/three-relationship-types.php) - 1:1 - 1:M - M:M - [Keys](https://www.geeksforgeeks.org/types-of-keys-in-relational-model-candidate-super-primary-alternate-and-foreign/) - Primary Key - Foreign Key - Candidate Key - Alternate Key - [Super Key](https://www.scaler.com/topics/super-key-in-dbms/) - Secondary Key - [Databse Schema](https://www.tutorialspoint.com/dbms/dbms_data_schemas.htm) - Physical Databse Schema - Logical Databse Schema - [Schema Diagrams](https://www.geeksforgeeks.org/mapping-from-er-model-to-relational-model/) - [Relational Model](https://www.scaler.com/topics/dbms/relational-model-in-dbms/) - ER Diagram - [Relational Operations](https://www.guru99.com/relational-algebra-dbms.html) - Select - Project - Union - Set Different - Cartesian Product - Rename - SQL - [What is SQL](https://www.w3schools.com/sql/sql_intro.asp) - [SQL vs MySQL](https://www.upgrad.com/blog/sql-vs-mysql/) - [Important Keywords](https://www.educba.com/sql-keywords/) - [CheatSheet: SQL](https://www.educba.com/cheat-sheet-sql/?source=leftnav) - [Composite key in SQL](https://www.educba.com/composite-key-in-sql/?source=leftnav) - [Join & it's types](https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/) - Inner Join - Left Join - Right Join - Full Join - Self Join - [What is View](https://www.geeksforgeeks.org/sql-views/) - [Updating a View](https://www.scaler.com/topics/sql/views-in-sql/) - [What is trigger](https://www.geeksforgeeks.org/sql-trigger-student-database/) - [Unique & Primary key in SQL](https://www.geeksforgeeks.org/difference-between-primary-key-and-unique-key/) - [What is SQL Injection?](https://www.w3schools.com/sql/sql_injection.asp) - [Delete vs Truncate](https://www.geeksforgeeks.org/difference-between-delete-and-truncate/) - [SQL Privileges](https://www.geeksforgeeks.org/mysql-grant-revoke-privileges/) - [What do you mean by Subquery](https://www.tutorialspoint.com/sql/sql-sub-queries.htm) - [What is difference between clustered and non-clustered indexes?](https://www.guru99.com/clustered-vs-non-clustered-index.html) - [What is a Cursor?](https://www.geeksforgeeks.org/what-is-cursor-in-sql/) - Query Emaples - Write an SQL query to get third maximum salary of an employee from a table named employee_table - Write a SQL query to find names of employee start with 'A' - How can you create an empty table from an existing table? - How to fetch common records from two tables? - How to fetch alternate records from a table? - What is command used to fetch first 5 characters of the string? - Which operator is used in query pattern matching? - [What is Index in DBMS & it's types](https://www.guru99.com/indexing-in-database.html)
Relational Database Design - [Features of Good Relationsl Design](https://www.microfocus.com/documentation/xdbc/win20/GUID-82D58958-278F-482C-B76F-AAF94A28DCCF.html) - [What is Functional Dependency?](https://www.guru99.com/dbms-functional-dependency.html) - Trivial - Non-Trivial - Fully-Functional Dependency - Partial - Transitive - [What is Normalisation?](https://www.guru99.com/database-normalization.html) - [Purpose of Normalisation?](https://medium.com/@bbrumm/what-is-the-purpose-of-database-normalisation-8070b2948d70) - [What are 3 anomalies resolved by normalisation?](https://dba.stackexchange.com/questions/194631/how-does-normalization-fix-the-three-types-of-update-anomalies) - Types of Normalisation? (Purpose and Steps to Convert?) - [1NF](https://www.geeksforgeeks.org/first-normal-form-1nf/) - [2NF](https://www.geeksforgeeks.org/second-normal-form-2nf/) - [3NF](https://www.geeksforgeeks.org/third-normal-form-3nf/) - [BCNF](https://www.geeksforgeeks.org/boyce-codd-normal-form-bcnf/)
Storage and File Structure - [Storage System](https://www.tutorialspoint.com/dbms/dbms_storage_system.htm) - [File Structure](https://www.tutorialspoint.com/dbms/dbms_file_structure.htm)
Transaction Management - [What is a transaction?](https://www.tutorialspoint.com/dbms/dbms_transaction.htm) - [State of Transaction](https://www.gatevidyalay.com/transaction-states-in-dbms/) - [IMP Terms](https://www.studytonight.com/dbms/tcl-command.php) - Commit - Rollback - Savepoint - [ACID Properties](https://www.geeksforgeeks.org/acid-properties-in-dbms/) - [How to Implement Atomicity in Trsactions?](https://ashutoshtripathi.com/2017/11/27/implementation-of-atomicity-and-durability-using-shadow-copy/) - Problem of Concurrent Transaction? - Lost Update - Dirty Read - Unpredictable Read - Incorrect Summary - Advantages - Reduced Wai Time - High Throughput - High resource utilisation - [Concurrent Trnsaction?](https://www.geeksforgeeks.org/concurrency-problems-in-dbms-transactions/) - Schedule - [Type](https://www.geeksforgeeks.org/types-of-schedules-in-dbms/) - Serial - Complete - Recoverable - Cascadeless - Strict - [What is Conflict Operation?](https://www.javatpoint.com/dbms-conflict-serializable-schedule) - How to find wether Schedules are conflicting or not - [Concurrency Control](https://www.tutorialspoint.com/dbms/dbms_concurrency_control.htm) - Purpose? - Shared Lock - Exclusive Lock - 2-Phase Locking PRotocal (important)
Deadlock - [What is Deadlock?](https://www.geeksforgeeks.org/deadlock-in-dbms/) - Examples? - Deadlock Detection - [How to prevent Deadlock](https://www.scaler.com/topics/operating-system/deadlock-prevention-in-operating-system/) (already in OS Topics) - Mutual Exclusion - Hold and Wait - No PreEmption - Circular Wait - [Other Techniques to prevent Deadlock](https://www.geeksforgeeks.org/introduction-to-timestamp-and-deadlock-prevention-schemes-in-dbms/) - use Timestamp - Wait-Die Scheme - Wound-Wait Scheme - Timeout Based Scheme - [What is Starvation and it's reasons?](https://www.geeksforgeeks.org/starvation-in-dbms/) - [Deadlock recovery](https://www.geeksforgeeks.org/recovery-from-deadlock-in-operating-system/) - Selection of Victim - Roll Back - Starvation
Must Do (for system Design Interview) - SQL vs NoSQL - [Resources to Follow](https://www.mongodb.com/nosql-explained/nosql-vs-sql) - [Which Modern Databse is Right for your use case?](https://www.xplenty.com/blog/which-database/) - [Scaling Patterns](https://www.freecodecamp.org/news/understanding-database-scaling-patterns/) - [CAP Theorem](https://www.analyticsvidhya.com/blog/2020/08/a-beginners-guide-to-cap-theorem-for-data-engineering/) - [Scaling RDBMS and NoSQL](https://betterprogramming.pub/scaling-sql-nosql-databases-1121b24506df) - [What DB to use](http://jlamere.github.io/databases/) - [In-memory Database](https://medium.com/@denisanikin/what-an-in-memory-database-is-and-how-it-persists-data-efficiently-f43868cff4c1) - [Graph Database](https://neo4j.com/developer/graph-database/) - [In-depth Indexing (optional)](https://www.freecodecamp.org/news/database-indexing-at-a-glance-bb50809d48bd/) - [Master Slave](https://www.datadriveninvestor.com/2020/05/28/the-master-slave-database-concept-for-beginners/) - [Master Slave vs Master Master](https://intellipaat.com/community/6605/master-master-vs-master-slave-database-architecture) - [ACID vs BASE](https://www.dataversity.net/acid-vs-base-the-shifting-ph-of-database-transaction-processing/)


3️⃣ Object Oriented Programming

What to expect from these resources,

Resources - [C++](https://www.javatpoint.com/cpp-oops-concepts) - [Java](https://www.javatpoint.com/java-oops-concepts) - [Python](https://www.scaler.com/topics/oops-concepts-in-python/) - [OOPs Concepts](https://www.scaler.com/topics/what-is-object-oriented-programming-oop/)
Overview - [What is Object Oriented Programming?](https://www.w3schools.com/cpp/cpp_oop.asp) - Object oriented programming is about creating objects that contain both data and functions - [How Object Oriented Programming is related to the real world?](https://fdhgjhjhukj.medium.com/object-oriented-programming-with-real-world-example-63f69f917d62) - Example - [Why to study OOPS?](https://www.c-sharpcorner.com/forums/why-we-need-oops-in-programming-language) - [Limitation of OOPS](https://resources.saylor.org/wwwresources/archived/site/wp-content/uploads/2013/02/CS101-2.1.2-AdvantagesDisadvantagesOfOOP-FINAL.pdf) - When we say that 'X' language is object oriented programming language, then what does we mean by that ? - Your Homework
Pillars of OOPS - [What is a Class?](https://www.guru99.com/java-oops-class-objects.html) - [Difference between Structure & Class](https://www.geeksforgeeks.org/structure-vs-class-in-cpp/) - [Similarity between Structure & Class](https://practice.geeksforgeeks.org/problems/what-are-similarities-between-a-class-and-a-structure) - When to use Structure over class? - [Access Modifiers](https://www.javatpoint.com/access-modifiers) - Public - Private - Protected - Friend - Protected Friend - [Member Function](https://www.studytonight.com/cpp/types-of-member-function.php) - Inside Class Function - Outside Class Function - [What is Constructor?](https://www.geeksforgeeks.org/constructors-c/) - Default Constructor - Parameterised Constructor - Copy Constructor - [What is Deep/Shallow Copy?](https://www.geeksforgeeks.org/difference-between-shallow-and-deep-copy-of-a-class/) - [Copy Constructor vs Assignment Operator](https://www.geeksforgeeks.org/copy-constructor-vs-assignment-operator-in-c/) - [Virtual Constructor](https://www.tutorialspoint.com/virtual-constructor-in-cplusplus) - [Virtual Copy Constructor](https://www.tutorialspoint.com/virtual-copy-constructor-in-cplusplus) - [How constructors are different from a normal member function?](https://iq.opengenus.org/constructor-cpp/) - [Can we have more than one constructor in a class?](https://stackoverflow.com/questions/37517522/why-would-you-need-to-use-more-than-one-constructor) - [Constructor Overloading](https://www.scaler.com/topics/constructor-overloading-in-java/) - [Destructor](https://www.geeksforgeeks.org/destructors-c/) - [Private Destructor](https://www.geeksforgeeks.org/private-destructor/) - [Virtual Destructor](https://www.geeksforgeeks.org/virtual-destructor/) - [Pure Virtual Destructor](https://www.geeksforgeeks.org/pure-virtual-destructor-c/) - [How destructors are different from a normal member function?](https://www.tutorialspoint.com/destructors-in-cplusplus) - [Can there be more than one destructor in a class?](https://stackoverflow.com/questions/21934810/why-a-class-has-only-one-destructor/21934951) - [When do we need to write a user-defined destructor?](https://stackoverflow.com/questions/22491174/when-do-we-need-to-define-destructors) - Can a destructor be virtual? - [When to use it?](https://stackoverflow.com/questions/461203/when-to-use-virtual-destructors) - What is an Object? - [Class vs Object](https://www.javatpoint.com/difference-between-object-and-class) - [Real world analogy of Class and Object?](https://www.c-sharpcorner.com/blogs/real-life-examples-of-object-oriented-programming1) - Important Keywords - [Static](https://www.youth4work.com/Talent/Core-Java/Forum/119567-wat-is-the-use-of-a-static-keyword?yFast=On) - [Virtual](https://www.codeproject.com/Questions/270054/why-virtual-keyword-is-used) - [Abstract](https://www.tutorialspoint.com/abstract-keyword-in-Java) - [Final](https://www.javatpoint.com/final-keyword) - [Explicit](https://www.geeksforgeeks.org/g-fact-93/) - [this](https://www.javatpoint.com/this-keyword) - [new](https://www.javatpoint.com/new-keyword-in-java) - [const](https://stackoverflow.com/questions/7428358/why-const-keyword-is-not-used-in-java) - [super](https://www.javatpoint.com/super-keyword) - Features of OOPS - [Polymorphism](https://www.scaler.com/topics/java/polymorphism-in-java/) - [What?](https://www.javatpoint.com/runtime-polymorphism-in-java) - [Need?](https://stackoverflow.com/questions/11064409/why-to-use-polymorphism) - Categorisation - [Function/Operator Overloading](https://www.javatpoint.com/cpp-overloading) - [Compiletime Polymorphism](https://www.dineshonjava.com/compile-time-polymorphism-in-java/) - [What function can't be overloaded in C++?](https://www.geeksforgeeks.org/function-overloading-in-c/) - [What are all operators that can't be overloaded?](https://www.tutorialspoint.com/operators-that-cannot-be-overloaded-in-cplusplus) - [Function Overriding](https://www.javatpoint.com/runtime-polymorphism-in-java) - Runtime Polymorphism - [Virtual Function](https://www.javatpoint.com/cpp-virtual-function) - [Virtual Class](https://www.geeksforgeeks.org/virtual-base-class-in-c/) - [Derived Class](https://www.techopedia.com/definition/3780/derived-class) - [Can virtual function be set private?](https://www.geeksforgeeks.org/can-virtual-functions-be-private-in-c/) - [Inline Virtual Function](https://stackoverflow.com/questions/733737/are-inline-virtual-functions-really-a-non-sense) - [Abstract Class](https://www.javatpoint.com/abstract-class-in-java) - [Pure Virtual Function](https://www.geeksforgeeks.org/pure-virtual-functions-and-abstract-classes/) - [Pure Virtual Destructor](https://stackoverflow.com/questions/1219607/why-do-we-need-a-pure-virtual-destructor-in-c) - [Inheritance](https://www.scaler.com/topics/java/inheritance-in-java/) - [What is Inheritance?](https://www.javatpoint.com/inheritance-in-java) - Sub Class - Super Class - Reusability - [Why/Need of Inheritance?](https://www.youth4work.com/Talent/Core-Java/Forum/121637-what-is-the-need-of-inheritance?yFast=On) - [Can Object Oriented Programming exist without Inheritance?](https://yourbasic.org/golang/inheritance-object-oriented/) - [Types of Inheritance](https://www.studytonight.com/cpp/types-of-inheritance.php) - Single Inheritance - Multiple Inheritance - Hierarchical Inheritance - Multilevel Inheritance - Hybrid/Virtual Inheritance - [Real Life Example of Multiple Inheritance](https://www.quora.com/What-are-the-real-world-examples-of-multiple-inheritance-in-C++) - [What are the limitations of Inheritance?](https://practice.geeksforgeeks.org/problems/what-are-advantages-and-disadvantages-of-using-inheritance) - [What is Sealed Modifier?](https://www.c-sharpcorner.com/interview-question/what-is-sealed-modifiers) - [How can we call the base method without creating an instance?](https://stackoverflow.com/questions/10173827/how-to-invoke-parent-class-method-without-creating-object-of-it) - [What is the difference between new and override?](https://stackoverflow.com/questions/6576206/what-is-the-difference-between-the-override-and-new-keywords-in-c) - [Why Java does not support Multiple Inheritance?](https://stackoverflow.com/questions/2515477/why-is-there-no-multiple-inheritance-in-java-but-implementing-multiple-interfac) - [What is diamond problem in case of multiple inheritance in Java?](https://www.tutorialspoint.com/what-is-diamond-problem-in-case-of-multiple-inheritance-in-java) - If a class A inherits from class B, then what all is inherited from Parent class? - Explore Every Combination - [Object Slicing](https://stackoverflow.com/questions/274626/what-is-object-slicing) - [How to hide base class methods/functions?](https://stackoverflow.com/questions/2589146/overload-and-hide-methods-in-java) - Friend Function/Class.Inline Function - Local Class/Nested Class.Simulating Final Class - [Does Overloading works with Inheritance?](https://www.geeksforgeeks.org/does-overloading-work-with-inheritance/) - [Difference between polymorphism and inheritance?](https://www.geeksforgeeks.org/difference-between-inheritance-and-polymorphism/) - [Generalisation vs Aggregation vs Composition](https://javapapers.com/oops/association-aggregation-composition-abstraction-generalization-realization-dependency/) - [Encapsulation](https://www.scaler.com/topics/java/encapsulation-in-java/) - [What?](https://www.javatpoint.com/encapsulation) - Combo of Data-hiding & Abstraction - [Advantages/Needs?](https://www.javatpoint.com/q/7216/use-of-encapsulation-in-java) - [How to achieve?](https://www.quora.com/How-do-we-achieve-encapsulation-in-java) - [Code/implementation Example](https://beginnersbook.com/2013/05/encapsulation-in-java/) - [Real World Example](https://www.sitesbay.com/java/java-encapsulation) - [Difference Between Abstraction and Encapsulation](https://www.scaler.com/topics/difference-between-encapsulation-and-abstraction/) - Abstraction - [What?](https://www.scaler.com/topics/java/abstraction-in-java/) - Implementation hiding - When to use? - [How to achieve?](https://www.javatpoint.com/how-to-achieve-abstraction-in-java) - C++ - Access Specifiers - [header Files](https://www.scaler.com/topics/cpp/cpp-header-files/) - Java - [Interfaces](https://www.scaler.com/topics/java/interface-in-java/) - [Abstract Classes](https://www.scaler.com/topics/java/abstract-class-in-java/) - [Encapsulation vs Abstraction](https://stackoverflow.com/questions/12072980/encapsulation-vs-abstraction-real-world-example) - Example - [What are the differences between interfaces and abstract classes?](https://www.javatpoint.com/difference-between-abstract-class-and-interface) - [Dynamic Binding](https://www.javatpoint.com/static-binding-and-dynamic-binding) - [Message Passing](https://www.panonit.com/blog/overview-message-passing-object-oriented-programming) - Object-oriented design interview questions - [Design a hash map](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/hash_table/hash_map.ipynb) - [Design a LRU cache](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/lru_cache/lru_cache.ipynb) - [Design a call center](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/call_center/call_center.ipynb) - [Design a deck of cards](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb) - [Design a parking lot](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/parking_lot/parking_lot.ipynb) - [Design an online chat](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/online_chat/online_chat.ipynb)
Misc - [C vs C++ vs Java](https://www.edureka.co/blog/difference-between-c-c-and-java) - [Difference between procedural programming and OOPs?](https://www.geeksforgeeks.org/differences-between-procedural-and-object-oriented-programming/) - [Why Java is not a Purely Object Oriented Language?](https://www.geeksforgeeks.org/java-not-purely-object-oriented-language/) - [Is an array a primitive type or an object in Java?](https://www.geeksforgeeks.org/array-primitive-type-object-java/) - [What is early and late binding?](https://stackoverflow.com/questions/10580/what-is-the-difference-between-early-and-late-binding) - [What is the default access modifier in a calss?](https://stackoverflow.com/questions/3499572/what-is-the-default-access-modifier-of-a-class) - [How many instances can be created for an abstract class?](https://www.quora.com/Can-we-create-instance-to-abstract-class) - [Define Garbage collection? How does it works](https://stackify.com/what-is-java-garbage-collection/) - [Define manipulators](https://www.geeksforgeeks.org/manipulators-in-c-with-examples/) - [What fo you mean by finally block?](https://www.javatpoint.com/finally-block-in-exception-handling) - [What is a final variable?](https://www.educative.io/edpresso/what-is-the-final-keyword-in-java) - [What is meant by an exception?](http://www.iitk.ac.in/esc101/05Aug/tutorial/essential/exceptions/definition.html) - [Is an error basically the same as an exception?](https://www.quora.com/What-is-the-difference-between-error-and-an-exception) - [Exception handling?](https://www.scaler.com/topics/java/exception-handling-in-java/) - [try catch](https://beginnersbook.com/2013/04/try-catch-in-java/) - [What is the method 'finalize' used for?](https://www.javatpoint.com/java-object-finalize-method) - [What is a token?](https://www.geeksforgeeks.org/cc-tokens/) - [What are the three arguments of a ternary operator?](https://www.freecodecamp.org/news/c-ternary-operator/) - [Describe the concept of enum](https://www.geeksforgeeks.org/enumeration-enum-c/) - [Basic understanding of Design Patterns](https://www.javatpoint.com/singleton-design-pattern-in-java) - Is it possible for a class to inherit the constructor of it's base class? - [When should I use a struct instead of a class?](https://stackoverflow.com/questions/85553/when-should-i-use-a-struct-instead-of-a-class) - [Cohesion vs Coupling](https://stackoverflow.com/questions/3085285/difference-between-cohesion-and-coupling)


4️⃣ Computer Networks

Overview - Basics - [What is Computer Networking](https://www.cisco.com/c/en_in/solutions/enterprise-networks/what-is-computer-networking.html) - Basic Terms - [Client](https://learntomato.flashrouters.com/what-is-a-client-what-is-a-server-what-is-a-host/) - [Server](https://learntomato.flashrouters.com/what-is-a-client-what-is-a-server-what-is-a-host/) - [Peer](https://softwareengineering.stackexchange.com/questions/274116/what-is-a-peer-in-computer-network) - [Host](https://learntomato.flashrouters.com/what-is-a-client-what-is-a-server-what-is-a-host/) - [Bandwidth](https://searchnetworking.techtarget.com/definition/bandwidth) - [Jitter](https://www.ringcentral.com/us/en/blog/what-is-jitter/) - [Packet](https://www.cloudflare.com/en-in/learning/network-layer/what-is-a-packet/) - [Frame](https://www.techopedia.com/definition/27175/frame-networking) - [Local Host](https://www.geeksforgeeks.org/what-is-local-host/) - [Bit Rate](https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:the-internet/xcae6f4a7ff015e7d:connecting-networks/a/bit-rate-bandwidth-and-latency) - [Noise](https://tutsmaster.org/what-is-noise-types-of-noises-in-network/) - [Attenuation](https://www.comptia.org/content/guides/what-is-attenuation#:~:text=Definition%20of%20Attenuation%20in%20Networking,to%20become%20distorted%20or%20indiscernible.&text=Radio%20signals) - [Distortion](https://www.computerhope.com/jargon/d/distorti.htm#:~:text=Updated%3A%2010%2F04%2F2017,cables%20such%20as%20network%20cables.) - What is Web? - [Difference between Web vs Internet](https://www.geeksforgeeks.org/whats-difference-internet-web/#:~:text=The%20Internet%20is%20a%20global,on%20top%20of%20that%20infrastructure.) - [Type of transmission Media](https://www.geeksforgeeks.org/types-transmission-media/) - [Computer Network Devices](https://www.certiology.com/computing/computer-networking/network-devices.html) - [Unicast, BroadCast and MultiCast](https://www.geeksforgeeks.org/difference-between-unicast-broadcast-and-multicast-in-computer-network/) - [Networking Topology](https://www.guru99.com/type-of-network-topology.html) - Mesh - Star - Bus - Ring - Tree - [LAN vs MAN vs WAN](https://www.geeksforgeeks.org/difference-between-lan-man-and-wan/)
OSI Model - [What](https://www.forcepoint.com/cyber-edu/osi-model) - Different Layers - PDNTSPA - Physicsl - Data Link - [What is Ethernet?](https://www.linksys.com/us/r/resource-center/basics/whats-ethernet/) - [Extranet vs Intranet vs Internet](https://www.geeksforgeeks.org/difference-between-internet-intranet-and-extranet/) - [Virtual ckt vs Datagram Network](https://www.geeksforgeeks.org/differences-between-virtual-circuits-and-datagram-networks/) - [Switch & it's types](https://www.geeksforgeeks.org/types-of-switches-in-computer-network/) - [What is Virtual LAN?](https://www.guru99.com/vlan-definition-types-advantages.html) - [Basics of Wifi](https://www.geeksforgeeks.org/basics-of-wi-fi/) - Network - [IP Addressing?](https://www.kaspersky.com/resource-center/definitions/what-is-an-ip-address) - [IPv4 vs IPv6](https://www.guru99.com/difference-ipv4-vs-ipv6.html) - [Supernet](https://www.geeksforgeeks.org/supernetting-in-network-layer/) - [Types of Routing](https://www.geeksforgeeks.org/types-of-routing/) - Static - Default - Dynamic - [Network Address Translation](https://www.geeksforgeeks.org/network-address-translation-nat/) - [WPA vs WPS](https://www.quora.com/What-is-the-difference-between-WPS-and-WPA-in-WiFi) - [LiFi vs WiFi](https://www.geeksforgeeks.org/difference-between-lifi-and-wifi/) - [What is ACL[AccessList]?](https://www.geeksforgeeks.org/access-lists-acl/) - [AAA in networking (imp)](https://www.geeksforgeeks.org/computer-network-aaa-authentication-authorization-and-accounting/) - [SONET](https://www.geeksforgeeks.org/synchronous-optical-network-sonet/) - Transport - [TCP Connection Setup](https://www.geeksforgeeks.org/tcp-connection-establishment/) - [3-way Handshake](https://www.geeksforgeeks.org/tcp-3-way-handshake-process/) - [UDP](https://www.geeksforgeeks.org/user-datagram-protocol-udp/) - [Peer2Peer Sharing](https://www.geeksforgeeks.org/p2ppeer-to-peer-file-sharing/) - [Congestion in Computer Networks](https://www.geeksforgeeks.org/congestion-control-in-computer-networks/) - [Error Control](https://www.geeksforgeeks.org/error-control-in-tcp/) - Session - Presentation - Application - [Protocols in Application Layer](https://www.geeksforgeeks.org/protocols-application-layer/) - [DNS](https://www.geeksforgeeks.org/domain-name-system-dns-in-application-layer/) - [Why does DNS uses UDP and not TCP?](https://www.geeksforgeeks.org/why-does-dns-use-udp-and-not-tcp/) - [Address Resolution in DNS](https://www.geeksforgeeks.org/address-resolution-in-dns-domain-name-server/) - [DNS Spoofing or DNS Cache poisoning](https://www.geeksforgeeks.org/dns-spoofing-or-dns-cache-poisoning/) - [Types of DNS Attacks](https://www.geeksforgeeks.org/types-of-dns-attacks-and-tactics-for-security/) - [Difference in http and https](https://www.geeksforgeeks.org/difference-between-http-and-https/) - [How DHCP server dynamically assigns IP addresses to a host](https://www.geeksforgeeks.org/how-dhcp-server-dynamically-assigns-ip-address-to-a-host/) - [How a Packet travels? (V.V.V.Imp)](https://www.practicalnetworking.net/series/packet-traveling/packet-traveling/)
Misc & System Design - [Common Networking Commands:](https://www.educba.com/networking-commands/) - ping - netstat - tracert - ipconfig - nslookup - route - pathping - netDiag - hostname - arp - [Difference in http and https](https://www.geeksforgeeks.org/difference-between-http-and-https/) - [What is API Gateway?](https://www.youtube.com/watch?v=hYgP0cBORVg) - [SSL/TLS](https://www.ssl.com/faqs/faq-what-is-ssl/) - [Reverse Proxy?](https://www.cloudflare.com/en-gb/learning/cdn/glossary/reverse-proxy/) - [Load Balancer](https://www.nginx.com/resources/glossary/load-balancing/) - [ARP, Address Resolution Protocol](https://www.practicalnetworking.net/series/arp/traditional-arp/) - [Horizontal vs Vertical Scaling](https://www.redswitches.com/blog/difference-between-horizontal-vertical-scaling/) - [Caching & How does a website is cached](https://www.cloudflare.com/en-in/learning/cdn/what-is-caching/) - [What is VIP in Computer Networks](https://learningnetwork.cisco.com/s/question/0D53i00000KsxEZ/what-is-a-vip-virtual-ip) - [REST API vs HTTP API](https://www.baeldung.com/cs/rest-vs-http) - [What is a container in computer networks](https://www.vmware.com/topics/glossary/content/container-networking#:~:text=Container%20Networking%20is%20an%20emerging,concept%20to%20a%20virtual%20machine.&text=All%20applications%20inside%20the%20container,available%20inside%20the%20container%20only.) - [Containerisation vs Virtualisation](https://www.burwood.com/blog-archive/containerization-vs-virtualization#:~:text=Virtualization%20enables%20you%20to%20run,single%20virtual%20machine%20or%20server.) - [Performance vs Scalability](https://www.dynatrace.com/news/blog/performance-vs-scalability/#:~:text=Performance%20refers%20to%20the%20capability,a%20certain%20amount%20of%20data.&text=Scalability%20referes%20to%20the%20characteristic,performance%20by%20adding%20additional%20ressources.) - [Latency vs Throughput](https://www.comparitech.com/net-admin/latency-vs-throughput/#:~:text=Latency%20indicates%20how%20long%20it,a%20specific%20period%20of%20time.) - [2G vs 3G vs 4G vs 5G](http://net-informations.com/q/diff/generations.html) - [How a VPN works?](https://www.kaspersky.com/resource-center/definitions/what-is-a-vpn) - [Gateway vs Router](https://www.geeksforgeeks.org/difference-between-router-and-gateway/) - [NIC and MAC Address](https://securityxploded.com/basics-nic-mac-and-arp-tutorial.php) - [Public vs Private IP Address](https://www.geeksforgeeks.org/difference-between-private-and-public-ip-addresses/) - [What is Multiplexing](https://www.javatpoint.com/multiplexing-in-computer-network) - [Modem vs Router](https://www.youtube.com/watch?v=1-gDIlH8-fs) - [How Bluetooth Works](https://www.tutorialspoint.com/wireless_communication/wireless_communication_bluetooth.htm) - [How Hotspot Works](https://www.netspotapp.com/hardware/wifi-hotspot/) - [How Email Works](https://www.tutorialspoint.com/internet_technologies/e_mail_working.htm#:~:text=Email%20working%20follows%20the%20client%20server%20approach.&text=Person%20A%20composes%20the%20messages,area%20designated%20for%20person%20B.) - [How file transfer works](https://www.geeksforgeeks.org/file-transfer-protocol-ftp-in-application-layer/) - [How ATM works](https://www.geeksforgeeks.org/asynchronous-transfer-mode-atm-in-computer-network/)
Security - [What is Firewall?](https://www.checkpoint.com/cyber-hub/network-security/what-is-firewall/) - [Types of Firewall](https://www.javatpoint.com/types-of-firewall) - [Possible attacks on Firewall](https://www.geeksforgeeks.org/types-of-firewall-and-possible-attacks/) - [Basic Network Attacks](https://www.geeksforgeeks.org/basic-network-attacks-in-computer-network/) - [Denial of Service and Prevention](https://www.geeksforgeeks.org/deniel-service-prevention/) - [Digital Signature & Certificates](https://www.geeksforgeeks.org/digital-signatures-certificates/) - Terms to know: - [Cryptography](https://www.csoonline.com/article/3583976/what-is-cryptography-how-algorithms-keep-information-secret-and-safe.html) - [Symmetrics Key](https://www.cryptomathic.com/news-events/blog/symmetric-key-encryption-why-where-and-how-its-used-in-banking#:~:text=Symmetric%20encryption%20is%20a%20type,used%20in%20the%20decryption%20process.) - [Assymetrics Key](https://cheapsslsecurity.com/blog/what-is-asymmetric-encryption-understand-with-simple-examples/) - [Hashing](https://www.thesslstore.com/blog/difference-encryption-hashing-salting/) - [Cryptanalysis](https://www.geeksforgeeks.org/cryptanalysis-and-types-of-attacks/) - AES/DES/RSA/MD5 hashing - [Active & Passive attack in Infosec](https://www.geeksforgeeks.org/active-and-passive-attacks-in-information-security/) - [Types of Email Attacks](https://www.geeksforgeeks.org/types-of-email-attacks/)


🏆 Other Notes and Resources

Some other helpful books

Urls for other Notes, and Reading Resources picked from different editorials.

View Resources/Articles - [📘 CPP Data Structures, Algorithms, and STL Sheet](/DataStructures-Algorithms/Resources/Articles/CPP-STL.html) - [📘 CPP Syntax Cheet Sheet](/DataStructures-Algorithms/Resources/Articles/CPP-SYNTAX.html) - [📘 GitHub Sheet](/DataStructures-Algorithms/Resources/Articles/GitCheatsheet.html) - [📘 Data Structures and Algorithms](https://www.scaler.com/topics/data-structures/)
Last Minute Notes - [📙 Operating System (apni kaksha notes)](https://drive.google.com/file/d/1B_kmekdghu-sO8-eXZ1kc4Xx_YtB8BPM/view) - [📙 Last Minute Notes – Operating Systems](https://www.geeksforgeeks.org/last-minute-notes-operating-systems/) - [📙 Last Minute Notes – Computer Networks](https://www.geeksforgeeks.org/last-minute-notes-computer-network/) - [📙 Last Minute Notes – DBMS](https://www.geeksforgeeks.org/last-minute-notes-dbms/) - [📙 Last Minute Notes – Algorithms](https://www.geeksforgeeks.org/lmns-algorithms-gq/) - [📙 Last Minute Notes – Data Structure](https://www.geeksforgeeks.org/lmns-gq/lmns-data-structure-gq/) - [📙 Last Minute Notes – Git](https://towardsdatascience.com/a-git-cheatsheet-that-all-coders-need-bf8ad4d91576)
Notes/Question/Explanations - [📒 Segment Tree | HackerEarth](https://www.hackerearth.com/practice/data-structures/advanced-data-structures/segment-trees/tutorial/) - [📕 Dynamic Programming | HackerEarth)](https://www.hackerearth.com/practice/algorithms/dynamic-programming/introduction-to-dynamic-programming-1/tutorial/) - [📒 Disjoint Set Union (Union Find) | HackerEarth](https://www.hackerearth.com/practice/notes/disjoint-set-union-union-find/) - [📕 Ternary Search | HackerEarth](https://www.hackerearth.com/practice/algorithms/searching/ternary-search/tutorial/) - [📒 Binary Search for Beginners | Leetcode](https://leetcode.com/discuss/general-discussion/691825/Binary-Search-for-Beginners-Problems-or-Patterns-or-Sample-solutions)


🏆 Sources

Other coding websites, hackerearth, interviewbit,gfg, leetcode, codechef, codeforces, CSES Problem Set, Scaler
Youtube channels, love babbar, take you forward,

🏆 Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

:handshake: Our Contributors

Click to view!

🏆 License

Distributed under the MIT License. See LICENSE for more information.

🏆 Contact

Project Link: https://github.com/sachuverma/DataStructures-Algorithms
Sachin Verma : sachinverma53121@gmail.com

Drop a ⭐ if you like my work😄