Alex Xu Profile picture
Co-Founder of ByteByteGo | Author of the bestselling book series: ‘System Design Interview’ | YouTube: https://t.co/9gPSJSrtPU
63 subscribers
Jun 10 6 tweets 2 min read
11 steps to go from Junior to Senior Developer Image 1 - Collaboration Tools
Software development is a social activity. Learn to use collaboration tools like Jira, Confluence, Slack, MS Teams, Zoom, etc.

2 - Programming Languages
Pick and master one or two programming languages. Choose from options like Java, Python, JavaScript, C#, Go, etc.

3 - API Development
Learn the ins and outs of API Development approaches such as REST, GraphQL, and gRPC.
Jul 1, 2023 9 tweets 3 min read
Twitter has enforced very strict rate limiting. Some people cannot even see their own tweets.

Rate limiting is a very important yet often overlooked topic. Let's use this opportunity to take a look at what it is and the most popular algorithms.

A thread.

#RateLimitExceeded What is rate limiting? Rate limiting controls the rate at which users or services can access a resource. Here are some examples:

- A user can send a message no more than 2 per second
- One can create a maximum of 10 accounts per day from the same IP address
May 29, 2023 7 tweets 4 min read
/1 Our system design newsletter just reached a new milestone: 400,000 subscribers. Here are the most popular ones: 👇

Subscribe here: blog.bytebytego.com Image /2 Understanding Database Types: blog.bytebytego.com/p/understandin… Image
May 19, 2023 4 tweets 2 min read
/1 Free Algorithm, Git, Python, SQL, Java Books (And Many More)

These books were compiled from Stack Overflow Documentation and can be helpful for quick reference. Image /2 The link to the books: books.goalkicker.com
May 18, 2023 9 tweets 3 min read
/1 What is the difference between “pull” and “push” payments?

The diagram below shows how the pull and push payments work. Image /2 🔹 When we swipe a credit/debit card at a merchant, it is a pull payment, where the money is sent from the cardholder to the merchant. The merchant pulls money from the cardholder’s account, and the cardholder approves the transaction.
May 15, 2023 10 tweets 3 min read
/1 Netflix Tech Stack - Databases Image /2 The Netflix Engineering team selects a variety of databases to empower streaming at scale.

Relational databases: Netflix chooses MySql for billing transactions, subscriptions, taxes, etc. They use CockroachDB to support a multi-region active-active architecture. Image
May 11, 2023 7 tweets 2 min read
/1 How to choose between RPC and RESTful?

Communication between different software systems can be established using either RPC (Remote Procedure Call) or RESTful (Representational State Transfer) protocols, which allow multiple systems to work together in distributed computing. Image /2 The two protocols differ mainly in their design philosophy. RPC enables calling remote procedures on a server as if they were local procedures, while RESTful applications are resource-based and interact with these resources via HTTP methods.
May 10, 2023 4 tweets 2 min read
/1 How much storage could one purchase with the price of a Tesla Model S?

Why do we do this? There's a trade-off between the price of a storage system and its access latency. Naturally, one might wonder how much storage could be obtained if one is willing to sacrifice latency. Image /2 To make this calculation more intriguing, let's use the price of a Tesla Model S as a benchmark.

🔹 Tesla Model S: $87,490 per car
🔹 L1 cache: $7 per megabyte
🔹 L2 cache: $7 per megabyte
🔹 RAM: $70 for 32G
🔹 SSD: $35 for 128G
🔹 HDD: $350 for 12T Image
May 8, 2023 13 tweets 3 min read
/1 Why did Amazon Prime Video monitoring move 𝐟𝐫𝐨𝐦 𝐬𝐞𝐫𝐯𝐞𝐫𝐥𝐞𝐬𝐬 𝐭𝐨 𝐦𝐨𝐧𝐨𝐥𝐢𝐭𝐡𝐢𝐜? How can it save 90% cost?

The diagram below shows the architecture comparison before and after the migration. Image /2 What is Amazon Prime Video Monitoring Service?

Prime Video service needs to monitor the quality of thousands of live streams. The monitoring tool automatically analyzes the streams in real-time and identifies quality issues like block corruption, video freeze, etc.
May 4, 2023 7 tweets 2 min read
/1 How do you become a full-stack developer?

The diagram shows a simplified possible full-stack tech stack.

