RESOURCES

Master List of Study Resources

Feb 16, 2024

RESOURCES

Master List of Study Resources

Feb 16, 2024

RESOURCES

Master List of Study Resources

Feb 16, 2024

RESOURCES

Master List of Study Resources

Feb 16, 2024

Master List of Study Resources

The Leopard Network has a master list of study resources that our community has put together. We've got all sorts of materials to match your learning style and interests, from textbooks to quick video tutorials. With our help, you'll be acing those interviews in no time.

📚Books

  • System Design Interview - An Insider's Guide by Alex Xu (Suggested by Frances Jurek): Offers a dependable method and knowledge for handling various system design queries. This book outlines a step-by-step process for solving these questions and uses real-life examples to demonstrate this approach, along with clear steps to follow.

  • The Staff Engineer's Path by Tanya Reilly (Suggested by Daniela Carey): a comprehensive guide aimed at software engineers aspiring to reach the staff engineer level, a pivotal role in many tech organizations that focuses on technical leadership without necessarily stepping into formal management. This book provides insights into the skills, strategies, and mindset required to successfully navigate the complexities and expectations of the staff engineer role. It covers topics such as technical decision-making, influencing organizational change, mentoring peers, and navigating the career ladder in the tech industry.

  • Security Engineering — Third Edition (Suggested by Jeri Sommers):

  • Introduction to Networking (Melissa Moy):

  • A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra) (Suggested by: Shannon C.):

  • Multi-Layer Data-Plane Telemetry Collection Design for Systems With Multiple Observers (Suggested by Miriam Hayes): 

🔗Links:

  • Frontend System Design Interview Overview:  Provides a comprehensive guide for candidates preparing for front-end system design interviews.

  • What Is Ssr?: Discuss the importance of Server Side Rendering (SSR), especially for React and other frameworks, focusing on benefits like improved first meaningful paint, better SEO, and graceful degradation without JavaScript. It highlights the complexity SSR adds, requiring configuration for common functionalities like data fetching, routing, internationalization, hot module replacement, and state management on the server side.

  • Coding Interview Study Plan: Provides a structured approach for preparing for coding interviews, based on the time available before the interview. It details a 3-month preparation timeline, covering essential topics and practice questions. 

  • Graph Cheatsheet for Coding Interviews: A comprehensive guide aimed at coding interview preparation, focusing on graph algorithms. It covers essential concepts like graph representations, search algorithms (BFS and DFS), and time complexity. The cheatsheet also includes tips for handling common interview challenges, corner cases, and provides a list of essential and recommended practice questions.

  • A Senior Engineer's Guide to the System Design Interview: Provides an in-depth approach to preparing for system design interviews, tailored for backend-leaning engineers at mid to senior levels. It covers mastering key concepts, a three-step framework for tackling any system design question, and practical examples of designing systems from scratch. 

  • System Design Interview Questions: A resource tailored for software engineers preparing for technical interviews. This platform offers an extensive range of system design questions that cover various aspects and challenges one might face during a technical interview, focusing on designing scalable systems, understanding key system components, and addressing common architectural problems.

  • 16 System Design Concepts I Wish I Knew Before the Interview: Offers valuable insights into crucial system design principles and practices that the author learned through experience. It aims to prepare readers for technical interviews by sharing lessons on scalability, reliability, availability, efficiency, and more, providing a foundation for approaching system design questions effectively.

  • Peacock Case Study: Illustrates how Peacock achieved a successful launch with AWS solutions. Launching in July 2020, Peacock quickly gained over 26 million sign-ups by December 2020, despite challenges like the COVID-19 pandemic. The case study details the strategic use of AWS for building a scalable, reliable cloud-based streaming platform capable of handling both on-demand video and live broadcasts, emphasizing the collaborative efforts and technological strategies that contributed to Peacock's flawless launch.

  • My System Design Template - Leetcode: Presents a structured approach to tackling system design interviews. The author shares a personal template that outlines key steps and considerations, aiming to guide readers through the process of designing a system during an interview. This resource is beneficial for candidates looking to structure their thoughts and cover essential aspects of system design systematically. 

  • Back of envelope calculations — Cheat Sheet: A guide aimed at improving estimation skills, crucial for problem-solving and technical interviews. It provides strategies and examples for making quick, accurate calculations by simplifying complex problems. This cheat sheet is particularly useful for professionals and students in fields requiring analytical skills to estimate solutions efficiently.

  • Graph cheatsheet for coding interviews: Covers fundamental graph types, traversal techniques like BFS and DFS, and key algorithms for solving common graph-related problems. This resource is designed to help candidates efficiently prepare for technical interviews by providing a solid foundation in graph theory and its applications.

  • Coding interview cheatsheet: Best practices before, during and after: Provides a coding interview study plan that outlines a strategic approach to preparing for coding interviews, tailored to the time available before the interview. It emphasizes mastering core algorithms, practicing coding problems, and understanding system design principles. The plan is designed to optimize preparation, whether you have months or just a few weeks, by focusing on essential topics and effective study habits.

  • Coding interview study plan - what to study and practice based on time left: A study plan designed to help candidates systematically prepare for coding interviews, offering a structured approach based on the amount of time available for study. It includes prioritized topics, key algorithms, and a selection of coding problems to practice. This resource aims to enhance understanding and problem-solving skills, making it ideal for those seeking to improve their chances in technical interviews.

  • system design interview framework (Suggested by Noemie Lachman): Offers comprehensive strategies and insights for tackling system design interviews. It provides a structured approach to understanding system design fundamentals, breaking down complex problems, and effectively communicating solutions. Aimed at candidates preparing for tech interviews, this guide emphasizes practical tips and common pitfalls to avoid.

  • System Design Cheatsheet (Suggested by Noemie Lachman): 

  • A cheat sheet for system design -The ByteByteGo Blog is a platform that simplifies complex systems into understandable terms. It is created by the authors behind a best-selling series of books on system design. The blog aims to reach over 500,000 readers, offering insights and explanations on various system design topics. It invites visitors to subscribe to their newsletter for updates and detailed explorations into system design concepts.

  • Grind 102 questions - an enhanced version of the popular Blind 75 study plan for technical interviews, tailored by the original author. It allows customization over an 11-week period, dedicating 8 hours per week to solve 102 selected LeetCode questions. These questions are categorized by difficulty (easy, medium, hard) and cover a broad range of topics, including arrays, binary trees, dynamic programming, and more. The goal is to prepare candidates for software engineering interviews by offering a structured and comprehensive study plan.

  • Grind 75 questions (Suggested by Jade Thornton): customizable tech interview preparation guide based on the popular Blind 75 list. It allows users to tailor their study plan, offering a selection of 75 critical coding problems from LeetCode to enhance problem-solving skills in areas crucial for software engineering interviews. This resource aims to streamline interview preparation by focusing on essential topics, making it an efficient tool for candidates looking to improve their coding proficiency and tackle technical interviews with confidence.

  • Debugging in the browser - an introduction to debugging JavaScript code using browser developer tools, specifically focusing on Chrome. It covers the basics of finding and fixing errors within a script, utilizing the "Sources" panel for code examination, setting breakpoints, and navigating through code execution. The guide also explains how to use the console for executing commands and observing results, alongside utilizing debugging commands like debugger; to pause code execution. It's a foundational guide for developers looking to understand and apply debugging techniques in web development.

  • A complete guide to the useEffect React Hook - LogRocket Blog - is a comprehensive resource for understanding how to use the useEffect React Hook effectively. It explores why useEffect exists, distinguishing it from lifecycle methods in class components and highlighting its role in executing side effects within functional components. The article provides in-depth explanations on executing asynchronous tasks, managing component lifecycle events, optimizing performance with dependency arrays, and incorporating cleanup functions to avoid memory leaks. Additionally, it offers practical advice on leveraging useEffect for data fetching, interacting with the DOM, and more, making it a valuable tool for React developers aiming to write cleaner and more efficient code.

  • Event: preventDefault() method - Web APIs | MDN - method in web development is used to stop the default action of an event from being executed. This is particularly useful when you want to prevent a browser's default behavior in response to a user action, such as submitting a form or following a link, without disabling the event itself. It allows for more flexible event handling by scripts.https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

  • HTML Input Types -  provides an overview of the various <input> types available in HTML. It covers standard types like text, password, submit, reset, radio, checkbox, and button, as well as newer additions such as email, date, time, color, and range. Each type is designed for specific data input to enhance user experience and data collection accuracy in web forms.

  • HTML input type Attribute - The type attribute in the <input> tag specifies the nature of the input, altering its behavior and input control presented to the user. It ranges from text, password, and button types to more specialized types like email, date, and color. The default type is "text" if not specified. This attribute is crucial for ensuring the correct data type is collected in web forms.

  • Accessibility - React - The React documentation on accessibility outlines best practices and tools for creating accessible web applications using React. It emphasizes the importance of semantic HTML, managing focus, ensuring keyboard navigation, and utilizing ARIA roles and properties. The guide aims to help developers understand how to build web applications that are inclusive and accessible to as many people as possible, including those with disabilities.

  • Designing Data Intensive Applications  (Suggested by Chidimma Onwuegbule) - 

  • Grokking the System Design Interview  (Suggested by Chidimma Onwuegbule)

  • System Design Interview An Insider’s Guide  (Suggested by Chidimma Onwuegbule)

  • Domain-Driven Design  (Suggested by Chidimma Onwuegbule): The GitHub repository "hiring-without-whiteboards" by poteto is a curated list of companies or job boards that offer tech interviews focusing on practical skills rather than traditional whiteboard-style questions. It's a resource for job seekers in the tech industry who prefer to demonstrate their coding abilities in a more realistic and applied manner, rather than through abstract algorithm puzzles.

  • The RADIO Framework  (Suggested by Gonz Maldonado): a structured approach for tackling front-end system design interviews. It outlines a process starting with Requirements Exploration, then moving to Architecture/High-level Design, Data Model, Interface Definition (API), and finally, Optimizations and Deep Dive. This framework aims to guide candidates through a systematic examination of a system's design, focusing on understanding problem requirements, designing a high-level architecture, detailing data models and APIs, and identifying potential optimizations.

  • A Guide to Consistent Hashing  (Suggested by Gonz Maldonado): The article on Toptal about consistent hashing explains its importance in distributing data across a cluster to minimize reshuffling when nodes are added or removed. It's a key technique in big data and distributed systems to achieve scalability and reliability. The guide covers the concept's fundamentals, practical applications, and how it addresses challenges in distributed network environments.

  • How to Improve Your InMail Response Rate, According to LinkedIn Data: discusses strategies for crafting InMails on their platform that achieve higher response rates. It emphasizes the importance of personalization, clarity, and brevity in messages to potential candidates or connections. Key insights include the effectiveness of concise messaging and the value of tailoring each InMail to the recipient's background and interests to engage them more effectively.

  • Software Engineer interviews: Best end of interview questions to ask (Suggested by Erica Lehotzky): offers guidance on concluding interviews effectively. It suggests asking insightful questions to demonstrate your interest and understanding of the role and company. This strategy is aimed at leaving a positive impression on the interviewer and gaining valuable information about the job and work environment.

  • The perfect questions to ask in your job interview (Suggested by Jade Thornton):  offers a comprehensive list of questions candidates can ask during interviews to better understand a company's culture and values. These queries are designed to uncover insights into workplace dynamics, team collaboration, leadership styles, and the company's commitment to diversity, work-life balance, and professional development.

  • How to study System Design Interviews by @elg0nz (Suggested by Gonz Maldonado): 

  • Stop Parroting YouTube solutions in System Design Interviews (Suggested by Flavia Bastos):

  • Cracking the Coding Interview

  • 5 months and 6 days… #JustDidIt! (by Lianna Novitz) 

  • UMPIRE Interview Strategy (suggested by Lianna Novitz)

  • System Design in Hurry (suggested by Candace Worthen) 

  • How to Build a Webhook Delivery System (Suggested by: Gonzalo Maldonado): 

  • Networking Basics (Suggested by: Lianna Novitz): 

  • Debug Node.js Apps using Visual Studio Code (Suggested by: Gonzalo Maldonado):

  • Check for Balanced Brackets in an expression (well-formedness) (Suggested by: Samantha Campbell): 

  • A Complete Guide to useEffect (Suggested by: Mariay D.): 

  • React Interview Questions (Suggested by: Amanda Stephano):

