Web Development CS JS Python JavaScript Hacking ReactJs Python django Flask CSS Frontend Backend Full Stack Java Node Pdf Books
3.99K subscribers
878 photos
11 videos
995 files
354 links
One place for the latest in JavaScript, Python, Django, React, and more. Get top-notch tutorials, tips, and downloadable resources. Join us to elevate your tech skills!
Download Telegram
Top 50 system design interview terminologies

System design interview performance is essential to assess a candidate's ability to develop scalable and efficient systems. Familiarity with key terminologies is crucial for success in these interviews. Here are the top 50 system design interview terminologies, complete with definitions, examples, and additional resources for learning.

Scalability: The capacity of a system to handle increased load by adding resources, such as more servers to manage rising web traffic.

Load Balancer
: Dividing incoming network traffic among multiple servers to distribute the load evenly, illustrated by load balancing web traffic across multiple EC2 instances using AWS Elastic Load Balancer Service.

Microservices
: An architectural pattern that structures applications as a collection of loosely coupled services, like breaking down a monolithic application into independent services for user management, payments processing, and notifications.

CAP Theorem: A principle that in a distributed system, only two out of three guarantees can be achieved; Consistency, Availability, and Partition Tolerance must be balanced.

Sharding: Breaking a large database into smaller shards for better management, for instance, segmenting a user database based on geographic region.

Latency: The time it takes for data to travel between two points, notable in message delivery delay through a chat application.

Throughput: The amount of data a system processes in a given timeframe, such as requests processed by a web server in one second.

Cache: A component that stores data to speed up future requests, like implementing Redis caching for repeated database queries.

Content Delivery Network (CDN): A geographically dispersed server system that delivers web content based on user location, exemplified by using Cloudflare CDN for faster webpage loading.

REST API: A style of architectural design for building web services where data is accessed via HTTP requests, commonly seen in Social Media APIs.

GraphQL: A powerful querying language for data, more efficient and flexible than REST APIs, as demonstrated in querying user information with a single request.

ACID: A set of properties ensuring reliable database transaction processing; Atomicity, Consistency, Isolation, and Durability.

BASE: An alternative to ACID prioritizing Availability and Partition tolerance over strict Consistency, with the core principles of Basically Available, Soft state, and Eventually consistent systems.

NoSQL: A database type focused on storing and retrieving data modeled differently from traditional relational databases, like using MongoDB for document-based data stores.

SQL: The standard language for managing data in relational databases, involving writing queries to retrieve data.

Database Indexing: A technique to enable quick data searching and access in databases, such as creating an index on the User ID column for faster searches.

Replication: Copying and maintaining database objects across multiple databases in a distributed system to improve availability, demonstrated by replicating a database across geographical locations.

Failover: A backup operational mode where system components take over functions if the primary component fails, like automatic failovers in internet applications.

API Gateway
: A server that manages API requests, applies security policies, and forwards requests to back-end services, shown in the utilization of AWS API Gateway.

Service Mesh: An infrastructure layer facilitating service-to-service communication in microservices, commonly seen in the integration of Istio for managing interactions.

Serverless Computing: Cloud computing allowing dynamic resource allocation without server provisioning, as seen in running backend code with AWS Lambda.
👍1
System Design Interview: Design WhatsApp

In this system design interview scenario, we’re asked to design a messaging app similar to WhatsApp.

While a real interview might focus on one or more functionalities of the app, in this article, we’ll take a high-level overview of the system’s architecture, and then you could explore specific areas in more depth if needed.

Clarifying Functional Requirements
Clarifying Non-functional requirements
Estimation: Data Math
With 10 billion daily messages, we have roughly 10B messages / 86,400 seconds per day = 115,740 messages per second (MPS). Doubling within a year means we should plan for 115,740 * 2 = 231,480 MPS.

Assuming 200 bytes per message, daily storage is 10B messages * 200 bytes = 2 terabytes (TB). And yearly storage with growth is approximately 2TB * 365 days * 2 = 1.5 petabytes (PB).
It’s important to note that we calculated averages, but systems need to handle peak traffic, which could be significantly higher than the average MPS.

🔗 Read More
👍2
Data Structures Cheat Sheet

In this article, we will provide an introduction to data structures, offering examples of each structure and illustrating how they could be represented in Memgraph. Among these structures, graphs stand out as non-linear data structures composed of a finite set of nodes, connected by relationships. @javascript_resources
They are used to tackle real-world problems in areas such as networks, knowledge graphs or fraud detection cases.

🔗 Read More
⌨️ 7 different ways of looping in Javascript programming language presented with examples 🚀
image_2024-05-30_10-00-48.png
2.6 MB
For all Data Engineers out there, here is The State of Data Engineering 2024

Some of the highlights:

More and more, data observability tools are used not just to monitor data sources, but also the infrastructure, pipelines, and systems after data is collected.

Companies are now seeing data observability as essential for their AI projects. Gartner has called it a must-have for AI-ready data.

Like in 2023, Monte Carlo is leading in this area, with G2 naming them the #1 Data Observability Platform. Big organizations like Cisco, American Airlines, and NASDAQ use Monte Carlo to make their AI systems more reliable.