Full stack development involves developing and managing all layers of a software application, from user interfaces to storage. Image /2 Full-stack developers need to have a broad range of technical skills including:

🔹 Front-end development - HTML, Javascript, CSS, popular frameworks (React, Vue).
May 1, 2023 4 tweets 2 min read
/1 10 Key Data Structures We Use Every Day

🔹 list: keep your Twitter feeds
🔹 stack: support undo/redo of the word editor
🔹 queue: keep printer jobs, or send user actions in-game
🔹 hash table: cashing systems
🔹 Array: math operations
🔹 heap: task scheduling Image /2
🔹 tree: keep the HTML document, or for AI decision
🔹 suffix tree: for searching string in a document
🔹 graph: for tracking friendship, or path finding
🔹 r-tree: for finding the nearest neighbor
🔹 vertex buffer: for sending data to GPU for rendering
Apr 27, 2023 7 tweets 2 min read
/1 How does Docker work?

A comparison of Docker-based and non-Docker-based development is shown below. Image /2
With Docker, we can develop, package, and run apps quickly:
🔹 The developers can write code locally and then build a Docker image and push it to a dev environment. In this way, the development work is shared within the team. The tests are run automatically in the dev env.
Apr 26, 2023 7 tweets 2 min read
/1 Netflix Tech Stack - Part 1 (CI/CD Pipeline)

Planing: Netflix Engineering uses JIRA for planning and Confluence for documentation.

Coding: Java is the primary programming language for the backend service, while other languages are used for different use cases. Image /2 Build: Gradle is mainly used for building, and Gradle plugins are built to support various use cases.

Packaging: Package and dependencies are packed into an Amazon Machine Image for release.

Testing: Testing emphasizes the production culture's focus on building chaos tools.
Apr 25, 2023 10 tweets 3 min read
/1 18 Key Design Patterns Every Developer Should Know Image /2 Patterns are reusable solutions to common design problems, resulting in a smoother, more efficient development process. They serve as blueprints for building better software structures. These are some of the most popular patterns:
Apr 20, 2023 4 tweets 2 min read
System Design Blueprint: The Ultimate Guide.

Hope this checklist is useful to guide your discussions during the interview process.

This briefly touches on:
- LB
- Gateway
- Communication
- CDN
- Database
- Cache
- MQ
- ID Generation
- Scalability
- Availability
- More Image High-resolution PDF link: bytebyte-go.s3.amazonaws.com/System+Design+…
Apr 19, 2023 4 tweets 2 min read
/1 Think you know everything about McDonald's? What about its event-driven architecture 😬?

Event-driven arch is highly important for large enterprises, as it standardizes event processing and improves data governance efficiency. Image /2 AWS region Image
Apr 18, 2023 5 tweets 2 min read
/1 How many API architecture styles do you know?

Architecture styles define how different components of an application programming interface (API) interact with one another. Image /2 As a result, they ensure efficiency, reliability, and ease of integration with other systems by providing astandard approach to designing and building APIs. Here are the most used styles:
Apr 17, 2023 11 tweets 3 min read
/1 Discover Amazon's innovative build system - Brazil. Image /2 Amazon's ownership model requires each team to manage its own repositories, which allows for more rapid innovation. Amazon has created a unique build system, known as Brazil, to enhance productivity and empower Amazon’s micro-repo driven collaboration.
Apr 13, 2023 9 tweets 3 min read
/1 Popular interview question: what happens when you type “ssh hostname”? Image /2 In the 1990s, Secure Shell was developed to provide a secure alternative to Telnet for remote system access and management. Using SSH is a great way to set up secure communication between client and server because it uses a secure protocol.
Apr 6, 2023 4 tweets 2 min read
Top 10 Architecture Characteristics / Non-Functional Requirements with Cheatsheet

Did we miss anything? If yes, Please help to enrich us by sharing your thoughts in the comments. {1/3} Image Written by @Zonito87. You can find the full article here: blog.devgenius.io/top-10-archite…

We're seeking valuable content, so if you'd like to contribute to our platform or have any previously published content you'd like us to share, please feel free to drop us a message. {2/3}
Apr 5, 2023 7 tweets 3 min read
TCP vs. UDP: 7 Differences You Should Know

1. Connection-oriented vs. connectionless
2. Three-way handshake vs. No handshake Image 3. Header size. Header (20 bytes) vs. (8 bytes)
4. Point-to-point vs. Unicast & Multicast & Broadcast Image