🌐Websites:

  • The Great Frontend (Suggested by Lisa Gee): dedicated to front end development, offering a wide array of guides, tutorials, and case studies tailored for front end developers and designers. It aims to bridge the gap in resources for those preparing for front end system design interviews by providing in-depth materials on various topics, including UI component design, application development, and system architecture. 

  • Neetcode:  NeetCode provides clear, concise explanations and solutions to complex coding challenges, often with multiple approaches to solve a problem. Its resources are aimed at both beginners and experienced coders, offering strategies, tips, and tricks to efficiently tackle algorithm and data structure questions.

  • Leetcode: is a premier online coding platform that offers a vast repository of programming challenges covering algorithms, data structures, databases, and more, catering to software developers and engineers preparing for technical interviews.

  • useHooks: A collection of modern, server-safe React hooks curated by the ui.dev team, designed to simplify various aspects of developing React applications. It offers a wide range of hooks for different purposes, including state management, fetching data, handling user input and events, and interacting with browser APIs.

  • Interviewing.io (Suggested by Tiffany Williams): A platform designed to offer anonymous technical interview practice with engineers from top tech companies. It provides a unique opportunity for job seekers to improve their interviewing skills in a real-world setting without the pressure of formal job applications. The platform matches candidates with experienced interviewers for live practice sessions, offering immediate feedback and advice.

  • BigFrontEnd.dev (Suggested by Faith Alyea):  A platform aimed at front-end developers seeking to practice their skills, prepare for job interviews, and connect with a global community. It's likened to "LeetCode for Front-End," offering over 600 questions on JavaScript, React, TypeScript, CSS, and more, alongside quizzes, puzzles, and system design questions. The platform features an all-in-one coding experience, including a VS Code-like code editor, instant feedback, built-in screen recording, and community interaction.

  • AlgoExpert (Suggested by Robin Stewart): A platform designed to help software engineers prepare for coding interviews. It offers a wide range of coding interview questions across various difficulty levels and programming languages. The platform provides detailed video explanations for each question, coding workspace, and theoretical content to enhance understanding and problem-solving skills. AlgoExpert is tailored to assist users in mastering algorithms and data structures, making it a valuable tool for anyone looking to ace their software engineering interviews.

  • Netflix TechBlog:  Offers deep insights into Netflix's streaming technology, infrastructure, and innovations. It features articles written by Netflix engineers and technology leaders, discussing challenges and solutions related to delivering content globally, optimizing streaming quality, and ensuring a seamless viewing experience for millions of users. The blog provides a behind-the-scenes look at the technical advancements and methodologies Netflix employs to lead in the streaming industry.

  • Pramp (Suggested by Alexandra Dobkin):  an interactive platform designed to help individuals practice technical interviews. It offers peer-to-peer mock interviews on a wide range of topics including software engineering, data science, and more. The service pairs users with others seeking to improve their interview skills, providing a real-time, collaborative environment for learning and preparation.

  • QUOKKA (Suggested by Michelle Mariani): Quokka.js is a rapid prototyping playground in your editor, with access to your project’s files, inline reporting, code coverage and rich output formatting. Runtime values are updated and displayed in your IDE next to your code, as you type.

  • Code Runner by Jun Han (Suggested by Michelle Mariani): 

  • Repljs (Suggested by Michelle Mariani): An online JavaScript editor for tinkering and testing

  • Replit(Suggested by Michelle Mariani): Replit is an online IDE that supports various programming languages, allowing users to write, run, and collaborate on code from their browsers. It's designed for coding, hosting, and sharing projects in a wide range of languages, making it a versatile tool for developers, educators, and students alike.

  • Snyk (Suggested by Hannah Neal): Snyk Advisor is an online tool that provides insights and advice on over 1 million open source packages across different programming ecosystems, including npm, PyPI, Go, and Docker. It helps developers evaluate open source packages based on factors like popularity, maintenance, security, and community engagement. This tool is designed to assist in making informed decisions when selecting dependencies for software projects.

  • Excalidraw (Suggested by Gonz Maldonado): Super simple and great for working together.

  • Microservices (Suggested by CJ Zhu): is an architectural style that structures an application as a collection of loosely coupled services, that implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.

  • Exaltitude (Suggested by Lexi Lewtan): a platform dedicated to empowering software engineers' career journeys towards purposeful success. It offers career development resources, including a comprehensive AI/ML study plan leveraging ChatGPT, and expert support to navigate career challenges. Founded by Jean, a former engineering manager at Facebook with a rich background in tech, and Soyoung, a coach focused on leadership development, Exaltitude provides tailored coaching, resume guidance, and actionable strategies for professional growth. 

  • LeadDev (Suggested by Lauren Beatty): a comprehensive resource for engineering leaders, covering topics such as team management, culture, diversity & inclusion, technical strategy, and professional development. It provides articles, virtual events, group leadership courses, and live broadcasts aimed at improving engineering management and leadership skills.

  • System Design in a Hurry (Suggested by Austyn T.):  a focused guide for rapid preparation in system design interviews, ideal for those looking to grasp essential concepts and strategies efficiently

  • The Joy of React

  • Frontend Hire

  • Machine Learning Interviews Book

  • Hello Interview (suggested by Sylvia Lujo):  amazing for system design practice. I seriously have never used a tool more helpful. They also put up videos on YouTube doing some walkthroughs of systems commonly asked about in interviews, and those were amazing to follow. This really helped me knock out my system design interview for my new job!

  • Exercism

  • Structy.net (Suggested by Kristen Godinez):

  • Interview Cake (Suggested by: Liz Prescott): 

  • CodinGame (Suggested by: Lianna Novitz): 

  • Node.js.org (Suggested by: Gonzalo Maldonado): 

  • PyCharm (Suggested by: Miriam Hayes): 

  • HackerRank (Suggested by: Julia Keer): 

  • Deno (Suggested by: Constantina Scoullis): 

  • JsFiddle (Suggested by: Bhagyashri Padmawar):

▶️Videos:

🚀Online Course:

  • Grokking the System Design Interview: An online course offered by Design Gurus, aimed at helping software engineers prepare for system design interviews. This course breaks down complex system design concepts into manageable segments, offering a structured approach to understanding and tackling system design questions. It includes case studies, basic to advanced topics, and strategies to solve real-world system design problems effectively, making it a valuable resource for anyone looking to improve their interview performance.

  • Grokking Modern System Design Interview for Engineers & Managers:  an intermediate-level course offered by Educative that spans 179 lessons over approximately 26 hours. It includes interactive elements such as 5 playgrounds, 136 quizzes, and 832 illustrations. The course aims to equip learners with a modular approach to system design interviews, focusing on designing complex systems within a microservice architecture, understanding the nuances of project requirements and constraints, and familiarizing with various popular web-scale services construction.

  • System Design - Karan Pratap Singh - The System Design course offered by Karan Pratap Singh is designed to teach learners how to design scalable systems and prepare for system design interviews. The course covers a wide range of topics, including fundamental concepts like IP, OSI Model, TCP/UDP, DNS, and advanced subjects such as load balancing, caching, content delivery networks, database management, N-tier architecture, microservices, and security protocols like OAuth 2.0 and SSL/TLS. Additionally, it includes practical interview preparation with examples like designing systems for WhatsApp, Twitter, Netflix, and Uber. This comprehensive course is structured into multiple chapters, each focusing on critical aspects of system design.

  • The Beginner's Guide to React (Suggested by Lynn M): a course designed to introduce React fundamentals to newcomers. It covers JSX, rendering elements, components, and props, providing learners with the necessary skills to start building interactive UIs with React. This hands-on tutorial is ideal for those new to React or front-end development, emphasizing practical examples and clear explanations.

  • Data Structures Algorithms Javascript (Suggested by: Mone’t Fulgham): 

👩‍💻 Leopard Study Group Resources

🎙️Podcast

  • The Money with Katie Show (Suggested by Madison Scott): It aims to equip listeners with practical advice and techniques that work in real-world negotiation scenarios, likely focusing on business, economics, or personal situations.

📝Other Useful Resources:

Additional:

  • Packpub - is a publishing company focused on advancing technical knowledge through a vast collection of books, videos, courses, and other educational materials. They cater to learning needs across numerous tech fields, providing resources for both professionals and hobbyists looking to enhance their skills in the latest technologies and software development practices.

  • Frontend Mentor - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Advent of Code - is an annual December event where participants solve daily coding challenges to earn points and compete on leaderboards. Designed for programmers of all skill levels, it offers a fun and engaging way to practice coding with puzzles that increase in complexity. Each day, a new challenge is released, simulating an advent calendar.

  • Tech Interview Handbook - provides comprehensive, curated interview preparation materials for busy engineers. It offers a direct approach to excelling in technical interviews with resources including coding, algorithms, system design, and behavioral interview prep. The handbook has helped over a million engineers worldwide, offering tips, practice questions, and real-life success stories. It's particularly noted for its practical advice on all phases of the interview process, from resume crafting to offer negotiation.

  • Front End Interview Handbook - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Developer Roadmaps - is a community-driven platform that provides comprehensive roadmaps, guides, and educational content to help developers choose a learning path in their tech careers. It offers role-based roadmaps across various domains such as Frontend, Backend, DevOps, and more, as well as skill-based roadmaps focusing on specific technologies. The website aims to guide developers at all stages of their career, from beginners to experienced professionals, in mastering new skills and technologies

  • Codemia -  is designed to cater to both beginners and experienced professionals. Our tutorials cover fundamental and advanced system design topics, ensuring a seamless learning experience for all skill levels.


