Get the Linkedin stats of Alex Xu and many LinkedIn Influencers by Taplio.
open on linkedin
Follow me for system design & book-writing tips. Alex Xu is a software engineer and author. His book System Design Interview - An Insider’s Guide is one of Amazon's best-selling books in the “Distributed Systems & Computing” category. As of December 2020, his book is being translated into 7 different languages (Traditional Chinese, Russian, Japanese, Spanish, Polish, Simplified Chinese, and Korean). -------------- Newsletter: https://blog.bytebytego.com Twitter: https://twitter.com/alexxubyte YouTube: https://www.youtube.com/c/ByteByteGo
Check out Alex Xu's verified LinkedIn stats (last 30 days)
Use Taplio to search all-time best posts
Design Patterns Cheat Sheet - Part 1 and Part 2 The cheat sheet briefly explains each pattern and how to use it. What's included? - Factory - Builder - Prototype - Singleton - Chain of Responsibility - And many more! – Subscribe to our newsletter to receive both part 1 and part 2 of the cheat sheet link: https://lnkd.in/eTZkM7ph #systemdesign #coding #interviewtips .
The Open Source AI Stack You don’t need to spend a fortune to build an AI application. The best AI developer tools are open-source, and an excellent ecosystem is evolving that can make AI accessible to everyone. The key components of this open-source AI stack are as follows: 1 - Frontend To build beautiful AI UIs, frameworks like NextJS and Streamlit are extremely useful. Also, Vercel can help with deployment. 2 - Embeddings and RAG libraries Embedding models and RAG libraries like Nomic, JinaAI, Cognito, and LLMAware help developers build accurate search and RAG features. 3 - Backend and Model Access For backend development, developers can rely on frameworks like FastAPI, Langchain, and Netflix Metaflow. Options like Ollama and Huggingface are available for model access. 4 - Data and Retrieval For data storage and retrieval, several options like Postgres, Milvus, Weaviate, PGVector, and FAISS are available. 5 - Large-Language Models Based on performance benchmarks, open-source models like Llama, Mistral, Qwen, Phi, and Gemma are great alternatives to proprietary LLMs like GPT and Claude. Over to you: Which other tool will you add to the Open Source AI Stack? – Subscribe to our newsletter to download the 𝐡𝐢𝐠𝐡-𝐫𝐞𝐬𝐨𝐥𝐮𝐭𝐢𝐨𝐧 𝐜𝐡𝐞𝐚𝐭 𝐬𝐡𝐞𝐞𝐭. After signing up, find the download link on the success page: https://bit.ly/3tiMC1B #systemdesign #coding #interviewtips .
Top Architectural Styles. The method to download the high-resolution image is available at the end. In software development, architecture plays a crucial role in shaping the structure and behavior of software systems. It provides a blueprint for system design, detailing how components interact with each other to deliver specific functionality. They also offer solutions to common problems, saving time and effort and leading to more robust and maintainable systems. However, with the vast array of architectural styles and patterns available, it can take time to discern which approach best suits a particular project or system. Aims to shed light on these concepts, helping you make informed decisions in your architectural endeavors. To help you navigate the vast landscape of architectural styles and patterns, there is a cheat sheet that encapsulates all. This cheat sheet is a handy reference guide that you can use to quickly recall the main characteristics of each architectural style and pattern. – Subscribe to our newsletter to download the 𝐡𝐢𝐠𝐡 𝐫𝐞𝐬𝐨𝐥𝐮𝐭𝐢𝐨𝐧 𝐢𝐦𝐚𝐠𝐞. After signing up, find the download link on the success page: https://lnkd.in/etY9uBwn #systemdesign #coding #interviewtips .
12 MCP Servers You Can Use in 2025 MCP (Model Context Protocol) is an open standard that simplifies how AI models, particularly LLMs, interact with external data sources, tools, and services. An MCP server acts as a bridge between these AI models and external tools. Here are the top MCP servers: 1 - File System MCP Server Allows the LLM to directly access the local file system to read, write, and create directories. 2 - GitHub MCP Server Connects Claude to GitHub repos and allows file updates, code searching. 3 - Slack MCP Server MCP Server for Slack API, enabling Claude to interact with Slack workspaces. 4 - Google Maps MCP Server MCP Server for Google Maps API. 5 - Docker MCP Server Integrate with Docker to manage containers, images, volumes, and networks. 6 - Brave MCP Server Web and local search using Brave’s Search API. 7 - PostgreSQL MCP Server An MCP server that enables LLM to inspect database schemas and execute read-only queries. 8 - Google Drive MCP Server An MCP server that integrates with Google Drive to allow reading and searching over files. 9 - Redis MCP Server MCP Server that provides access to Redis databases. 10 - Notion MCP Server This project implements an MCP server for the Notion API. 11 - Stripe MCP Server MCP Server to interact with the Stripe API. 12 - Perplexity MCP Server An MCP Server that connects to Perplexity’s Sonar API for real-time search. Over to you: Which other MCP Server will you add to the list? – Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
How does HTTPS work? . . Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP.) HTTPS transmits encrypted data using Transport Layer Security (TLS.) If the data is hijacked online, all the hijacker gets is binary code. How is the data encrypted and decrypted? Step 1 - The client (browser) and the server establish a TCP connection. Step 2 - The client sends a “client hello” to the server. The message contains a set of necessary encryption algorithms (cipher suites) and the latest TLS version it can support. The server responds with a “server hello” so the browser knows whether it can support the algorithms and TLS version. The server then sends the SSL certificate to the client. The certificate contains the public key, host name, expiry dates, etc. The client validates the certificate. Step 3 - After validating the SSL certificate, the client generates a session key and encrypts it using the public key. The server receives the encrypted session key and decrypts it with the private key. Step 4 - Now that both the client and the server hold the same session key (symmetric encryption), the encrypted data is transmitted in a secure bi-directional channel. Why does HTTPS switch to symmetric encryption during data transmission? There are two main reasons: 1. Security: The asymmetric encryption goes only one way. This means that if the server tries to send the encrypted data back to the client, anyone can decrypt the data using the public key. 2. Server resources: The asymmetric encryption adds quite a lot of mathematical overhead. It is not suitable for data transmissions in long sessions. Over to you: how much performance overhead does HTTPS add, compared to HTTP? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
The 5 Pillars of API Design APIs are the backbone of modern systems. But it is also important to design them in the right way. Here are a few things that a developer should consider while designing APIs 1 - The Interface API Design is concerned with defining the inputs and outputs of an API. For example, defining how the CRUD operations may be exposed to the user or the client. 2 - API Paradigms APIs can be built following different paradigms, each with its own set of protocols and standards. Some options are REST, GraphQL, and gRPC. 3 - Relationships in API APIs often need to establish relationships between the various entities. For example, a user might have multiple orders related to their account. The API endpoints should reflect these relationships for a better client experience. 4 - Versioning When modifying API endpoints, proper versioning and supporting backward compatibility are important. 5 - Rate Limiting Rate limiting is used to control the number of requests a user can make to an API within a certain timeframe. This is crucial for maintaining the reliability and availability of the API. Over to you: Which other API Design principle will you add to the list? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
The 4 Types of SQL Joins Edit: The right join output should be 4. Updated diagram in the comment SQL joins combine rows from two or more tables based on a related column. Here are the different types of joins you can use: 1 - Inner Join Returns only the matching rows between both tables. It keeps common data only. 2 - Left Join Returns all rows from the left table and matching rows from the right table. If a row in the left table doesn’t have a match in the right table, the right table’s columns will contain NULL values in that row. 3 - Right Join Returns all rows from the right table and matching rows from the left table. If no matching record exists in the left table for a record in the right table, the columns from the left table in the result will contain NULL values. 4 - FULL OUTER JOIN Returns all rows from both tables, filling in NULL for missing matches. Over to you: Which SQL Join have you used the most? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
What is SSO (Single Sign-On)? Basically, Single Sign-On (SSO) is an authentication scheme. It allows a user to log in to different systems using a single ID. The diagram below illustrates how SSO works. Step 1: A user visits Gmail, or any email service. Gmail finds the user is not logged in and so redirects them to the SSO authentication server, which also finds the user is not logged in. As a result, the user is redirected to the SSO login page, where they enter their login credentials. Steps 2-3: The SSO authentication server validates the credentials, creates the global session for the user, and creates a token. Steps 4-7: Gmail validates the token in the SSO authentication server. The authentication server registers the Gmail system, and returns “valid.” Gmail returns the protected resource to the user. Step 8: From Gmail, the user navigates to another Google-owned website, for example, YouTube. Steps 9-10: YouTube finds the user is not logged in, and then requests authentication. The SSO authentication server finds the user is already logged in and returns the token. Step 11-14: YouTube validates the token in the SSO authentication server. The authentication server registers the YouTube system, and returns “valid.” YouTube returns the protected resource to the user. The process is complete and the user gets back access to their account. Over to you: Question 1: have you implemented SSO in your projects? What is the most difficult part? Question 2: what’s your favorite sign-in method and why? – Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
9 Clean Code Principles To Keep In Mind 1 - Meaningful Names: Name variables and functions to reveal their purpose, not just their value. 2 - One Function, One Responsibility: Functions should do one thing. 3 - Avoid Magic Numbers: Replace hard-code values with named constants to give them meaning. 4 - Use Descriptive Booleans: Boolean names should state a condition, not just its value. 5 - Keep Code DRY: Duplicate code means duplicate bugs. Try and reuse logic where it makes sense. 6 - Avoid Deep Nesting: Flatten your code flow to improve clarity and reduce cognitive load. 7 - Comment Why, Not What: Explain the intention behind your code, not the obvious mechanics. 8 - Limit Function Arguments: Too many parameters confuse. Group related data into objects. 9 - Code Should Be Self-Explanatory: Well-written code needs fewer comments because it reads like a story. Over to you: Which other clean code principle will you add to the list? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
The System Design Topic Map Effective system design is a game of trade-offs and requires a broad knowledge base to make the best decisions. This topic map categorizes the essential system design topics based on categories. 1 - Application Layer: It consists of the core concepts such as availability, scalability, reliability, and other NFRs. Also covers design and architectural topics such as OOP, DDD, Microservices, Clean Architecture, Modular Monoliths, and so on. 2 - Network & Communication: It covers communication protocols, service integration, messaging, real-time communication, and event-driven architecture. 3 - Data Layer: It covers the basics of database systems (schema design, indexing, SQL vs NoSQL, transactions, etc), the various types of databases, and the nuances of distributed databases (replication, sharding, leader election, etc.) 4 - Scalability & Reliability: This covers scalability strategies (horizontal, stateless, caching, partitioning, etc) and reliability strategies like load balancing, rate limiting, and so on. 5 - Security & Observability: It covers authentication and authorization techniques (OAuth 2, JWT, PASETO, Sessions, Cookies, RBAC, etc.) and security threats. The observability area deals with topics like monitoring, tracing, and logging. 6 - Infrastructure & Deployments: Deals with CI/CD pipelines, containerization and orchestration, serverless architecture, IaC, and disaster recovery techniques. Over to you: What else will you add to the list? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
Reverse proxy vs. API gateway vs. load balancer As modern websites and applications are like busy beehives, we use a variety of tools to manage the buzz. Here we'll explore three superheroes: Reverse Proxy, API Gateway, and Load Balancer. 🔹Reverse Proxy: change identity - Fetching data secretly, keeping servers hidden. - Perfect for shielding sensitive websites from cyber-attacks and prying eyes. 🔹API Gateway: postman - Delivers requests to the right services. - Ideal for bustling applications with numerous intercommunicating services. 🔹Load Balancer: traffic cop - Directs traffic evenly across servers, preventing bottlenecks - Essential for popular websites with heavy traffic and high demand. In a nutshell, choose a Reverse Proxy for stealth, an API Gateway for organized communications, and a Load Balancer for traffic control. Sometimes, it's wise to have all three - they make a super team that keeps your digital kingdom safe and efficient. -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
AI Agent versus MCP An AI agent is a software program that can interact with its environment, gather data, and use that data to achieve predetermined goals. AI agents can choose the best actions to perform to meet those goals. Key characteristics of AI agents are as follows: 1 - An agent can perform autonomous actions without constant human intervention. Also, they can have a human in the loop to maintain control. 2 - Agents have a memory to store individual preferences and allow for personalization. It can also store knowledge. An LLM can undertake information processing and decision-making functions. 3 - Agents must be able to perceive and process the information available from their environment. Model Context Protocol (MCP) is a new system introduced by Anthropic to make AI models more powerful. It is an open standard that allows AI models (like Claude) to connect to databases, APIs, file systems, and other tools without needing custom code for each new integration. MCP follows a client-server model with 3 key components: 1 - Host: AI applications like Claude 2 - MCP Client: Component inside an AI model (like Claude) that allows it to communicate with MCP servers 3 - MCP Server: Middleman that connects an AI model to an external system Over to you: Have you used AI Agents or MCP? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
How to Learn Cloud Computing? Cloud computing is a vast field with an ever-growing footprint. It can often get tricky for a new developer to understand where to start. Here’s a learning map: 1 - Cloud Computing Basics This includes topics such as “what is cloud computing,” its benefits, cloud models (public, private, hybrid, and multi), and a comparison of cloud vs. on-premise. 2 - Cloud Service Models Learn about cloud service models such as IaaS, PaaS, and SaaS. 3 - Cloud Providers Explore the various popular cloud platforms such as AWS, Azure, GCP, Oracle Cloud, IBM Cloud, etc. Also, learn how to choose a cloud provider. 4 - Key Cloud Services Learn the key cloud services related to Compute (EC2, Azure VM, Docker, Kubernetes, Lambda, etc), Storage (EBS, Azure Disk, S3, Azure Blob, EFS, etc.), and Networking (VPC, ELB, Azure LB, Cloudfront, and Azure CDN). 5 - Security & Compliance Learn about the critical security and compliance points related to identity, access management, encryption, data security, DDoS protection, and WAF. 6 - Cloud DevOps & Automation Learn Cloud DevOps and automation in specific areas such as CI/CD, IaC, and Monitoring. Over to you: What else will you add to the list for learning cloud computing? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
How to Learn Kubernetes? Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. 1 - Core Concepts and Architecture This includes topics like What is Kubernetes, Cluster, Node, Pod, Control Plane, and Worker Node. 2 - Workloads and Controllers This includes topics like Pod, ReplicaSet, Deployment, StatefulSet, Job, CronJob, Labels, Selectors, and Autoscalers (HPA, VPA, and Cluster Autoscaler). 3 - Networking and Service Management This involves topics like Cluster Networking Model, Services (ClusterIP, NodePort, LoadBalancer), Ingress, and Network Policies. 4 - Storage and Configuration This includes topics like Volumes, PersistentVolume, PersistentVolumeClaim, Storage Classes, ConfigMap, Secret, and Stateful Applications. 5 - Security & Access Control This involves topics like RBAC, Service Accounts, Secrets Management, Admission Controllers, Pod Security, TLS, and API Access. 6 - Tools, Observability & Ecosystem This includes topics like kubectl, YAML files, Helm Charts, CI/CD Integration, GitOps, Logging, Monitoring, and EKS. Over to you: What else will you add to the list for learning Kubernetes? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
Big O Notation 101: The Secret to Writing Efficient Algorithms From simple array operations to complex sorting algorithms, understanding the Big O Notation is critical for building high-performance software solutions. 1 - O(1) This is the constant time notation. The runtime remains steady regardless of input size. For example, accessing an element in an array by index and inserting/deleting an element in a hash table. 2 - O(n) Linear time notation. The runtime grows in direct proportion to the input size. For example, finding the max or min element in an unsorted array. 3 - O(log n) Logarithmic time notation. The runtime increases slowly as the input grows. For example, a binary search on a sorted array and operations on balanced binary search trees. 4 - O(n^2) Quadratic time notation. The runtime grows exponentially with input size. For example, simple sorting algorithms like bubble sort, insertion sort, and selection sort. 5 - O(n^3) Cubic time notation. The runtime escalates rapidly as the input size increases. For example, multiplying two dense matrices using the naive algorithm. 6 - O(n logn) Linearithmic time notation. This is a blend of linear and logarithmic growth. For example, efficient sorting algorithms like merge sort, quick sort, and heap sort 7 - O(2^n) Exponential time notation. The runtime doubles with each new input element. For example, recursive algorithms solve problems by dividing them into multiple subproblems. 8 - O(n!) Factorial time notation. Runtime skyrockets with input size. For example, permutation-generation problems. 9 - O(sqrt(n)) Square root time notation. Runtime increases relative to the input’s square root. For example, searching within a range such as the Sieve of Eratosthenes for finding all primes up to n. Over to you: What else will you add to better understand the Big O Notation? – Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
JWT Simply Explained JWT or JSON Web Tokens is an open standard for securely transmitting information between two parties. They are widely used for authentication and authorization. A JWT consists of three main components: 1 - Header Every JWT carries a header specifying the algorithms for signing the JWT. It’s written in JSON format. 2 - Payload The payload consists of the claims and the user data. There are different types of claims such as registered, public, and private claims. 3 - Signature The signature is what makes the JWT secure. It is created by taking the encoded header, encoded payload, secret key, and the algorithm and signing it. JWTs can be signed in two different ways: 1 - Symmetric Signatures It uses a single secret key for both signing the token and verifying it. The same key must be shared between the server that signs the JWT and the system that verifies it. 2 - Asymmetric Signatures In this case, a private key is used to sign the token, and a public key to verify it. The private key is kept secure on the server, while the public key can be distributed to anyone who needs to verify the token. Over to you: Do you use JWTs for authentication? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
24 Good Resources to Learn Software Architecture in 2025 The resources can be divided into different types such as: 1. Software Design Books Some books that can help are DDIA, System Design Volume 1 & 2, Clean Architecture, Domain-Driven Design, and Software Architecture: the Hard Parts 2. Tech Blogs and Newsletters Read technical blogs by companies like Netflix, Uber, Meta, and Airbnb. Also, the ByteByteGo newsletter provides insights into software design every week. 3. YouTube Channels and Architectural Resources YouTube channels like MIT Distributed Systems, Goto Conferences, and ByteByteGo can help with software architecture and system design. Azure Architecture Center and AWS Architecture Blog are other important resources. 4. WhitePapers For deeper insights, read whitepapers like Facebook Memcache Scaling, Cassandra, Amazon DynamoDB, Kafka, and Google File System. 5. Software Career Books A Software Architect also needs to develop holistic skills. Books about software career aspects such as Pragmatic Programmer, The Software Architect Elevator, The Software Engineer's Guidebook, and Philosophy of Software Design can help. Over to you: Which other resources will you add to the list? – Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
Linux file system explained. The Linux file system used to resemble an unorganized town where individuals constructed their houses wherever they pleased. However, in 1994, the Filesystem Hierarchy Standard (FHS) was introduced to bring order to the Linux file system. By implementing a standard like the FHS, software can ensure a consistent layout across various Linux distributions. Nonetheless, not all Linux distributions strictly adhere to this standard. They often incorporate their own unique elements or cater to specific requirements. To become proficient in this standard, you can begin by exploring. Utilize commands such as "cd" for navigation and "ls" for listing directory contents. Imagine the file system as a tree, starting from the root (/). With time, it will become second nature to you, transforming you into a skilled Linux administrator. Have fun exploring! Over to you: which directory did you use most frequently? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
Explaining JSON Web Token (JWT) with simple terms. Imagine you have a special box called a JWT. Inside this box, there are three parts: a header, a payload, and a signature. The header is like the label on the outside of the box. It tells us what type of box it is and how it's secured. It's usually written in a format called JSON, which is just a way to organize information using curly braces { } and colons : . The payload is like the actual message or information you want to send. It could be your name, age, or any other data you want to share. It's also written in JSON format, so it's easy to understand and work with. Now, the signature is what makes the JWT secure. It's like a special seal that only the sender knows how to create. The signature is created using a secret code, kind of like a password. This signature ensures that nobody can tamper with the contents of the JWT without the sender knowing about it. When you want to send the JWT to a server, you put the header, payload, and signature inside the box. Then you send it over to the server. The server can easily read the header and payload to understand who you are and what you want to do. Over to you: When should we use JWT for authentication? What are some other authentication methods? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
Visualizing a SQL query SQL statements are executed by the database system in several steps, including: - Parsing the SQL statement and checking its validity - Transforming the SQL into an internal representation, such as relational algebra - Optimizing the internal representation and creating an execution plan that utilizes index information - Executing the plan and returning the results -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://bit.ly/bbg-social #systemdesign #coding #interviewtips .
Content Inspiration, AI, scheduling, automation, analytics, CRM.
Get all of that and more in Taplio.
Try Taplio for free
Sabeeka Ashraf
@sabeekaashraf
20k
Followers
Amelia Sordell 🔥
@ameliasordell
228k
Followers
Ash Rathod
@ashrathod
73k
Followers
Richard Moore
@richardjamesmoore
105k
Followers
Matt Gray
@mattgray1
1m
Followers
Sam G. Winsbury
@sam-g-winsbury
49k
Followers
Daniel Murray
@daniel-murray-marketing
150k
Followers
Shlomo Genchin
@shlomogenchin
49k
Followers
Vaibhav Sisinty ↗️
@vaibhavsisinty
451k
Followers
Austin Belcak
@abelcak
1m
Followers
Izzy Prior
@izzyprior
82k
Followers
Wes Kao
@weskao
107k
Followers
Justin Welsh
@justinwelsh
1m
Followers
Sahil Bloom
@sahilbloom
1m
Followers
Luke Matthews
@lukematthws
188k
Followers
Tibo Louis-Lucas
@thibaultll
6k
Followers