How to design a flash sale system that handles millions of buyers, prevents overselling, and blocks duplicate orders with Redis, queues, and idempotency keys.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. - donnemartin/system-design-primer
How to design a flash sale system that handles millions of buyers, prevents overselling, and blocks duplicate orders with Redis, queues, and idempotency keys.
An article course on how to write and deploy deep learning systems in production. python code optimization, cloud hosting and system design
Description of spaced repetition and active recall methodologies, which help me memorise everything with a high retention rate, thoroughly explaining my way of using the Spaced Repetition System (Anki)
Practical information and guidelines in how to prepare, and pass, the software engineering interviews in Big Tech companies.
A list of the basics of system design and the necessary informations to understand them and why they exist.
My definition of success for the start of the decade is a complex answer that deserves my utmost attention. Why is it a complex topic? It’s composed of many layers that my life revolves around. Ste…
How to Prepare for the Silicon Valley Interview - Part 2 written January 10, 2019 in hiring, interview, interview-series, interviewing, job, silicon …
I’ve recently noticed that, of all the interview preparation materials out there, there’s not much guidance on how to excel in open-ended, “no code” technical interviews. Usually, when interviewing candidates for senior-level roles, a common theme is software architecture at scale. There are not many companies that actually run software at the scale of, say, Netflix, Amazon, Shopify, GitHub, and so on. How do you prepare to answer questions like this, if you’ve never worked on a similar-scale project?
Interviewing is stressful enough, but interviewing while doing your day job?1 Yikes! Well, I just did it,2 and I’m here to tell you that it’s totally …
The following is a post which I found on the Blind app. It covers all the preparation and experiences of someone who received multiple job offers from the best tech companies, including multiple of…
Resources to prepare an SRE interview
Programming Languages Links Hello world in every Programming Language General You are not Google Production Launch Checklist Things I Learnt The Hard Way in 30 Years of Software Development A collection of (mostly) technical things every software developer should know Startup idea Checklist System Design Primer Developer Roadmaps Why our team cancelled our move to microservices How Does HTTPS Work? RSA Encryption Explained How do you cut a monolith in half? Containers Awesome Collection of Docker Compose Recipes Podman Desktop - Alternative to Docker Desktop
Perspectives Section covering Business, project/programming perspectives Laws of Frugal Architecture Cognitive load is all that matters Stick to boring Architecture Your tech stack is not the product Architecture anti-patterns Don’t call yourself a programmer Grasp Responsibility Patterns Things every programmer should know Guiding principles after 20 years of programming Programmers: Before you turn 40, get a plan B The New Business of AI (and How It’s Different From Traditional Software) Hype driven Development Momentum vs Urgency in Software Project Management Data Science: Reality Doesn’t Meet Expectations Quantum computing for the very curious How to Speak (MIT) How Software Groups Rot: Legacy of the Expert Beginner What questions should systems architects ask before creating anything Basecamp for Personal Project Management Marketing for Engineers - Resources Approach to Exception Handling PRESALES (SE) LEADER? 10 THINGS YOU MUST BE DOING The Tail at Scale Long tail (99th percentile) latency Models for integrating data science teams within organizations Techniques and numbers for estimating system’s performance from first-principles The Amazon Builder’s library System Design Primer Telemetry Collection - Corelation in Latency Analysis Advice to Young kids by Stephen O’Grady Distributed Systems Reading List Awesome cold showers Behaviors to avoid in Software Architecture Role App Maintenance Cost Can Be Three Times Higher than Development Cost Foundational papers on distributed systems Dont end week with nothing Awesome Scalability - Collection of Articles around Performance, Scalability etc. Ego is the Enemy How to remember what you read? First Principles You are not Google 42 Lessons Learned in building production database Data structures implemented in JavaScript - I Data driven enterprises of 2025 Some Benefits of Simple Software Architecture Determining how Architectural decisions impact business via Value Use just one big Server When are Microservices a b
This is my interview preparation plan for a software engineering role. I share a summary of my preparation, a plan of problems to tackle for coding interviews, the topics to study for system design interviews, and the questions to prepare for the behavioral section.
Earlier this year, I started thinking about if it might be time for me to make a career change. I had been at my current company, a growth mode startup, for almost two and a half years, and the company had changed a lot during that time. My life had also changed a lot during that time. And any experienced developer (especially here in Colorado) gets a lot of messages from recruiters about jobs on a regular basis. I was starting to consider the opportunities out there, and I came to the realization that I wanted to try for a software engineering position at a large, mega cap tech company. You know, a FAANG (Facebook, Amazon, Apple, Netflix, Google) job.
This short post is written for recent graduates, current students and code newbies looking for a job as a Software Engineer in the Big N companies like Google, Facebook, Amazon, Netflix etc. I have…
I've been through a lot of coding interviews in my life. I've had four jobs, and thus have been through the job search process four times. Each time I took t...
My experience interviewing for a few Senior ML and MLOps roles. You will learn what are the common steps, quirks, and tips how to nail an interview for senior ML engineer positions.
1. create a unique paste ID 2. encode the paste ID 3. persist the paste ID in SQL store and paste in the object storage
1. create a unique short URL 2. encode the short URL 3. persist short URL 4. redirect the short URL to a long URL
popular consistency models in distributed systems
back of the envelope calculation is commonly used to evaluate different architectural designs
Bruno's personal list of recommended books about software engineering and iOS development.