If you want to contribute resources, send them to us via email!

Master List of Study Resources

The Leopard Network has a master list of study resources that our community has put together. We've got all sorts of materials to match your learning style and interests, from textbooks to quick video tutorials. With our help, you'll be acing those interviews in no time.

📚Books

  • System Design Interview - An Insider's Guide by Alex Xu (Suggested by Frances Jurek): Offers a dependable method and knowledge for handling various system design queries. This book outlines a step-by-step process for solving these questions and uses real-life examples to demonstrate this approach, along with clear steps to follow.

  • The Staff Engineer's Path by Tanya Reilly (Suggested by Daniela Carey): a comprehensive guide aimed at software engineers aspiring to reach the staff engineer level, a pivotal role in many tech organizations that focuses on technical leadership without necessarily stepping into formal management. This book provides insights into the skills, strategies, and mindset required to successfully navigate the complexities and expectations of the staff engineer role. It covers topics such as technical decision-making, influencing organizational change, mentoring peers, and navigating the career ladder in the tech industry.

  • Security Engineering — Third Edition (Suggested by Jeri Sommers):

  • Introduction to Networking (Melissa Moy):

  • A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra) (Suggested by: Shannon C.):

  • Multi-Layer Data-Plane Telemetry Collection Design for Systems With Multiple Observers (Suggested by Miriam Hayes): 

🔗Links:

  • Frontend System Design Interview Overview:  Provides a comprehensive guide for candidates preparing for front-end system design interviews.

  • What Is Ssr?: Discuss the importance of Server Side Rendering (SSR), especially for React and other frameworks, focusing on benefits like improved first meaningful paint, better SEO, and graceful degradation without JavaScript. It highlights the complexity SSR adds, requiring configuration for common functionalities like data fetching, routing, internationalization, hot module replacement, and state management on the server side.

  • Coding Interview Study Plan: Provides a structured approach for preparing for coding interviews, based on the time available before the interview. It details a 3-month preparation timeline, covering essential topics and practice questions. 

  • Graph Cheatsheet for Coding Interviews: A comprehensive guide aimed at coding interview preparation, focusing on graph algorithms. It covers essential concepts like graph representations, search algorithms (BFS and DFS), and time complexity. The cheatsheet also includes tips for handling common interview challenges, corner cases, and provides a list of essential and recommended practice questions.

  • A Senior Engineer's Guide to the System Design Interview: Provides an in-depth approach to preparing for system design interviews, tailored for backend-leaning engineers at mid to senior levels. It covers mastering key concepts, a three-step framework for tackling any system design question, and practical examples of designing systems from scratch. 

  • System Design Interview Questions: A resource tailored for software engineers preparing for technical interviews. This platform offers an extensive range of system design questions that cover various aspects and challenges one might face during a technical interview, focusing on designing scalable systems, understanding key system components, and addressing common architectural problems.

  • 16 System Design Concepts I Wish I Knew Before the Interview: Offers valuable insights into crucial system design principles and practices that the author learned through experience. It aims to prepare readers for technical interviews by sharing lessons on scalability, reliability, availability, efficiency, and more, providing a foundation for approaching system design questions effectively.

  • Peacock Case Study: Illustrates how Peacock achieved a successful launch with AWS solutions. Launching in July 2020, Peacock quickly gained over 26 million sign-ups by December 2020, despite challenges like the COVID-19 pandemic. The case study details the strategic use of AWS for building a scalable, reliable cloud-based streaming platform capable of handling both on-demand video and live broadcasts, emphasizing the collaborative efforts and technological strategies that contributed to Peacock's flawless launch.

  • My System Design Template - Leetcode: Presents a structured approach to tackling system design interviews. The author shares a personal template that outlines key steps and considerations, aiming to guide readers through the process of designing a system during an interview. This resource is beneficial for candidates looking to structure their thoughts and cover essential aspects of system design systematically. 

  • Back of envelope calculations — Cheat Sheet: A guide aimed at improving estimation skills, crucial for problem-solving and technical interviews. It provides strategies and examples for making quick, accurate calculations by simplifying complex problems. This cheat sheet is particularly useful for professionals and students in fields requiring analytical skills to estimate solutions efficiently.

  • Graph cheatsheet for coding interviews: Covers fundamental graph types, traversal techniques like BFS and DFS, and key algorithms for solving common graph-related problems. This resource is designed to help candidates efficiently prepare for technical interviews by providing a solid foundation in graph theory and its applications.

  • Coding interview cheatsheet: Best practices before, during and after: Provides a coding interview study plan that outlines a strategic approach to preparing for coding interviews, tailored to the time available before the interview. It emphasizes mastering core algorithms, practicing coding problems, and understanding system design principles. The plan is designed to optimize preparation, whether you have months or just a few weeks, by focusing on essential topics and effective study habits.

  • Coding interview study plan - what to study and practice based on time left: A study plan designed to help candidates systematically prepare for coding interviews, offering a structured approach based on the amount of time available for study. It includes prioritized topics, key algorithms, and a selection of coding problems to practice. This resource aims to enhance understanding and problem-solving skills, making it ideal for those seeking to improve their chances in technical interviews.

  • system design interview framework (Suggested by Noemie Lachman): Offers comprehensive strategies and insights for tackling system design interviews. It provides a structured approach to understanding system design fundamentals, breaking down complex problems, and effectively communicating solutions. Aimed at candidates preparing for tech interviews, this guide emphasizes practical tips and common pitfalls to avoid.

  • System Design Cheatsheet (Suggested by Noemie Lachman): 

  • A cheat sheet for system design -The ByteByteGo Blog is a platform that simplifies complex systems into understandable terms. It is created by the authors behind a best-selling series of books on system design. The blog aims to reach over 500,000 readers, offering insights and explanations on various system design topics. It invites visitors to subscribe to their newsletter for updates and detailed explorations into system design concepts.

  • Grind 102 questions - an enhanced version of the popular Blind 75 study plan for technical interviews, tailored by the original author. It allows customization over an 11-week period, dedicating 8 hours per week to solve 102 selected LeetCode questions. These questions are categorized by difficulty (easy, medium, hard) and cover a broad range of topics, including arrays, binary trees, dynamic programming, and more. The goal is to prepare candidates for software engineering interviews by offering a structured and comprehensive study plan.

  • Grind 75 questions (Suggested by Jade Thornton): customizable tech interview preparation guide based on the popular Blind 75 list. It allows users to tailor their study plan, offering a selection of 75 critical coding problems from LeetCode to enhance problem-solving skills in areas crucial for software engineering interviews. This resource aims to streamline interview preparation by focusing on essential topics, making it an efficient tool for candidates looking to improve their coding proficiency and tackle technical interviews with confidence.

  • Debugging in the browser - an introduction to debugging JavaScript code using browser developer tools, specifically focusing on Chrome. It covers the basics of finding and fixing errors within a script, utilizing the "Sources" panel for code examination, setting breakpoints, and navigating through code execution. The guide also explains how to use the console for executing commands and observing results, alongside utilizing debugging commands like debugger; to pause code execution. It's a foundational guide for developers looking to understand and apply debugging techniques in web development.

  • A complete guide to the useEffect React Hook - LogRocket Blog - is a comprehensive resource for understanding how to use the useEffect React Hook effectively. It explores why useEffect exists, distinguishing it from lifecycle methods in class components and highlighting its role in executing side effects within functional components. The article provides in-depth explanations on executing asynchronous tasks, managing component lifecycle events, optimizing performance with dependency arrays, and incorporating cleanup functions to avoid memory leaks. Additionally, it offers practical advice on leveraging useEffect for data fetching, interacting with the DOM, and more, making it a valuable tool for React developers aiming to write cleaner and more efficient code.

  • Event: preventDefault() method - Web APIs | MDN - method in web development is used to stop the default action of an event from being executed. This is particularly useful when you want to prevent a browser's default behavior in response to a user action, such as submitting a form or following a link, without disabling the event itself. It allows for more flexible event handling by scripts.https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

  • HTML Input Types -  provides an overview of the various <input> types available in HTML. It covers standard types like text, password, submit, reset, radio, checkbox, and button, as well as newer additions such as email, date, time, color, and range. Each type is designed for specific data input to enhance user experience and data collection accuracy in web forms.

  • HTML input type Attribute - The type attribute in the <input> tag specifies the nature of the input, altering its behavior and input control presented to the user. It ranges from text, password, and button types to more specialized types like email, date, and color. The default type is "text" if not specified. This attribute is crucial for ensuring the correct data type is collected in web forms.

  • Accessibility - React - The React documentation on accessibility outlines best practices and tools for creating accessible web applications using React. It emphasizes the importance of semantic HTML, managing focus, ensuring keyboard navigation, and utilizing ARIA roles and properties. The guide aims to help developers understand how to build web applications that are inclusive and accessible to as many people as possible, including those with disabilities.

  • Designing Data Intensive Applications  (Suggested by Chidimma Onwuegbule) - 

  • Grokking the System Design Interview  (Suggested by Chidimma Onwuegbule)

  • System Design Interview An Insider’s Guide  (Suggested by Chidimma Onwuegbule)

  • Domain-Driven Design  (Suggested by Chidimma Onwuegbule): The GitHub repository "hiring-without-whiteboards" by poteto is a curated list of companies or job boards that offer tech interviews focusing on practical skills rather than traditional whiteboard-style questions. It's a resource for job seekers in the tech industry who prefer to demonstrate their coding abilities in a more realistic and applied manner, rather than through abstract algorithm puzzles.

  • The RADIO Framework  (Suggested by Gonz Maldonado): a structured approach for tackling front-end system design interviews. It outlines a process starting with Requirements Exploration, then moving to Architecture/High-level Design, Data Model, Interface Definition (API), and finally, Optimizations and Deep Dive. This framework aims to guide candidates through a systematic examination of a system's design, focusing on understanding problem requirements, designing a high-level architecture, detailing data models and APIs, and identifying potential optimizations.

  • A Guide to Consistent Hashing  (Suggested by Gonz Maldonado): The article on Toptal about consistent hashing explains its importance in distributing data across a cluster to minimize reshuffling when nodes are added or removed. It's a key technique in big data and distributed systems to achieve scalability and reliability. The guide covers the concept's fundamentals, practical applications, and how it addresses challenges in distributed network environments.

  • How to Improve Your InMail Response Rate, According to LinkedIn Data: discusses strategies for crafting InMails on their platform that achieve higher response rates. It emphasizes the importance of personalization, clarity, and brevity in messages to potential candidates or connections. Key insights include the effectiveness of concise messaging and the value of tailoring each InMail to the recipient's background and interests to engage them more effectively.

  • Software Engineer interviews: Best end of interview questions to ask (Suggested by Erica Lehotzky): offers guidance on concluding interviews effectively. It suggests asking insightful questions to demonstrate your interest and understanding of the role and company. This strategy is aimed at leaving a positive impression on the interviewer and gaining valuable information about the job and work environment.

  • The perfect questions to ask in your job interview (Suggested by Jade Thornton):  offers a comprehensive list of questions candidates can ask during interviews to better understand a company's culture and values. These queries are designed to uncover insights into workplace dynamics, team collaboration, leadership styles, and the company's commitment to diversity, work-life balance, and professional development.

  • How to study System Design Interviews by @elg0nz (Suggested by Gonz Maldonado): 

  • Stop Parroting YouTube solutions in System Design Interviews (Suggested by Flavia Bastos):

  • Cracking the Coding Interview

  • 5 months and 6 days… #JustDidIt! (by Lianna Novitz) 

  • UMPIRE Interview Strategy (suggested by Lianna Novitz)

  • System Design in Hurry (suggested by Candace Worthen) 

  • How to Build a Webhook Delivery System (Suggested by: Gonzalo Maldonado): 

  • Networking Basics (Suggested by: Lianna Novitz): 

  • Debug Node.js Apps using Visual Studio Code (Suggested by: Gonzalo Maldonado):

  • Check for Balanced Brackets in an expression (well-formedness) (Suggested by: Samantha Campbell): 

  • A Complete Guide to useEffect (Suggested by: Mariay D.): 

  • React Interview Questions (Suggested by: Amanda Stephano):

