×
Home Discussions Write at Opengenus IQ
×
  • DSA Cheatsheet
  • HOME
  • Track your progress
  • Deep Learning (FREE)
  • Join our Internship 🎓
  • RANDOM
  • One Liner

System Design

A collection of 172 posts

System Design

Strategy Design Pattern in Software Design [Java]

The Strategy Pattern is a behavioral design pattern that falls under the Gang of Four's (GoF) design patterns. It provides a systematic way to define a family of algorithms, encapsulate each algorithm, and make them interchangeable.

Shivam Bhushan
System Design

Vector Databases: Long-term Memory of LLMs

In the rapidly evolving landscape of artificial intelligence, Large Language Models (LLMs) have become the cornerstone of various applications, from natural language processing to content generation.

Rohit Kulkarni Rohit Kulkarni
Software Engineering

Wirth's Law: Optimizing Software for Virtual Memory

In the ever-evolving landscape of computing, Wirth's Law serves as a thought-provoking observation on the intricate relationship between hardware and software performance.

Pranay Kalakonda
System Design

3 Types of Cache Misses: Compulsory, Capacity and Conflict Miss

In this article at OpenGenus.org, we will discuss the 3 types of cache misses- namely, compulsory, conflict and capacity misses.

Sridevi Shankar
System Design

Library Management System using Binary Search Tree (BST) [with source code]

In this article at OpenGenus.org, we will guide you through the creation of a Library Management System (LMS) using the Binary Search Tree (BST) data structure.

Shone Binu Shone Binu
Software Engineering

Write through and write back

Write-through and write-back are two working methods of buffer memory. Whenever the processor wants to write a word, it checks to see if the address where it wants to write the data exists in the cache.

Yun You Yun You
Algorithms

Rendezvous hashing

Rendezvous hashing was invented by David Thaler and Chinya Ravishankar at the University of Michigan in 1996.

Sidharth Mudgil
Software Engineering

Amdahl’s law

Amdahl's law was presented by a computer scientist named Gene Amdahl at the American Federation of Information processing Societies (AFIPS) Spring Joint Computer conference in 1967, From there it got its name.

Sidharth Mudgil
System Design

Pareto Principle in Computer Science and Software Development

In this article at OpenGenus, we'll explore how the Pareto Principle is applied in these fields, delve into the concept of the Pareto Distribution, and discuss its profound significance in the realm of software development.

Shone Binu Shone Binu
System Design

Canary and Rolling Deployments strategies explained

A deployment strategy is a way to change or upgrade an application with the aim of no perceptible downtime i.e. Rolling and Canary Deployment.

Hamza Mateen Hamza Mateen
System Design

System Design of an Incident Response Platform

In this article at OpenGenus, we'll discuss how to go about creating an Incident Response Platform, whose role is that of mitigating the impact of cybersecurity incidents.

Delia Georgiana Soare
System Design

System design of Code Deployment System

This article's topic is the system design of a code deployment system. The main task of such a product is to deploy code from development to production environments efficiently and reliably, as well as manage code changes when they happen.

Delia Georgiana Soare
System Design

System design of a Grocery System (Amazon Fresh / BigBasket/ JioMart)

This article aims to discuss how one would go about designing a large scope distributed system such as Amazon Fresh or BigBasket or Flipkart Grocery or JioMart or DMart. We will go over requirements, capacity estimates, database solutions, APIs and components.

Delia Georgiana Soare
System Design

Efficiency Paradox: Understanding Brooks' Law in Software Engineering

A reminder that simply increasing team size is not a guaranteed solution to accelerate the completion of a late software project. Effective project management, proper planning, and addressing underlying issues are often more effective approaches to mitigate delays.

Aadarsh Kumar Singh Aadarsh Kumar Singh
Software Engineering

Command Query Separation

Command Query Separation (CQS) is a design concept that emphasizes categorizing methods or functions into two clear groups: actions that do something (commands) and those that provide information (queries).

Shone Binu Shone Binu
System Design

Data Pipeline

In this article at OpenGenus, we will learn about the concept of Data Pipeline. Data pipelines route raw data from various sources to destination for analysis or visualization.

Anna the Trainee
System Design

Data Mart

In this article at OpenGenus, we will learn about the concept of a Data Mart. A data mart is a simplified or condensed version of a data warehouse. It has faster data retrieval and provides data required by a specific department or line of business within an organization.

Anna the Trainee
System Design

Law of Demeter

In this article at OpenGenus, we will be discussing an Object Oriented Programming principle called the Law of Demeter.

Delia Georgiana Soare
Software Engineering

SOLID Principles: The Foundation of Robust Object-Oriented Design

In this article at OpenGenus, we will dive deep into SOLID principles and illustrate them with practical code examples.

Mizbaul Haque Maruf Mizbaul Haque Maruf
System Design

Data Lake

In this article at OpenGenus, we will learn about the concept of Data Lake. A data lake is a centralized storage repository that holds big data from many sources in different formats.

Anna the Trainee
System Design

9 Different Types of Deployment Strategies

Deployment strategies are used in software development to successfully implement and upload newly updated versions of software. The type of strategy used depends on the complexity of the application, the main objective, the urgency of the update, and the level of expertise the team.

Jessica Janko
Algorithms

Israeli Queue

The Israeli Queue is also a variation for the priority queue because elements in it also have priority. However, the priority is determined by their "friendship" with a friend.

Yingzi Tang Yingzi Tang
System Design

Monolithic and Microservices

If you have been doing some cool projects or were working in an organization which is large in size, microservices would be up your sleeves. To the college grads and enthusiasts, In today's article in OpenGenus, we would go indepths of monolithic architecture and microservices architecture.

Sathya Sai Ram Prabhala
System Design

System Design of Train Reservation System

In this article at OpenGenus, we will discuss the system design of a train reservation system, covering the functional and non-functional requirements, projected number of users, database design, main class designs, and a prospective system design.

Dharmik Patel Dharmik Patel
System Design

Choking Algorithm in BitTorrent

One key element that makes BitTorrent powerful is that it has an algorithm for managing connections between peers. This algorithm is called Choke Algorithm.

Yingzi Tang Yingzi Tang
OpenGenus IQ © 2025 All rights reserved â„¢
Contact - Email: team@opengenus.org
Primary Address: JR Shinjuku Miraina Tower, Tokyo, Shinjuku 160-0022, JP
Office #2: Commercial Complex D4, Delhi, Delhi 110017, IN
Top Posts LinkedIn Twitter
Android App
Apply for Internship