Skip to main content

                                             System Design




This blog can help you to Ace your next System design interview, as it contains some of the most asked components.

Some of the key concepts asked in the interview:

API Gateway: It acts as an intermediary between your application and a set of microservices, taking care of request routing, composition, protocol translation, authentication, rate limiting, and caching.

Content Delivery Network: CDN reduces latency and improves the availability of content for users by globally distributing servers that cache and serve content from multiple locations.

Data partitioning: It divides a large data set into smaller, more manageable pieces called partitions to improve the performance and scalability of a system by distributing the data across multiple servers.

Load Balancer: It distributes incoming traffic across multiple servers to prevent any single server from becoming a bottleneck, thus improving the availability, reliability, and scalability of a system.

Distributed system: Nodes can access and share the same file system, even if they are geographically dispersed, by using a distributed file system. Examples include HDFS, Amazon EFS, and Google's GCS.

Notification System: These are used to send alerts or notifications to users, such as emails, push notifications, or text messages.

Full-text search: Systems such as Elastic Search, Amazon Cloud Search, and Microsoft Azure Search use algorithms and data structures to quickly search and retrieve data from large collections of documents, web pages, or other data sources.

Meta Data Server: It is a component of a distributed file system that stores metadata about the files stored in the system. Metadata includes information such as the file name, size, creation date, and permissions. Like Hadoop NameNode, and GlusterFS Metadata.

Distributed Logging: It is a system design pattern used for capturing, storing, and analyzing log data generated by distributed systems. Distributed logging is essential for understanding and debugging complex systems consisting of multiple services running on different nodes.

Distributed tracing: It is a technique used in system design to track and monitor requests as they move through a complex distributed system. It provides visibility into how requests flow through the system, enabling developers and operations teams to identify and debug issues.

Coordination services: such as Apache ZooKeeper provide a centralized infrastructure for distributed applications. It helps to manage the configuration, synchronization, and communication of distributed processes, making it easier for developers to build complex distributed systems.

Comments

Popular posts from this blog

Nov 10, 2021

How to choose and write a Literature Review Paper Papers can be selected from Pubmed , Science Direct or  Google Scholar A paper can be selected from the topic you are looking for, check the years for publications, see the number of citations which helps to know the strength and amount of research has been done on a particular topic. After selection look for connections between different sources. Identify trends and patterns.  Modules of a Literature Review to include 1. Order the research items in Chronological order 2. Identify the theme from the paper. 3. Methodologies  4. Theoretical Structure 1. Introduction 2. Main body (includes all of your modules here) 3. Conclusion IEEE papers can be downloaded from here for free https://sci-hub.se/

Angular Interview Questions

 Interview Questions Angular - Javascript binding Framework (Bind view with Model), SPA using Routing, HTTP, DI. Difference between AngularJS and Angular.  Angular JS controller based and Angular is component based  Lazy loading in Angular. Can build bundles. Lazy loading :  Lazy loading is  a technique in Angular that allows you to load JavaScript components asynchronously when a specific route is activated . It improves the speed of the application load time by splitting the application into several bundles.  Directives in Angular 1. Structural (Add or remove element in the DOM) 2. Attribute (it changes the behavior) example hiding a button hide: true 3.Component (customize user control which has its own decorator) Typescript: Adds types to the javascript.(Strongly Typed) It provides the object oriented programming environment Angular CLI - Ready made angular template, Scaffold project Component - Templates - HTML, ngModel, pipes Databindings: how the vie...
REACT course   Destructing the Function Parameters An object passed to the method can be accessed using dot notation instead you could use de-structuring. Ex: function addUser({name, age, gender}) {} addUser({name: 'Daniel', age: 25, gender: Male}) Spread Operator -> To pullout the values from array and add as comma separated array. Spread operator on object pulls out user key values and add it to extendUser. Ex: const extendUser = {               isAdmin: true,               ...user          };  const hobbies = ["Sports", "cooking"]; for(const hobby of hobbies) {     console.log(hobby); } Anonymous functions - No names infront of the functions const timeout = () => {},   Pass function as a value setTimeout(hadleTimeout, 2000) Reference vs primitive values -> always produce new values for primitive type For arrays like objects mutate original va...