🌐Websites:

  • The Great Frontend (Suggested by Lisa Gee): dedicated to front end development, offering a wide array of guides, tutorials, and case studies tailored for front end developers and designers. It aims to bridge the gap in resources for those preparing for front end system design interviews by providing in-depth materials on various topics, including UI component design, application development, and system architecture. 

  • Neetcode:  NeetCode provides clear, concise explanations and solutions to complex coding challenges, often with multiple approaches to solve a problem. Its resources are aimed at both beginners and experienced coders, offering strategies, tips, and tricks to efficiently tackle algorithm and data structure questions.

  • Leetcode: is a premier online coding platform that offers a vast repository of programming challenges covering algorithms, data structures, databases, and more, catering to software developers and engineers preparing for technical interviews.

  • useHooks: A collection of modern, server-safe React hooks curated by the ui.dev team, designed to simplify various aspects of developing React applications. It offers a wide range of hooks for different purposes, including state management, fetching data, handling user input and events, and interacting with browser APIs.

  • Interviewing.io (Suggested by Tiffany Williams): A platform designed to offer anonymous technical interview practice with engineers from top tech companies. It provides a unique opportunity for job seekers to improve their interviewing skills in a real-world setting without the pressure of formal job applications. The platform matches candidates with experienced interviewers for live practice sessions, offering immediate feedback and advice.

  • BigFrontEnd.dev (Suggested by Faith Alyea):  A platform aimed at front-end developers seeking to practice their skills, prepare for job interviews, and connect with a global community. It's likened to "LeetCode for Front-End," offering over 600 questions on JavaScript, React, TypeScript, CSS, and more, alongside quizzes, puzzles, and system design questions. The platform features an all-in-one coding experience, including a VS Code-like code editor, instant feedback, built-in screen recording, and community interaction.

  • AlgoExpert (Suggested by Robin Stewart): A platform designed to help software engineers prepare for coding interviews. It offers a wide range of coding interview questions across various difficulty levels and programming languages. The platform provides detailed video explanations for each question, coding workspace, and theoretical content to enhance understanding and problem-solving skills. AlgoExpert is tailored to assist users in mastering algorithms and data structures, making it a valuable tool for anyone looking to ace their software engineering interviews.

  • Netflix TechBlog:  Offers deep insights into Netflix's streaming technology, infrastructure, and innovations. It features articles written by Netflix engineers and technology leaders, discussing challenges and solutions related to delivering content globally, optimizing streaming quality, and ensuring a seamless viewing experience for millions of users. The blog provides a behind-the-scenes look at the technical advancements and methodologies Netflix employs to lead in the streaming industry.

  • Pramp (Suggested by Alexandra Dobkin):  an interactive platform designed to help individuals practice technical interviews. It offers peer-to-peer mock interviews on a wide range of topics including software engineering, data science, and more. The service pairs users with others seeking to improve their interview skills, providing a real-time, collaborative environment for learning and preparation.

  • QUOKKA (Suggested by Michelle Mariani): Quokka.js is a rapid prototyping playground in your editor, with access to your project’s files, inline reporting, code coverage and rich output formatting. Runtime values are updated and displayed in your IDE next to your code, as you type.

  • Code Runner by Jun Han (Suggested by Michelle Mariani): 

  • Repljs (Suggested by Michelle Mariani): An online JavaScript editor for tinkering and testing

  • Replit(Suggested by Michelle Mariani): Replit is an online IDE that supports various programming languages, allowing users to write, run, and collaborate on code from their browsers. It's designed for coding, hosting, and sharing projects in a wide range of languages, making it a versatile tool for developers, educators, and students alike.

  • Snyk (Suggested by Hannah Neal): Snyk Advisor is an online tool that provides insights and advice on over 1 million open source packages across different programming ecosystems, including npm, PyPI, Go, and Docker. It helps developers evaluate open source packages based on factors like popularity, maintenance, security, and community engagement. This tool is designed to assist in making informed decisions when selecting dependencies for software projects.

  • Excalidraw (Suggested by Gonz Maldonado): Super simple and great for working together.

  • Microservices (Suggested by CJ Zhu): is an architectural style that structures an application as a collection of loosely coupled services, that implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.

  • Exaltitude (Suggested by Lexi Lewtan): a platform dedicated to empowering software engineers' career journeys towards purposeful success. It offers career development resources, including a comprehensive AI/ML study plan leveraging ChatGPT, and expert support to navigate career challenges. Founded by Jean, a former engineering manager at Facebook with a rich background in tech, and Soyoung, a coach focused on leadership development, Exaltitude provides tailored coaching, resume guidance, and actionable strategies for professional growth. 

  • LeadDev (Suggested by Lauren Beatty): a comprehensive resource for engineering leaders, covering topics such as team management, culture, diversity & inclusion, technical strategy, and professional development. It provides articles, virtual events, group leadership courses, and live broadcasts aimed at improving engineering management and leadership skills.

  • System Design in a Hurry (Suggested by Austyn T.):  a focused guide for rapid preparation in system design interviews, ideal for those looking to grasp essential concepts and strategies efficiently

  • The Joy of React

  • Frontend Hire

  • Machine Learning Interviews Book

  • Hello Interview (suggested by Sylvia Lujo):  amazing for system design practice. I seriously have never used a tool more helpful. They also put up videos on YouTube doing some walkthroughs of systems commonly asked about in interviews, and those were amazing to follow. This really helped me knock out my system design interview for my new job!

  • Exercism

  • Structy.net (Suggested by Kristen Godinez):

  • Interview Cake (Suggested by: Liz Prescott): 

  • CodinGame (Suggested by: Lianna Novitz): 

  • Node.js.org (Suggested by: Gonzalo Maldonado): 

  • PyCharm (Suggested by: Miriam Hayes): 

  • HackerRank (Suggested by: Julia Keer): 

  • Deno (Suggested by: Constantina Scoullis): 

  • JsFiddle (Suggested by: Bhagyashri Padmawar):

▶️Videos:

🚀Online Course:

  • Grokking the System Design Interview: An online course offered by Design Gurus, aimed at helping software engineers prepare for system design interviews. This course breaks down complex system design concepts into manageable segments, offering a structured approach to understanding and tackling system design questions. It includes case studies, basic to advanced topics, and strategies to solve real-world system design problems effectively, making it a valuable resource for anyone looking to improve their interview performance.

  • Grokking Modern System Design Interview for Engineers & Managers:  an intermediate-level course offered by Educative that spans 179 lessons over approximately 26 hours. It includes interactive elements such as 5 playgrounds, 136 quizzes, and 832 illustrations. The course aims to equip learners with a modular approach to system design interviews, focusing on designing complex systems within a microservice architecture, understanding the nuances of project requirements and constraints, and familiarizing with various popular web-scale services construction.

  • System Design - Karan Pratap Singh - The System Design course offered by Karan Pratap Singh is designed to teach learners how to design scalable systems and prepare for system design interviews. The course covers a wide range of topics, including fundamental concepts like IP, OSI Model, TCP/UDP, DNS, and advanced subjects such as load balancing, caching, content delivery networks, database management, N-tier architecture, microservices, and security protocols like OAuth 2.0 and SSL/TLS. Additionally, it includes practical interview preparation with examples like designing systems for WhatsApp, Twitter, Netflix, and Uber. This comprehensive course is structured into multiple chapters, each focusing on critical aspects of system design.

  • The Beginner's Guide to React (Suggested by Lynn M): a course designed to introduce React fundamentals to newcomers. It covers JSX, rendering elements, components, and props, providing learners with the necessary skills to start building interactive UIs with React. This hands-on tutorial is ideal for those new to React or front-end development, emphasizing practical examples and clear explanations.

  • Data Structures Algorithms Javascript (Suggested by: Mone’t Fulgham): 

👩‍💻 Leopard Study Group Resources

🎙️Podcast

  • The Money with Katie Show (Suggested by Madison Scott): It aims to equip listeners with practical advice and techniques that work in real-world negotiation scenarios, likely focusing on business, economics, or personal situations.

📝Other Useful Resources:

Additional:

  • Packpub - is a publishing company focused on advancing technical knowledge through a vast collection of books, videos, courses, and other educational materials. They cater to learning needs across numerous tech fields, providing resources for both professionals and hobbyists looking to enhance their skills in the latest technologies and software development practices.

  • Frontend Mentor - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Advent of Code - is an annual December event where participants solve daily coding challenges to earn points and compete on leaderboards. Designed for programmers of all skill levels, it offers a fun and engaging way to practice coding with puzzles that increase in complexity. Each day, a new challenge is released, simulating an advent calendar.

  • Tech Interview Handbook - provides comprehensive, curated interview preparation materials for busy engineers. It offers a direct approach to excelling in technical interviews with resources including coding, algorithms, system design, and behavioral interview prep. The handbook has helped over a million engineers worldwide, offering tips, practice questions, and real-life success stories. It's particularly noted for its practical advice on all phases of the interview process, from resume crafting to offer negotiation.

  • Front End Interview Handbook - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Developer Roadmaps - is a community-driven platform that provides comprehensive roadmaps, guides, and educational content to help developers choose a learning path in their tech careers. It offers role-based roadmaps across various domains such as Frontend, Backend, DevOps, and more, as well as skill-based roadmaps focusing on specific technologies. The website aims to guide developers at all stages of their career, from beginners to experienced professionals, in mastering new skills and technologies

  • Codemia -  is designed to cater to both beginners and experienced professionals. Our tutorials cover fundamental and advanced system design topics, ensuring a seamless learning experience for all skill levels.


If you want to contribute resources, send them to us via email!

Master List of Study Resources

