Interview Preparation
Technical interview preparation and related resources
Learning how to design scalable systems will help you become a better engineer. This repository is for organizing and collecting resources related to system design. Chinese version
Implement all algorithms using Python. This project is a collection of various algorithms implemented in Python, mainly used for education and learning. It includes search, sorting, data structures, machine learning, cryptography, neural networks, etc.
It includes a variety of JavaScript-based algorithms and data structures, each with its own README that contains relevant descriptions and links for further reading (and YouTube videos).
A study note summarizing the computer classic books and official technical documents, covering many technical points such as algorithms, operating systems, networks, databases, etc.
A comprehensive guide to the core knowledge that most Java programmers need to master
There are more than 60 original articles based on LeetCode, covering all types of questions and techniques. The goal is to provide a comprehensive understanding rather than just a pile of code.
💯 This handbook contains the essence of technical interviews I collected during my last job search, which helped me get 9 jobs from 11 top Bay Area companies - Google, Airbnb, Palantir, Dropbox, Lyft and some startups!
A data structure and algorithm tutorial with animated illustrations, supporting multiple programming languages such as Java, C++, Python, Go, JS, TS, C#, Swift, Rust, Dart, Zig, etc. Through visualization, this project helps learners understand and learn various data structures and algorithms more easily.
LeetCodeAnimation - Presenting the solution to LeetCode problems in an animated form
A project that explains complex system design using visual and simple terms. It helps you prepare for system design interviews by helping you understand the principles of complex system design through graphics and easy-to-under understanding. If you are preparing for an interview or interested in system design, this project can help you gain a deeper understanding of the core concepts of system design.
A selected list of computer science video courses covering areas such as introduction to computer science, data structures and algorithms, system programming, software engineering, artificial intelligence, machine learning, etc., including open courses from famous universities and professional lecturer courses.
interviews - the basic technology you need to know to find a job
A project dedicated to large-scale system design, which gathers the patterns and best practices of scalable, reliable and high-performance systems. It provides developers with rich resources and references to help them design and implement efficient large-scale systems.
A Java algorithm list, which provides a detailed demonstration of the built-in algorithm implementations in Java. It offers Java developers a convenient reference, showcasing the application of Java's built-in algorithms in handling various tasks. This project helps developers better understand and use Java's algorithms through clear code examples and illustrations.
Front-end Developer Interview Questions
LeetCode - A github user records his journey of solving LeetCode problems
⭐️ Companies with no issues in the recruitment process, the interview techniques and questions listed here are more similar to daily work. For example, solving practical problems together or completing paid/unpaid post-class exercises. Read (and contribute to) our suggestions on how to conduct better interviews.
An interactive online visualization learning algorithm platform, which can see the corresponding operation of each line of code in the visualization area and has corresponding animation presentation, making it easier for you to understand the algorithm
Front-end Technology Interview Handbook, with Answers
The **Summer 2025 Tech Internships** repository, maintained by Pitt CSC and Simplify, is a collaborative platform for tracking software, tech, CS, PM, and quant internships in the U.S., Canada, and remote roles. It features a curated list of opportunities with details on company, role, location, and application links. The project encourages community contributions through issue submissions and offers resources like the *Zero to Offer* guide for internship success. Additionally, it highlights tools like *SWE List* for email updates and *Simplify* for autofilling internship applications, streamlining the job search process. Ideal for students seeking tech internships, it provides a centralized, up-to-date resource for navigating the competitive internship landscape.
interview_internal_reference - 2019 latest summary, Alibaba, Tencent, Baidu, Meituan, Toutiao and other technical interview questions, as well as answers, expert question setter analysis summary
Java interview and learning guide, which covers most of the core knowledge that Java programmers need to master, including JVM, concurrency and multi-threading, common tool sets, data structures and algorithms, message queues, databases, etc.
A collection of Python code snippets that collect some interesting, little-known features
C/C++ interview basic knowledge summary, for developers who are preparing to change jobs
A LeetCode question solution repository on GitHub, which covers LeetCode code implementations in various programming languages, including sorting algorithms, linked lists, binary trees, stacks and queues, dynamic programming, etc.
One front-end interview question every day, to keep you constantly aware of the crisis and improve your skills
A Java core knowledge base, covering topics such as collections, multi-threading, JVM, distributed systems, and architectural design.
The front-end interview has 3+1 questions every day. The author releases the interview questions by hand at 5 am every morning, and has been updated for 127 days so far.
This project compiles implementations of various algorithms in the Rust programming language, covering a wide range of algorithmic domains. It serves as a valuable resource for learning and utilizing Rust for algorithm development.
A very comprehensive algorithm resource, mainly divided into several categories such as supervised learning, unsupervised learning and neural networks, and provides the principle introduction and demo implementation of related algorithms
A free, open and continuously updated tutorial on programming competition-related knowledge. It includes basic knowledge of competitions, common question types, problem-solving ideas and common tools, aiming to help learners learn programming competition-related knowledge more quickly and deeply. Whether you are a beginner or a player with some experience, you can get valuable learning resources and references from it.
A project that gathers more than 1000 classic computer books, personal notes and various interview resources. The book resources cover various fields of computer science, including C/C++, Java, Python, Go language, data structures and algorithms, operating systems, backend architecture, computer networks, design patterns, etc. In addition, the project also includes articles and personal notes published by the author on various platforms, which is a treasure trove for computer learners.
An open-source organization that provides C language implementations of various fundamental algorithms and data structures. The project includes sample code for basic algorithms, covering multiple programming languages, offering valuable resources for learning and understanding algorithms.
Summarizes the popularity of high-frequency LeetCode questions that are easy to examine by major Internet companies in order to help students prepare for interviews more targetedly
An open source Java data structure and algorithm code example library. It organizes the course code examples, assignments, video tutorials, etc. of YouTuber Kunal Kushwaha.
A best interview map is created, which involves knowledge points from basic to in-depth and source code analysis. The content is not limited to front-end only.
A Java project for learning algorithms and data structures, which includes specific code implementations of common algorithms such as data structures, dynamic programming, geometry, graph theory, linear algebra, mathematics, search algorithms, and sorting algorithms.
A carefully collected and organized list of system design interview resources, providing practical cases from well-known technology companies and basic knowledge of system design, to help pass the system design interview.
LeetCode problem-solving template, which mainly records his experience in solving problems through various articles, columns, videos and other contents. It is for reference only
This repository provides comprehensive resources for learning Low Level Design (LLD) and Object-Oriented Design (OOD), tailored for interview preparation. It covers fundamental OOP concepts, SOLID principles, and design patterns (creational, structural, behavioral), along with UML diagrams for system design. The project includes a curated list of LLD interview problems categorized by difficulty (easy, medium, hard), such as designing a parking lot, ATM, or ride-sharing service. Additional resources include recommended books, Coursera courses, and a newsletter for updates. Contributions are encouraged to enhance content and add new problems, making it a collaborative and evolving learning platform.
**Domain-Driven Hexagon** is a comprehensive guide to designing robust, scalable, and maintainable software applications by combining architectural patterns like Domain-Driven Design (DDD), Hexagonal Architecture, Clean Architecture, and SOLID principles. It provides best practices, tools, and guidelines for structuring applications into modular, loosely coupled components. The project emphasizes separation of concerns, with distinct layers for domain logic, application services, and infrastructure. It includes code examples in Node.js, TypeScript, NestJS, and Slonik, but the principles are framework-agnostic, applicable to any language or stack. Key features include modular design, command-query separation, domain events, value objects, and behavioral testing. The architecture promotes testability, security, and scalability, making it suitable for complex systems while offering flexibility for simpler applications.
A comprehensive guide to generative AI learning, covering the latest research trends, interview materials, free courses, study notes and other rich content, helping learners systematically master knowledge related to generative AI.
A repository of interview questions, which includes explanations of data structures and algorithm knowledge points, interview questions from Internet companies such as Facebook, Apple, Google, and demo examples based on mainstream programming languages.
Machine Learning Interview, an open-source machine learning interview question bank on GitHub, includes machine learning interview questions from major internet companies around the world. The repository includes quick reference tables in areas such as probability and statistics, big data, A/B testing, machine learning, and deep learning, interview preparation, learning guides, project use cases, and interview experiences.
An open source algorithm knowledge base, through animation pictures and text introduction, developers can learn and absorb algorithm knowledge more easily.
A comprehensive summary of computer foundation interview questions. This material is compiled by the author from common interview questions and answers after two failed interviews with big companies. After systematically studying computer networks, operating systems, databases, etc., the author finally got an offer from a big company.
An open source best practice guide for civil service examination, jointly written by friends who have switched from programmers to civil servants, covering basic knowledge of public examinations, preparation practices, common problems, interview manuals and Q&A, etc.
A data science-related interview question, mainly divided into two parts: knowledge theory (such as linear regression, neural network, decision tree, text classification, etc.) and technical application (such as SQL, Python, algorithm, etc.) content
A list of rich DevOps learning resources covering CI/CD, databases, development operations practices, interview preparation, operating systems, networks, terminal commands, and more, along with a guide to getting started with DevOps.
It mainly includes excellent papers, algorithms, LaTeX paper templates, algorithm mind maps, books, and Matlab tutorials related to mathematical modeling competitions.
A guide that includes the basics of C#, .NET, .NET Core, learning routes, development practice, learning videos, articles, books, project frameworks, community organizations, essential development tools, common interview questions, interview guidelines, resume templates, etc. The project aims to record, collect, and summarize knowledge in relevant fields while sharing the author's insights in learning and work. Through this guide, I hope to learn together with everyone and make progress together.
Students who want to learn algorithms can read the book "Algorithms" written by Professor Jeff Erickson of the University of Illinois. This old professor has taught at UIUC for 20 years, and the content and experience of his lectures are condensed in this book.
An enterprise internal SRE technology course open-sourced by LinkedIn on GitHub. It mainly includes Linux, Git, Python, Web, MySQL, big data, system design, network security and other contents.
A developer in China has organized the LeetCode question classification and interview question answer analysis. It covers knowledge points such as linked lists, pointer traversal, string operations, stacks, recursion, dynamic programming, binary search trees, etc., and the solution code is implemented based on Java.
A must-have question bank for front-end interviews, containing over 1000 real interview questions covering HTML, CSS, JavaScript, Vue, React, Node, TypeScript, Webpack, algorithms, networks and security, browsers, and more.
Provides a super detailed tutorial on the basics of "algorithms and data structures", and a detailed analysis of 650+ questions in "LeetCode" in Python version. This tutorial will combine "algorithm theory learning" and "programming practical exercises" to take you from zero foundation to thoroughly mastering algorithm knowledge.
The algorithm competition template library created by Ling Cha Shan Ai Fu provides a series of carefully designed algorithm templates for algorithm competition enthusiasts. This library includes commonly used data structures and algorithm implementations in algorithm competitions, helping developers solve problems more efficiently.
A domestic developer has launched a LeetCode question solution project on GitHub, which currently includes more than 900 questions.