# cavszhouyou/front-end-interview-notebook

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cavszhouyou-front-end-interview-notebook).**

7,739 stars · 1,591 forks

## Links

- GitHub: https://github.com/CavsZhouyou/Front-End-Interview-Notebook
- awesome-repositories: https://awesome-repositories.com/repository/cavszhouyou-front-end-interview-notebook.md

## Description

This project is a front-end interview study guide and a collection of structured notes designed for technical job preparation. It serves as a comprehensive reference for web technologies, common technical interview questions, and JavaScript algorithm implementation.

The notebook distinguishes itself by integrating specialized guides for web performance optimization, browser API documentation, and JavaScript algorithm references. It provides a structured approach to solving coding challenges involving data structures like binary trees, linked lists, and array manipulation.

The content covers a broad spectrum of computer science fundamentals, including operating system process management, network protocols, and security vulnerabilities. It also addresses modern CSS layout design for responsive interfaces and browser security implementations to defend against XSS and CSRF.

## Tags

### Education & Learning Resources

- [Front End Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/front-end-interview-preparation.md) — Provides a structured study guide and technical notes specifically for front-end engineering interview preparation. ([source](https://github.com/cavszhouyou/front-end-interview-notebook#readme))
- [Front-End Knowledge Bases](https://awesome-repositories.com/f/education-learning-resources/front-end-knowledge-bases.md) — Serves as a structured knowledge base of technical references and tutorials for front-end engineering interviews.
- [Algorithm Practice Collections](https://awesome-repositories.com/f/education-learning-resources/algorithm-practice-collections.md) — Provides a curated collection of JavaScript implementations for common algorithmic problems and data structures.
- [Computer Science Fundamentals](https://awesome-repositories.com/f/education-learning-resources/computer-science-fundamentals.md) — Offers comprehensive reviews of core computer science topics, including operating systems and networking.
- [Operating System Internals](https://awesome-repositories.com/f/education-learning-resources/computer-science-fundamentals/operating-system-internals.md) — Includes structured notes on operating system fundamentals such as process management and memory allocation.
- [Cross-Domain Learning Roadmaps](https://awesome-repositories.com/f/education-learning-resources/curricula-instructional-design/educational-frameworks-architectures/content-navigation-mapping/cross-domain-learning-roadmaps.md) — Connects diverse technical domains like OS kernels and browser APIs into a unified learning framework.
- [Interview Questions](https://awesome-repositories.com/f/education-learning-resources/interview-questions.md) — Compiles high-frequency technical interview questions from major companies for job preparation. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E9%9D%A2%E8%AF%95%E8%AE%B0%E5%BD%95/%E9%9D%A2%E8%AF%95%E8%AE%B0%E5%BD%95.md))
- [Layered Technical Curricula](https://awesome-repositories.com/f/education-learning-resources/layered-technical-curricula.md) — Organizes technical knowledge in a layered progression from hardware and OS internals up to browser rendering.
- [Interview Problem Solving](https://awesome-repositories.com/f/education-learning-resources/problem-solving-guides/interview-problem-solving.md) — Provides a structured guide for solving coding challenges commonly encountered in technical interviews.
- [JavaScript Implementations](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/computer-science-concepts/javascript-implementations.md) — Offers a reference for implementing standard data structures and algorithms using JavaScript.
- [Depth Calculations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/algorithm-data-structure-guides/binary-trees/depth-calculations.md) — Implements algorithms to calculate the maximum height or depth of a binary tree. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Balance Verification](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/data-structure-implementations/data-structures/balanced-search-trees/balance-verification.md) — Provides algorithms to verify if a binary tree satisfies height-balance criteria. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [General List Sorting](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/data-structure-implementations/data-structures/ordered-lists/sorted-list-maintenance/general-list-sorting.md) — Provides implementations of general sorting algorithms to organize data lists. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Performance Optimization Guides](https://awesome-repositories.com/f/education-learning-resources/performance-optimization-guides.md) — Ships a specialized guide on improving web page load speeds and rendering efficiency.
- [Stack-Based Queues](https://awesome-repositories.com/f/education-learning-resources/queue-implementations/stack-based-queues.md) — Demonstrates how to implement first-in-first-out queue behavior using two stack structures. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Regular Expression Pattern Implementations](https://awesome-repositories.com/f/education-learning-resources/regular-expression-pattern-implementations.md) — Provides educational implementations of string pattern matching to simulate regular expression engines as a coding challenge. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Sorted Matrix Search Patterns](https://awesome-repositories.com/f/education-learning-resources/sorted-matrix-search-patterns.md) — Implements algorithmic strategies for searching target values in sorted two-dimensional matrices. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Version Control Fundamentals](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/version-control-learning/version-control-fundamentals.md) — Offers educational content on the fundamentals and conceptual differences between version control systems. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E5%B7%A5%E5%85%B7/%E5%B7%A5%E5%85%B7.md))

### Development Tools & Productivity

- [Interview Pattern Implementations](https://awesome-repositories.com/f/development-tools-productivity/coding-pattern-libraries/interview-pattern-implementations.md) — Implements recurring algorithmic patterns and data structures specifically curated for technical interview preparation.

### Programming Languages & Runtimes

- [Array Flattening Utilities](https://awesome-repositories.com/f/programming-languages-runtimes/array-flattening-utilities.md) — Provides a utility to collapse multi-dimensional arrays into a single-dimensional array. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Binary Search Trees](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-structures/hierarchical-tree-structures/binary-search-trees.md) — Provides recursive implementations for inserting, removing, and searching values within binary search trees. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))

### Scientific & Mathematical Computing

- [Exponentiation Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/floating-point-computation/exponentiation-algorithms.md) — Implements recursive logic to compute the power of a number. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Greatest Common Divisor Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/greatest-common-divisor-algorithms.md) — Implements the Euclidean algorithm to determine the greatest common divisor of two integers. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Recursive Tree Traversal Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/recursive-tree-traversal-algorithms.md) — Provides implementations and guides for pre-order, in-order, and post-order tree traversal algorithms.
- [Binary Tree Traversals](https://awesome-repositories.com/f/scientific-mathematical-computing/recursive-tree-traversal-algorithms/binary-tree-traversals.md) — Implements standard pre-order, in-order, and post-order visitation patterns for binary trees. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))

### Security & Cryptography

- [Browser Security](https://awesome-repositories.com/f/security-cryptography/application-and-system-security/browser-security.md) — Provides guides on protecting web applications from vulnerabilities like XSS and CSRF.
- [CSRF Protections](https://awesome-repositories.com/f/security-cryptography/security/application-and-web/web-application/csrf-protections.md) — Provides instructions on defending against cross-site request forgery using tokens and SameSite attributes. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md))
- [XSS Protections](https://awesome-repositories.com/f/security-cryptography/xss-protections.md) — Explains techniques for preventing cross-site scripting through input sanitization and security policies. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md))

### Software Engineering & Architecture

- [Non-Blocking Execution](https://awesome-repositories.com/f/software-engineering-architecture/client-server-architecture/long-running-task-protocols/non-blocking-execution.md) — Covers the use of promises and callbacks to execute non-blocking asynchronous tasks in the browser. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md))
- [Common Ancestor Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/common-ancestor-algorithms.md) — Implements an algorithm to identify the lowest shared ancestor node of two nodes in a tree. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Duplicate Element Detection](https://awesome-repositories.com/f/software-engineering-architecture/duplicate-element-detection.md) — Implements techniques for detecting identical values within an array using hash maps or sorting. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Recursive Processing Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/hierarchical-data-structures/recursive-processing-algorithms.md) — Implements algorithms for processing nested data structures, including depth calculation and balance verification.
- [Integer Bit Analyzers](https://awesome-repositories.com/f/software-engineering-architecture/integer-arithmetic/integer-bit-analyzers.md) — Provides an implementation for counting set bits and performing bitwise analysis on integers. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Intersection Detection](https://awesome-repositories.com/f/software-engineering-architecture/linked-lists/intersection-detection.md) — Provides a solution for finding the first intersection node between two separate linked lists. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Linked List Topology Transformers](https://awesome-repositories.com/f/software-engineering-architecture/linked-lists/linked-list-topology-transformers.md) — Provides routines for reversing the node pointers of a singly linked list. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Rendering Optimizations](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/frontend-rendering-loading/rendering-optimizations.md) — Includes technical notes on rendering optimizations to reduce browser reflows and repaints. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/Css/Css.md))

### Testing & Quality Assurance

- [Performance Measurement](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/performance-measurement.md) — Provides guides on using high-resolution timestamps to measure page load and script execution speed. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md))

### User Interface & Experience

- [Flexbox Layouts](https://awesome-repositories.com/f/user-interface-experience/flexbox-layouts.md) — Provides tutorials on composing responsive page layouts using CSS Flexbox and Grid. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/Css/Css.md))
- [Collection Deduplication](https://awesome-repositories.com/f/user-interface-experience/item-lists/collection-deduplication.md) — Provides a method to remove redundant elements from a collection to ensure uniqueness. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))

### Web Development

- [Cross-Domain Request Handling](https://awesome-repositories.com/f/web-development/cross-domain-request-handling.md) — Documents patterns for handling cross-domain requests using CORS, JSONP, and proxies. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md))
- [Page Speed Optimizations](https://awesome-repositories.com/f/web-development/page-speed-optimizations.md) — Offers structured guides on page speed optimizations, including resource counting and script loading order. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/Html/Html.md))
- [Media Lazy Loading](https://awesome-repositories.com/f/web-development/performance-optimizations/initial-page-load-optimizations/deferred-loading/media-lazy-loading.md) — Explains media lazy loading and asynchronous script attributes to improve initial page load times. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md))
- [Function Execution Throttling](https://awesome-repositories.com/f/web-development/rate-limiting/function-execution-throttling.md) — Implements client-side function execution control techniques such as debouncing and throttling. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md))
- [Responsive Layout Adaptation](https://awesome-repositories.com/f/web-development/responsive-layout-adaptation.md) — Includes study materials on adapting web layouts for different screen sizes and environments. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/Css/Css.md))
- [CSS Media Queries](https://awesome-repositories.com/f/web-development/responsive-layout-adaptation/css-media-queries.md) — Details modern CSS techniques using Flexbox, Grid, and media queries for responsive design.
- [Palindrome Validators](https://awesome-repositories.com/f/web-development/string-format-validators/palindrome-validators.md) — Implements a common interview algorithm to validate palindrome strings. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md))
- [Documentation References](https://awesome-repositories.com/f/web-development/web-browsers/documentation-references.md) — Includes comprehensive reference documentation for Web APIs, DOM manipulation, and communication protocols.
- [Web Performance Optimizations](https://awesome-repositories.com/f/web-development/web-performance-optimizations.md) — Covers conceptual study of web performance optimizations including multiplexing and header compression. ([source](https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md))

### Part of an Awesome List

- [Interview Preparation](https://awesome-repositories.com/f/awesome-lists/learning/interview-preparation.md) — Comprehensive study notes for frontend interviews.