The Leopard Network has a master list of study resources that our community has put together. We've got all sorts of materials to match your learning style and interests, from textbooks to quick video tutorials. With our help, you'll be acing those interviews in no time.

📚Books

  • System Design Interview - An Insider's Guide by Alex Xu (Suggested by Frances Jurek): Offers a dependable method and knowledge for handling various system design queries. This book outlines a step-by-step process for solving these questions and uses real-life examples to demonstrate this approach, along with clear steps to follow.

  • The Staff Engineer's Path by Tanya Reilly (Suggested by Daniela Carey): a comprehensive guide aimed at software engineers aspiring to reach the staff engineer level, a pivotal role in many tech organizations that focuses on technical leadership without necessarily stepping into formal management. This book provides insights into the skills, strategies, and mindset required to successfully navigate the complexities and expectations of the staff engineer role. It covers topics such as technical decision-making, influencing organizational change, mentoring peers, and navigating the career ladder in the tech industry.

  • Security Engineering — Third Edition (Suggested by Jeri Sommers):

  • Introduction to Networking (Melissa Moy):

  • A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra) (Suggested by: Shannon C.):

  • Multi-Layer Data-Plane Telemetry Collection Design for Systems With Multiple Observers (Suggested by Miriam Hayes): 

🔗Links:

  • Frontend System Design Interview Overview:  Provides a comprehensive guide for candidates preparing for front-end system design interviews.

  • What Is Ssr?: Discuss the importance of Server Side Rendering (SSR), especially for React and other frameworks, focusing on benefits like improved first meaningful paint, better SEO, and graceful degradation without JavaScript. It highlights the complexity SSR adds, requiring configuration for common functionalities like data fetching, routing, internationalization, hot module replacement, and state management on the server side.

  • Coding Interview Study Plan: Provides a structured approach for preparing for coding interviews, based on the time available before the interview. It details a 3-month preparation timeline, covering essential topics and practice questions. 

  • Graph Cheatsheet for Coding Interviews: A comprehensive guide aimed at coding interview preparation, focusing on graph algorithms. It covers essential concepts like graph representations, search algorithms (BFS and DFS), and time complexity. The cheatsheet also includes tips for handling common interview challenges, corner cases, and provides a list of essential and recommended practice questions.

  • A Senior Engineer's Guide to the System Design Interview: Provides an in-depth approach to preparing for system design interviews, tailored for backend-leaning engineers at mid to senior levels. It covers mastering key concepts, a three-step framework for tackling any system design question, and practical examples of designing systems from scratch. 

  • System Design Interview Questions: A resource tailored for software engineers preparing for technical interviews. This platform offers an extensive range of system design questions that cover various aspects and challenges one might face during a technical interview, focusing on designing scalable systems, understanding key system components, and addressing common architectural problems.

  • 16 System Design Concepts I Wish I Knew Before the Interview: Offers valuable insights into crucial system design principles and practices that the author learned through experience. It aims to prepare readers for technical interviews by sharing lessons on scalability, reliability, availability, efficiency, and more, providing a foundation for approaching system design questions effectively.

  • Peacock Case Study: Illustrates how Peacock achieved a successful launch with AWS solutions. Launching in July 2020, Peacock quickly gained over 26 million sign-ups by December 2020, despite challenges like the COVID-19 pandemic. The case study details the strategic use of AWS for building a scalable, reliable cloud-based streaming platform capable of handling both on-demand video and live broadcasts, emphasizing the collaborative efforts and technological strategies that contributed to Peacock's flawless launch.

  • My System Design Template - Leetcode: Presents a structured approach to tackling system design interviews. The author shares a personal template that outlines key steps and considerations, aiming to guide readers through the process of designing a system during an interview. This resource is beneficial for candidates looking to structure their thoughts and cover essential aspects of system design systematically. 

  • Back of envelope calculations — Cheat Sheet: A guide aimed at improving estimation skills, crucial for problem-solving and technical interviews. It provides strategies and examples for making quick, accurate calculations by simplifying complex problems. This cheat sheet is particularly useful for professionals and students in fields requiring analytical skills to estimate solutions efficiently.

  • Graph cheatsheet for coding interviews: Covers fundamental graph types, traversal techniques like BFS and DFS, and key algorithms for solving common graph-related problems. This resource is designed to help candidates efficiently prepare for technical interviews by providing a solid foundation in graph theory and its applications.

  • Coding interview cheatsheet: Best practices before, during and after: Provides a coding interview study plan that outlines a strategic approach to preparing for coding interviews, tailored to the time available before the interview. It emphasizes mastering core algorithms, practicing coding problems, and understanding system design principles. The plan is designed to optimize preparation, whether you have months or just a few weeks, by focusing on essential topics and effective study habits.

  • Coding interview study plan - what to study and practice based on time left: A study plan designed to help candidates systematically prepare for coding interviews, offering a structured approach based on the amount of time available for study. It includes prioritized topics, key algorithms, and a selection of coding problems to practice. This resource aims to enhance understanding and problem-solving skills, making it ideal for those seeking to improve their chances in technical interviews.

  • system design interview framework (Suggested by Noemie Lachman): Offers comprehensive strategies and insights for tackling system design interviews. It provides a structured approach to understanding system design fundamentals, breaking down complex problems, and effectively communicating solutions. Aimed at candidates preparing for tech interviews, this guide emphasizes practical tips and common pitfalls to avoid.

  • System Design Cheatsheet (Suggested by Noemie Lachman): 

  • A cheat sheet for system design -The ByteByteGo Blog is a platform that simplifies complex systems into understandable terms. It is created by the authors behind a best-selling series of books on system design. The blog aims to reach over 500,000 readers, offering insights and explanations on various system design topics. It invites visitors to subscribe to their newsletter for updates and detailed explorations into system design concepts.

  • Grind 102 questions - an enhanced version of the popular Blind 75 study plan for technical interviews, tailored by the original author. It allows customization over an 11-week period, dedicating 8 hours per week to solve 102 selected LeetCode questions. These questions are categorized by difficulty (easy, medium, hard) and cover a broad range of topics, including arrays, binary trees, dynamic programming, and more. The goal is to prepare candidates for software engineering interviews by offering a structured and comprehensive study plan.

  • Grind 75 questions (Suggested by Jade Thornton): customizable tech interview preparation guide based on the popular Blind 75 list. It allows users to tailor their study plan, offering a selection of 75 critical coding problems from LeetCode to enhance problem-solving skills in areas crucial for software engineering interviews. This resource aims to streamline interview preparation by focusing on essential topics, making it an efficient tool for candidates looking to improve their coding proficiency and tackle technical interviews with confidence.

  • Debugging in the browser - an introduction to debugging JavaScript code using browser developer tools, specifically focusing on Chrome. It covers the basics of finding and fixing errors within a script, utilizing the "Sources" panel for code examination, setting breakpoints, and navigating through code execution. The guide also explains how to use the console for executing commands and observing results, alongside utilizing debugging commands like debugger; to pause code execution. It's a foundational guide for developers looking to understand and apply debugging techniques in web development.

  • A complete guide to the useEffect React Hook - LogRocket Blog - is a comprehensive resource for understanding how to use the useEffect React Hook effectively. It explores why useEffect exists, distinguishing it from lifecycle methods in class components and highlighting its role in executing side effects within functional components. The article provides in-depth explanations on executing asynchronous tasks, managing component lifecycle events, optimizing performance with dependency arrays, and incorporating cleanup functions to avoid memory leaks. Additionally, it offers practical advice on leveraging useEffect for data fetching, interacting with the DOM, and more, making it a valuable tool for React developers aiming to write cleaner and more efficient code.

  • Event: preventDefault() method - Web APIs | MDN - method in web development is used to stop the default action of an event from being executed. This is particularly useful when you want to prevent a browser's default behavior in response to a user action, such as submitting a form or following a link, without disabling the event itself. It allows for more flexible event handling by scripts.https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

  • HTML Input Types -  provides an overview of the various <input> types available in HTML. It covers standard types like text, password, submit, reset, radio, checkbox, and button, as well as newer additions such as email, date, time, color, and range. Each type is designed for specific data input to enhance user experience and data collection accuracy in web forms.

  • HTML input type Attribute - The type attribute in the <input> tag specifies the nature of the input, altering its behavior and input control presented to the user. It ranges from text, password, and button types to more specialized types like email, date, and color. The default type is "text" if not specified. This attribute is crucial for ensuring the correct data type is collected in web forms.

  • Accessibility - React - The React documentation on accessibility outlines best practices and tools for creating accessible web applications using React. It emphasizes the importance of semantic HTML, managing focus, ensuring keyboard navigation, and utilizing ARIA roles and properties. The guide aims to help developers understand how to build web applications that are inclusive and accessible to as many people as possible, including those with disabilities.

  • Designing Data Intensive Applications  (Suggested by Chidimma Onwuegbule) - 

  • Grokking the System Design Interview  (Suggested by Chidimma Onwuegbule)

  • System Design Interview An Insider’s Guide  (Suggested by Chidimma Onwuegbule)

  • Domain-Driven Design  (Suggested by Chidimma Onwuegbule): The GitHub repository "hiring-without-whiteboards" by poteto is a curated list of companies or job boards that offer tech interviews focusing on practical skills rather than traditional whiteboard-style questions. It's a resource for job seekers in the tech industry who prefer to demonstrate their coding abilities in a more realistic and applied manner, rather than through abstract algorithm puzzles.

  • The RADIO Framework  (Suggested by Gonz Maldonado): a structured approach for tackling front-end system design interviews. It outlines a process starting with Requirements Exploration, then moving to Architecture/High-level Design, Data Model, Interface Definition (API), and finally, Optimizations and Deep Dive. This framework aims to guide candidates through a systematic examination of a system's design, focusing on understanding problem requirements, designing a high-level architecture, detailing data models and APIs, and identifying potential optimizations.

  • A Guide to Consistent Hashing  (Suggested by Gonz Maldonado): The article on Toptal about consistent hashing explains its importance in distributing data across a cluster to minimize reshuffling when nodes are added or removed. It's a key technique in big data and distributed systems to achieve scalability and reliability. The guide covers the concept's fundamentals, practical applications, and how it addresses challenges in distributed network environments.

  • How to Improve Your InMail Response Rate, According to LinkedIn Data: discusses strategies for crafting InMails on their platform that achieve higher response rates. It emphasizes the importance of personalization, clarity, and brevity in messages to potential candidates or connections. Key insights include the effectiveness of concise messaging and the value of tailoring each InMail to the recipient's background and interests to engage them more effectively.

  • Software Engineer interviews: Best end of interview questions to ask (Suggested by Erica Lehotzky): offers guidance on concluding interviews effectively. It suggests asking insightful questions to demonstrate your interest and understanding of the role and company. This strategy is aimed at leaving a positive impression on the interviewer and gaining valuable information about the job and work environment.

  • The perfect questions to ask in your job interview (Suggested by Jade Thornton):  offers a comprehensive list of questions candidates can ask during interviews to better understand a company's culture and values. These queries are designed to uncover insights into workplace dynamics, team collaboration, leadership styles, and the company's commitment to diversity, work-life balance, and professional development.

  • How to study System Design Interviews by @elg0nz (Suggested by Gonz Maldonado): 

  • Stop Parroting YouTube solutions in System Design Interviews (Suggested by Flavia Bastos):

  • Cracking the Coding Interview

  • 5 months and 6 days… #JustDidIt! (by Lianna Novitz) 

  • UMPIRE Interview Strategy (suggested by Lianna Novitz)

  • System Design in Hurry (suggested by Candace Worthen) 

  • How to Build a Webhook Delivery System (Suggested by: Gonzalo Maldonado): 

  • Networking Basics (Suggested by: Lianna Novitz): 

  • Debug Node.js Apps using Visual Studio Code (Suggested by: Gonzalo Maldonado):

  • Check for Balanced Brackets in an expression (well-formedness) (Suggested by: Samantha Campbell): 

  • A Complete Guide to useEffect (Suggested by: Mariay D.): 

  • React Interview Questions (Suggested by: Amanda Stephano):

🌐Websites:

  • The Great Frontend (Suggested by Lisa Gee): dedicated to front end development, offering a wide array of guides, tutorials, and case studies tailored for front end developers and designers. It aims to bridge the gap in resources for those preparing for front end system design interviews by providing in-depth materials on various topics, including UI component design, application development, and system architecture. 

  • Neetcode:  NeetCode provides clear, concise explanations and solutions to complex coding challenges, often with multiple approaches to solve a problem. Its resources are aimed at both beginners and experienced coders, offering strategies, tips, and tricks to efficiently tackle algorithm and data structure questions.

  • Leetcode: is a premier online coding platform that offers a vast repository of programming challenges covering algorithms, data structures, databases, and more, catering to software developers and engineers preparing for technical interviews.

  • useHooks: A collection of modern, server-safe React hooks curated by the ui.dev team, designed to simplify various aspects of developing React applications. It offers a wide range of hooks for different purposes, including state management, fetching data, handling user input and events, and interacting with browser APIs.

  • Interviewing.io (Suggested by Tiffany Williams): A platform designed to offer anonymous technical interview practice with engineers from top tech companies. It provides a unique opportunity for job seekers to improve their interviewing skills in a real-world setting without the pressure of formal job applications. The platform matches candidates with experienced interviewers for live practice sessions, offering immediate feedback and advice.

  • BigFrontEnd.dev (Suggested by Faith Alyea):  A platform aimed at front-end developers seeking to practice their skills, prepare for job interviews, and connect with a global community. It's likened to "LeetCode for Front-End," offering over 600 questions on JavaScript, React, TypeScript, CSS, and more, alongside quizzes, puzzles, and system design questions. The platform features an all-in-one coding experience, including a VS Code-like code editor, instant feedback, built-in screen recording, and community interaction.

  • AlgoExpert (Suggested by Robin Stewart): A platform designed to help software engineers prepare for coding interviews. It offers a wide range of coding interview questions across various difficulty levels and programming languages. The platform provides detailed video explanations for each question, coding workspace, and theoretical content to enhance understanding and problem-solving skills. AlgoExpert is tailored to assist users in mastering algorithms and data structures, making it a valuable tool for anyone looking to ace their software engineering interviews.

  • Netflix TechBlog:  Offers deep insights into Netflix's streaming technology, infrastructure, and innovations. It features articles written by Netflix engineers and technology leaders, discussing challenges and solutions related to delivering content globally, optimizing streaming quality, and ensuring a seamless viewing experience for millions of users. The blog provides a behind-the-scenes look at the technical advancements and methodologies Netflix employs to lead in the streaming industry.

  • Pramp (Suggested by Alexandra Dobkin):  an interactive platform designed to help individuals practice technical interviews. It offers peer-to-peer mock interviews on a wide range of topics including software engineering, data science, and more. The service pairs users with others seeking to improve their interview skills, providing a real-time, collaborative environment for learning and preparation.

  • QUOKKA (Suggested by Michelle Mariani): Quokka.js is a rapid prototyping playground in your editor, with access to your project’s files, inline reporting, code coverage and rich output formatting. Runtime values are updated and displayed in your IDE next to your code, as you type.

  • Code Runner by Jun Han (Suggested by Michelle Mariani): 

  • Repljs (Suggested by Michelle Mariani): An online JavaScript editor for tinkering and testing

  • Replit(Suggested by Michelle Mariani): Replit is an online IDE that supports various programming languages, allowing users to write, run, and collaborate on code from their browsers. It's designed for coding, hosting, and sharing projects in a wide range of languages, making it a versatile tool for developers, educators, and students alike.

  • Snyk (Suggested by Hannah Neal): Snyk Advisor is an online tool that provides insights and advice on over 1 million open source packages across different programming ecosystems, including npm, PyPI, Go, and Docker. It helps developers evaluate open source packages based on factors like popularity, maintenance, security, and community engagement. This tool is designed to assist in making informed decisions when selecting dependencies for software projects.

  • Excalidraw (Suggested by Gonz Maldonado): Super simple and great for working together.

  • Microservices (Suggested by CJ Zhu): is an architectural style that structures an application as a collection of loosely coupled services, that implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.

  • Exaltitude (Suggested by Lexi Lewtan): a platform dedicated to empowering software engineers' career journeys towards purposeful success. It offers career development resources, including a comprehensive AI/ML study plan leveraging ChatGPT, and expert support to navigate career challenges. Founded by Jean, a former engineering manager at Facebook with a rich background in tech, and Soyoung, a coach focused on leadership development, Exaltitude provides tailored coaching, resume guidance, and actionable strategies for professional growth. 

  • LeadDev (Suggested by Lauren Beatty): a comprehensive resource for engineering leaders, covering topics such as team management, culture, diversity & inclusion, technical strategy, and professional development. It provides articles, virtual events, group leadership courses, and live broadcasts aimed at improving engineering management and leadership skills.

  • System Design in a Hurry (Suggested by Austyn T.):  a focused guide for rapid preparation in system design interviews, ideal for those looking to grasp essential concepts and strategies efficiently

  • The Joy of React

  • Frontend Hire

  • Machine Learning Interviews Book

  • Hello Interview (suggested by Sylvia Lujo):  amazing for system design practice. I seriously have never used a tool more helpful. They also put up videos on YouTube doing some walkthroughs of systems commonly asked about in interviews, and those were amazing to follow. This really helped me knock out my system design interview for my new job!

  • Exercism

  • Structy.net (Suggested by Kristen Godinez):

  • Interview Cake (Suggested by: Liz Prescott): 

  • CodinGame (Suggested by: Lianna Novitz): 

  • Node.js.org (Suggested by: Gonzalo Maldonado): 

  • PyCharm (Suggested by: Miriam Hayes): 

  • HackerRank (Suggested by: Julia Keer): 

  • Deno (Suggested by: Constantina Scoullis): 

  • JsFiddle (Suggested by: Bhagyashri Padmawar):

▶️Videos:

🚀Online Course:

  • Grokking the System Design Interview: An online course offered by Design Gurus, aimed at helping software engineers prepare for system design interviews. This course breaks down complex system design concepts into manageable segments, offering a structured approach to understanding and tackling system design questions. It includes case studies, basic to advanced topics, and strategies to solve real-world system design problems effectively, making it a valuable resource for anyone looking to improve their interview performance.

  • Grokking Modern System Design Interview for Engineers & Managers:  an intermediate-level course offered by Educative that spans 179 lessons over approximately 26 hours. It includes interactive elements such as 5 playgrounds, 136 quizzes, and 832 illustrations. The course aims to equip learners with a modular approach to system design interviews, focusing on designing complex systems within a microservice architecture, understanding the nuances of project requirements and constraints, and familiarizing with various popular web-scale services construction.

  • System Design - Karan Pratap Singh - The System Design course offered by Karan Pratap Singh is designed to teach learners how to design scalable systems and prepare for system design interviews. The course covers a wide range of topics, including fundamental concepts like IP, OSI Model, TCP/UDP, DNS, and advanced subjects such as load balancing, caching, content delivery networks, database management, N-tier architecture, microservices, and security protocols like OAuth 2.0 and SSL/TLS. Additionally, it includes practical interview preparation with examples like designing systems for WhatsApp, Twitter, Netflix, and Uber. This comprehensive course is structured into multiple chapters, each focusing on critical aspects of system design.

  • The Beginner's Guide to React (Suggested by Lynn M): a course designed to introduce React fundamentals to newcomers. It covers JSX, rendering elements, components, and props, providing learners with the necessary skills to start building interactive UIs with React. This hands-on tutorial is ideal for those new to React or front-end development, emphasizing practical examples and clear explanations.

  • Data Structures Algorithms Javascript (Suggested by: Mone’t Fulgham): 

👩‍💻 Leopard Study Group Resources

🎙️Podcast

  • The Money with Katie Show (Suggested by Madison Scott): It aims to equip listeners with practical advice and techniques that work in real-world negotiation scenarios, likely focusing on business, economics, or personal situations.

📝Other Useful Resources:

Additional:

  • Packpub - is a publishing company focused on advancing technical knowledge through a vast collection of books, videos, courses, and other educational materials. They cater to learning needs across numerous tech fields, providing resources for both professionals and hobbyists looking to enhance their skills in the latest technologies and software development practices.

  • Frontend Mentor - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Advent of Code - is an annual December event where participants solve daily coding challenges to earn points and compete on leaderboards. Designed for programmers of all skill levels, it offers a fun and engaging way to practice coding with puzzles that increase in complexity. Each day, a new challenge is released, simulating an advent calendar.

  • Tech Interview Handbook - provides comprehensive, curated interview preparation materials for busy engineers. It offers a direct approach to excelling in technical interviews with resources including coding, algorithms, system design, and behavioral interview prep. The handbook has helped over a million engineers worldwide, offering tips, practice questions, and real-life success stories. It's particularly noted for its practical advice on all phases of the interview process, from resume crafting to offer negotiation.

  • Front End Interview Handbook - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Developer Roadmaps - is a community-driven platform that provides comprehensive roadmaps, guides, and educational content to help developers choose a learning path in their tech careers. It offers role-based roadmaps across various domains such as Frontend, Backend, DevOps, and more, as well as skill-based roadmaps focusing on specific technologies. The website aims to guide developers at all stages of their career, from beginners to experienced professionals, in mastering new skills and technologies

  • Codemia -  is designed to cater to both beginners and experienced professionals. Our tutorials cover fundamental and advanced system design topics, ensuring a seamless learning experience for all skill levels.


If you want to contribute resources, send them to us via email!

Master List of Study Resources

The Leopard Network has a master list of study resources that our community has put together. We've got all sorts of materials to match your learning style and interests, from textbooks to quick video tutorials. With our help, you'll be acing those interviews in no time.

📚Books

  • System Design Interview - An Insider's Guide by Alex Xu (Suggested by Frances Jurek): Offers a dependable method and knowledge for handling various system design queries. This book outlines a step-by-step process for solving these questions and uses real-life examples to demonstrate this approach, along with clear steps to follow.

  • The Staff Engineer's Path by Tanya Reilly (Suggested by Daniela Carey): a comprehensive guide aimed at software engineers aspiring to reach the staff engineer level, a pivotal role in many tech organizations that focuses on technical leadership without necessarily stepping into formal management. This book provides insights into the skills, strategies, and mindset required to successfully navigate the complexities and expectations of the staff engineer role. It covers topics such as technical decision-making, influencing organizational change, mentoring peers, and navigating the career ladder in the tech industry.

  • Security Engineering — Third Edition (Suggested by Jeri Sommers):

  • Introduction to Networking (Melissa Moy):

  • A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra) (Suggested by: Shannon C.):

  • Multi-Layer Data-Plane Telemetry Collection Design for Systems With Multiple Observers (Suggested by Miriam Hayes): 

🔗Links:

  • Frontend System Design Interview Overview:  Provides a comprehensive guide for candidates preparing for front-end system design interviews.

  • What Is Ssr?: Discuss the importance of Server Side Rendering (SSR), especially for React and other frameworks, focusing on benefits like improved first meaningful paint, better SEO, and graceful degradation without JavaScript. It highlights the complexity SSR adds, requiring configuration for common functionalities like data fetching, routing, internationalization, hot module replacement, and state management on the server side.

  • Coding Interview Study Plan: Provides a structured approach for preparing for coding interviews, based on the time available before the interview. It details a 3-month preparation timeline, covering essential topics and practice questions. 

  • Graph Cheatsheet for Coding Interviews: A comprehensive guide aimed at coding interview preparation, focusing on graph algorithms. It covers essential concepts like graph representations, search algorithms (BFS and DFS), and time complexity. The cheatsheet also includes tips for handling common interview challenges, corner cases, and provides a list of essential and recommended practice questions.

  • A Senior Engineer's Guide to the System Design Interview: Provides an in-depth approach to preparing for system design interviews, tailored for backend-leaning engineers at mid to senior levels. It covers mastering key concepts, a three-step framework for tackling any system design question, and practical examples of designing systems from scratch. 

  • System Design Interview Questions: A resource tailored for software engineers preparing for technical interviews. This platform offers an extensive range of system design questions that cover various aspects and challenges one might face during a technical interview, focusing on designing scalable systems, understanding key system components, and addressing common architectural problems.

  • 16 System Design Concepts I Wish I Knew Before the Interview: Offers valuable insights into crucial system design principles and practices that the author learned through experience. It aims to prepare readers for technical interviews by sharing lessons on scalability, reliability, availability, efficiency, and more, providing a foundation for approaching system design questions effectively.

  • Peacock Case Study: Illustrates how Peacock achieved a successful launch with AWS solutions. Launching in July 2020, Peacock quickly gained over 26 million sign-ups by December 2020, despite challenges like the COVID-19 pandemic. The case study details the strategic use of AWS for building a scalable, reliable cloud-based streaming platform capable of handling both on-demand video and live broadcasts, emphasizing the collaborative efforts and technological strategies that contributed to Peacock's flawless launch.

  • My System Design Template - Leetcode: Presents a structured approach to tackling system design interviews. The author shares a personal template that outlines key steps and considerations, aiming to guide readers through the process of designing a system during an interview. This resource is beneficial for candidates looking to structure their thoughts and cover essential aspects of system design systematically. 

  • Back of envelope calculations — Cheat Sheet: A guide aimed at improving estimation skills, crucial for problem-solving and technical interviews. It provides strategies and examples for making quick, accurate calculations by simplifying complex problems. This cheat sheet is particularly useful for professionals and students in fields requiring analytical skills to estimate solutions efficiently.

  • Graph cheatsheet for coding interviews: Covers fundamental graph types, traversal techniques like BFS and DFS, and key algorithms for solving common graph-related problems. This resource is designed to help candidates efficiently prepare for technical interviews by providing a solid foundation in graph theory and its applications.

  • Coding interview cheatsheet: Best practices before, during and after: Provides a coding interview study plan that outlines a strategic approach to preparing for coding interviews, tailored to the time available before the interview. It emphasizes mastering core algorithms, practicing coding problems, and understanding system design principles. The plan is designed to optimize preparation, whether you have months or just a few weeks, by focusing on essential topics and effective study habits.

  • Coding interview study plan - what to study and practice based on time left: A study plan designed to help candidates systematically prepare for coding interviews, offering a structured approach based on the amount of time available for study. It includes prioritized topics, key algorithms, and a selection of coding problems to practice. This resource aims to enhance understanding and problem-solving skills, making it ideal for those seeking to improve their chances in technical interviews.

  • system design interview framework (Suggested by Noemie Lachman): Offers comprehensive strategies and insights for tackling system design interviews. It provides a structured approach to understanding system design fundamentals, breaking down complex problems, and effectively communicating solutions. Aimed at candidates preparing for tech interviews, this guide emphasizes practical tips and common pitfalls to avoid.

  • System Design Cheatsheet (Suggested by Noemie Lachman): 

  • A cheat sheet for system design -The ByteByteGo Blog is a platform that simplifies complex systems into understandable terms. It is created by the authors behind a best-selling series of books on system design. The blog aims to reach over 500,000 readers, offering insights and explanations on various system design topics. It invites visitors to subscribe to their newsletter for updates and detailed explorations into system design concepts.

  • Grind 102 questions - an enhanced version of the popular Blind 75 study plan for technical interviews, tailored by the original author. It allows customization over an 11-week period, dedicating 8 hours per week to solve 102 selected LeetCode questions. These questions are categorized by difficulty (easy, medium, hard) and cover a broad range of topics, including arrays, binary trees, dynamic programming, and more. The goal is to prepare candidates for software engineering interviews by offering a structured and comprehensive study plan.

  • Grind 75 questions (Suggested by Jade Thornton): customizable tech interview preparation guide based on the popular Blind 75 list. It allows users to tailor their study plan, offering a selection of 75 critical coding problems from LeetCode to enhance problem-solving skills in areas crucial for software engineering interviews. This resource aims to streamline interview preparation by focusing on essential topics, making it an efficient tool for candidates looking to improve their coding proficiency and tackle technical interviews with confidence.

  • Debugging in the browser - an introduction to debugging JavaScript code using browser developer tools, specifically focusing on Chrome. It covers the basics of finding and fixing errors within a script, utilizing the "Sources" panel for code examination, setting breakpoints, and navigating through code execution. The guide also explains how to use the console for executing commands and observing results, alongside utilizing debugging commands like debugger; to pause code execution. It's a foundational guide for developers looking to understand and apply debugging techniques in web development.

  • A complete guide to the useEffect React Hook - LogRocket Blog - is a comprehensive resource for understanding how to use the useEffect React Hook effectively. It explores why useEffect exists, distinguishing it from lifecycle methods in class components and highlighting its role in executing side effects within functional components. The article provides in-depth explanations on executing asynchronous tasks, managing component lifecycle events, optimizing performance with dependency arrays, and incorporating cleanup functions to avoid memory leaks. Additionally, it offers practical advice on leveraging useEffect for data fetching, interacting with the DOM, and more, making it a valuable tool for React developers aiming to write cleaner and more efficient code.

  • Event: preventDefault() method - Web APIs | MDN - method in web development is used to stop the default action of an event from being executed. This is particularly useful when you want to prevent a browser's default behavior in response to a user action, such as submitting a form or following a link, without disabling the event itself. It allows for more flexible event handling by scripts.https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

  • HTML Input Types -  provides an overview of the various <input> types available in HTML. It covers standard types like text, password, submit, reset, radio, checkbox, and button, as well as newer additions such as email, date, time, color, and range. Each type is designed for specific data input to enhance user experience and data collection accuracy in web forms.

  • HTML input type Attribute - The type attribute in the <input> tag specifies the nature of the input, altering its behavior and input control presented to the user. It ranges from text, password, and button types to more specialized types like email, date, and color. The default type is "text" if not specified. This attribute is crucial for ensuring the correct data type is collected in web forms.

  • Accessibility - React - The React documentation on accessibility outlines best practices and tools for creating accessible web applications using React. It emphasizes the importance of semantic HTML, managing focus, ensuring keyboard navigation, and utilizing ARIA roles and properties. The guide aims to help developers understand how to build web applications that are inclusive and accessible to as many people as possible, including those with disabilities.

  • Designing Data Intensive Applications  (Suggested by Chidimma Onwuegbule) - 

  • Grokking the System Design Interview  (Suggested by Chidimma Onwuegbule)

  • System Design Interview An Insider’s Guide  (Suggested by Chidimma Onwuegbule)

  • Domain-Driven Design  (Suggested by Chidimma Onwuegbule): The GitHub repository "hiring-without-whiteboards" by poteto is a curated list of companies or job boards that offer tech interviews focusing on practical skills rather than traditional whiteboard-style questions. It's a resource for job seekers in the tech industry who prefer to demonstrate their coding abilities in a more realistic and applied manner, rather than through abstract algorithm puzzles.

  • The RADIO Framework  (Suggested by Gonz Maldonado): a structured approach for tackling front-end system design interviews. It outlines a process starting with Requirements Exploration, then moving to Architecture/High-level Design, Data Model, Interface Definition (API), and finally, Optimizations and Deep Dive. This framework aims to guide candidates through a systematic examination of a system's design, focusing on understanding problem requirements, designing a high-level architecture, detailing data models and APIs, and identifying potential optimizations.

  • A Guide to Consistent Hashing  (Suggested by Gonz Maldonado): The article on Toptal about consistent hashing explains its importance in distributing data across a cluster to minimize reshuffling when nodes are added or removed. It's a key technique in big data and distributed systems to achieve scalability and reliability. The guide covers the concept's fundamentals, practical applications, and how it addresses challenges in distributed network environments.

  • How to Improve Your InMail Response Rate, According to LinkedIn Data: discusses strategies for crafting InMails on their platform that achieve higher response rates. It emphasizes the importance of personalization, clarity, and brevity in messages to potential candidates or connections. Key insights include the effectiveness of concise messaging and the value of tailoring each InMail to the recipient's background and interests to engage them more effectively.

  • Software Engineer interviews: Best end of interview questions to ask (Suggested by Erica Lehotzky): offers guidance on concluding interviews effectively. It suggests asking insightful questions to demonstrate your interest and understanding of the role and company. This strategy is aimed at leaving a positive impression on the interviewer and gaining valuable information about the job and work environment.

  • The perfect questions to ask in your job interview (Suggested by Jade Thornton):  offers a comprehensive list of questions candidates can ask during interviews to better understand a company's culture and values. These queries are designed to uncover insights into workplace dynamics, team collaboration, leadership styles, and the company's commitment to diversity, work-life balance, and professional development.

  • How to study System Design Interviews by @elg0nz (Suggested by Gonz Maldonado): 

  • Stop Parroting YouTube solutions in System Design Interviews (Suggested by Flavia Bastos):

  • Cracking the Coding Interview

  • 5 months and 6 days… #JustDidIt! (by Lianna Novitz) 

  • UMPIRE Interview Strategy (suggested by Lianna Novitz)

  • System Design in Hurry (suggested by Candace Worthen) 

  • How to Build a Webhook Delivery System (Suggested by: Gonzalo Maldonado): 

  • Networking Basics (Suggested by: Lianna Novitz): 

  • Debug Node.js Apps using Visual Studio Code (Suggested by: Gonzalo Maldonado):

  • Check for Balanced Brackets in an expression (well-formedness) (Suggested by: Samantha Campbell): 

  • A Complete Guide to useEffect (Suggested by: Mariay D.): 

  • React Interview Questions (Suggested by: Amanda Stephano):

🌐Websites:

  • The Great Frontend (Suggested by Lisa Gee): dedicated to front end development, offering a wide array of guides, tutorials, and case studies tailored for front end developers and designers. It aims to bridge the gap in resources for those preparing for front end system design interviews by providing in-depth materials on various topics, including UI component design, application development, and system architecture. 

  • Neetcode:  NeetCode provides clear, concise explanations and solutions to complex coding challenges, often with multiple approaches to solve a problem. Its resources are aimed at both beginners and experienced coders, offering strategies, tips, and tricks to efficiently tackle algorithm and data structure questions.

  • Leetcode: is a premier online coding platform that offers a vast repository of programming challenges covering algorithms, data structures, databases, and more, catering to software developers and engineers preparing for technical interviews.

  • useHooks: A collection of modern, server-safe React hooks curated by the ui.dev team, designed to simplify various aspects of developing React applications. It offers a wide range of hooks for different purposes, including state management, fetching data, handling user input and events, and interacting with browser APIs.

  • Interviewing.io (Suggested by Tiffany Williams): A platform designed to offer anonymous technical interview practice with engineers from top tech companies. It provides a unique opportunity for job seekers to improve their interviewing skills in a real-world setting without the pressure of formal job applications. The platform matches candidates with experienced interviewers for live practice sessions, offering immediate feedback and advice.

  • BigFrontEnd.dev (Suggested by Faith Alyea):  A platform aimed at front-end developers seeking to practice their skills, prepare for job interviews, and connect with a global community. It's likened to "LeetCode for Front-End," offering over 600 questions on JavaScript, React, TypeScript, CSS, and more, alongside quizzes, puzzles, and system design questions. The platform features an all-in-one coding experience, including a VS Code-like code editor, instant feedback, built-in screen recording, and community interaction.

  • AlgoExpert (Suggested by Robin Stewart): A platform designed to help software engineers prepare for coding interviews. It offers a wide range of coding interview questions across various difficulty levels and programming languages. The platform provides detailed video explanations for each question, coding workspace, and theoretical content to enhance understanding and problem-solving skills. AlgoExpert is tailored to assist users in mastering algorithms and data structures, making it a valuable tool for anyone looking to ace their software engineering interviews.

  • Netflix TechBlog:  Offers deep insights into Netflix's streaming technology, infrastructure, and innovations. It features articles written by Netflix engineers and technology leaders, discussing challenges and solutions related to delivering content globally, optimizing streaming quality, and ensuring a seamless viewing experience for millions of users. The blog provides a behind-the-scenes look at the technical advancements and methodologies Netflix employs to lead in the streaming industry.

  • Pramp (Suggested by Alexandra Dobkin):  an interactive platform designed to help individuals practice technical interviews. It offers peer-to-peer mock interviews on a wide range of topics including software engineering, data science, and more. The service pairs users with others seeking to improve their interview skills, providing a real-time, collaborative environment for learning and preparation.

  • QUOKKA (Suggested by Michelle Mariani): Quokka.js is a rapid prototyping playground in your editor, with access to your project’s files, inline reporting, code coverage and rich output formatting. Runtime values are updated and displayed in your IDE next to your code, as you type.

  • Code Runner by Jun Han (Suggested by Michelle Mariani): 

  • Repljs (Suggested by Michelle Mariani): An online JavaScript editor for tinkering and testing

  • Replit(Suggested by Michelle Mariani): Replit is an online IDE that supports various programming languages, allowing users to write, run, and collaborate on code from their browsers. It's designed for coding, hosting, and sharing projects in a wide range of languages, making it a versatile tool for developers, educators, and students alike.

  • Snyk (Suggested by Hannah Neal): Snyk Advisor is an online tool that provides insights and advice on over 1 million open source packages across different programming ecosystems, including npm, PyPI, Go, and Docker. It helps developers evaluate open source packages based on factors like popularity, maintenance, security, and community engagement. This tool is designed to assist in making informed decisions when selecting dependencies for software projects.

  • Excalidraw (Suggested by Gonz Maldonado): Super simple and great for working together.

  • Microservices (Suggested by CJ Zhu): is an architectural style that structures an application as a collection of loosely coupled services, that implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.

  • Exaltitude (Suggested by Lexi Lewtan): a platform dedicated to empowering software engineers' career journeys towards purposeful success. It offers career development resources, including a comprehensive AI/ML study plan leveraging ChatGPT, and expert support to navigate career challenges. Founded by Jean, a former engineering manager at Facebook with a rich background in tech, and Soyoung, a coach focused on leadership development, Exaltitude provides tailored coaching, resume guidance, and actionable strategies for professional growth. 

  • LeadDev (Suggested by Lauren Beatty): a comprehensive resource for engineering leaders, covering topics such as team management, culture, diversity & inclusion, technical strategy, and professional development. It provides articles, virtual events, group leadership courses, and live broadcasts aimed at improving engineering management and leadership skills.

  • System Design in a Hurry (Suggested by Austyn T.):  a focused guide for rapid preparation in system design interviews, ideal for those looking to grasp essential concepts and strategies efficiently

  • The Joy of React

  • Frontend Hire

  • Machine Learning Interviews Book

  • Hello Interview (suggested by Sylvia Lujo):  amazing for system design practice. I seriously have never used a tool more helpful. They also put up videos on YouTube doing some walkthroughs of systems commonly asked about in interviews, and those were amazing to follow. This really helped me knock out my system design interview for my new job!

  • Exercism

  • Structy.net (Suggested by Kristen Godinez):

  • Interview Cake (Suggested by: Liz Prescott): 

  • CodinGame (Suggested by: Lianna Novitz): 

  • Node.js.org (Suggested by: Gonzalo Maldonado): 

  • PyCharm (Suggested by: Miriam Hayes): 

  • HackerRank (Suggested by: Julia Keer): 

  • Deno (Suggested by: Constantina Scoullis): 

  • JsFiddle (Suggested by: Bhagyashri Padmawar):

▶️Videos:

🚀Online Course:

  • Grokking the System Design Interview: An online course offered by Design Gurus, aimed at helping software engineers prepare for system design interviews. This course breaks down complex system design concepts into manageable segments, offering a structured approach to understanding and tackling system design questions. It includes case studies, basic to advanced topics, and strategies to solve real-world system design problems effectively, making it a valuable resource for anyone looking to improve their interview performance.

  • Grokking Modern System Design Interview for Engineers & Managers:  an intermediate-level course offered by Educative that spans 179 lessons over approximately 26 hours. It includes interactive elements such as 5 playgrounds, 136 quizzes, and 832 illustrations. The course aims to equip learners with a modular approach to system design interviews, focusing on designing complex systems within a microservice architecture, understanding the nuances of project requirements and constraints, and familiarizing with various popular web-scale services construction.

  • System Design - Karan Pratap Singh - The System Design course offered by Karan Pratap Singh is designed to teach learners how to design scalable systems and prepare for system design interviews. The course covers a wide range of topics, including fundamental concepts like IP, OSI Model, TCP/UDP, DNS, and advanced subjects such as load balancing, caching, content delivery networks, database management, N-tier architecture, microservices, and security protocols like OAuth 2.0 and SSL/TLS. Additionally, it includes practical interview preparation with examples like designing systems for WhatsApp, Twitter, Netflix, and Uber. This comprehensive course is structured into multiple chapters, each focusing on critical aspects of system design.

  • The Beginner's Guide to React (Suggested by Lynn M): a course designed to introduce React fundamentals to newcomers. It covers JSX, rendering elements, components, and props, providing learners with the necessary skills to start building interactive UIs with React. This hands-on tutorial is ideal for those new to React or front-end development, emphasizing practical examples and clear explanations.

  • Data Structures Algorithms Javascript (Suggested by: Mone’t Fulgham): 

👩‍💻 Leopard Study Group Resources

🎙️Podcast

  • The Money with Katie Show (Suggested by Madison Scott): It aims to equip listeners with practical advice and techniques that work in real-world negotiation scenarios, likely focusing on business, economics, or personal situations.

📝Other Useful Resources:

Additional:

  • Packpub - is a publishing company focused on advancing technical knowledge through a vast collection of books, videos, courses, and other educational materials. They cater to learning needs across numerous tech fields, providing resources for both professionals and hobbyists looking to enhance their skills in the latest technologies and software development practices.

  • Frontend Mentor - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Advent of Code - is an annual December event where participants solve daily coding challenges to earn points and compete on leaderboards. Designed for programmers of all skill levels, it offers a fun and engaging way to practice coding with puzzles that increase in complexity. Each day, a new challenge is released, simulating an advent calendar.

  • Tech Interview Handbook - provides comprehensive, curated interview preparation materials for busy engineers. It offers a direct approach to excelling in technical interviews with resources including coding, algorithms, system design, and behavioral interview prep. The handbook has helped over a million engineers worldwide, offering tips, practice questions, and real-life success stories. It's particularly noted for its practical advice on all phases of the interview process, from resume crafting to offer negotiation.

  • Front End Interview Handbook - offers front-end coding challenges that mimic real-life workflows, providing hands-on experience with HTML, CSS, and JavaScript. The platform designs the projects, so users can focus on coding. It features different levels of challenges, from beginner to advanced, and encourages learning by building projects. Users can submit solutions for feedback and review others' work, fostering a community of learning and improvement. Frontend Mentor also includes a Pro subscription for access to premium challenges and design files, aiming to prepare users for professional development work.

  • Developer Roadmaps - is a community-driven platform that provides comprehensive roadmaps, guides, and educational content to help developers choose a learning path in their tech careers. It offers role-based roadmaps across various domains such as Frontend, Backend, DevOps, and more, as well as skill-based roadmaps focusing on specific technologies. The website aims to guide developers at all stages of their career, from beginners to experienced professionals, in mastering new skills and technologies

  • Codemia -  is designed to cater to both beginners and experienced professionals. Our tutorials cover fundamental and advanced system design topics, ensuring a seamless learning experience for all skill levels.


If you want to contribute resources, send them to us via email!

Stay in the Loop

Stay in the Loop

Stay in the Loop