Chuyển tới nội dung chính

Câu hỏi mới đã được thêm!Khám phá ngay

frontendprofrontendpro
Tổng quan
Tất cả câu hỏi luyện tậpFrameworks / ngôn ngữĐịnh dạng câu hỏiTất cả quiz
GIẢM 20%

Hoàn thành nhiệm vụ đơn giản để mở khóa ưu đãi

Xem nhiệm vụ
frontendprofrontendproTổng quan
Đăng nhập
GiáMỚITruy cập đầy đủĐăng nhập
frontendprofrontendpro

Tài liệu Software Engineering

Luyện tập

  • Tất cả câu hỏi
  • Tất cả quiz
  • Tất cả tài liệu

Khám phá

  • Tổng quan
  • Tiết kiệm thời gian
  • Frameworks / ngôn ngữ

Tài khoản

  • Đăng nhập
  • Đăng ký

© 2026 frontendpro. Bảo lưu mọi quyền.

DiscordLinkedInGitHub

Tất cả tài liệu

Tất cả tài liệu

67bài0Đã đọc ✓
React

React19-Actions-Compiler

React 19 đưa ra cách làm “trơn tru” hơn cho các tác vụ async như:

#React#ReactJS#V18and19
React

React18-Concurrency

Concurrent Rendering (render đồng thời / render có thể bị ngắt) là chế độ React có thể bắt đầu render một phiên bản UI mới, tạm dừng nếu có việc quan trọng hơn (gõ phím, click), rồi tiếp tục hoặc bỏ công việc cũ — thay v

#React#ReactJS#V18and19
React

React Fiber

React Fiber is a complete rewrite of React's reconciliation algorithm, introduced in React 16. It improves the rendering process by breaking down rendering work into smaller units, allowing React to pause and resume work

#React#ReactJS
React

Redux là gì? Hướng dẫn chi tiết về Redux

Redux là một thư viện quản lý state (trạng thái) phổ biến cho ứng dụng JavaScript, đặc biệt là với React. Redux giúp bạn lưu trữ và quản lý trạng thái toàn cục của ứng dụng một cách nhất quán, dễ kiểm soát và dễ debug.

#React#ReactJS
React

Giới thiệu chi tiết về Zustand

Zustand là một thư viện quản lý trạng thái (state management) cho React, được tạo ra bởi Poimandres. Tên "Zustand" trong tiếng Đức có nghĩa là "trạng thái". Triết lý của nó là cung cấp một giải pháp nhỏ, nhanh, và không

#React#ReactJS
React

React Context API: Hướng dẫn chi tiết

Định nghĩa: Context API là một tính năng của React cho phép bạn truyền dữ liệu qua cây component mà không cần phải truyền props thủ công qua từng cấp.

#React#ReactJS
React

Custom Hooks trong React

Định nghĩa: Custom Hooks là những JavaScript functions có tên bắt đầu bằng "use" và có thể gọi các Hooks khác bên trong. Chúng cho phép bạn tái sử dụng stateful logic giữa các component mà không cần thay đổi cấu trúc com

#React#ReactJS
React

Hook trong React

Định nghĩa: Hook dùng để thêm state (trạng thái) vào functional component. Trả về một mảng gồm giá trị hiện tại và hàm setter để cập nhật giá trị đó.

#React#ReactJS
React

Các phương thức vòng đời (Lifecycle Methods) trong Class Component

Trong Class Component, vòng đời được chia thành 3 giai đoạn chính:

#React#ReactJS
React

Component, Props, và State trong ReactJS Functional Component

Trong React, Component giống như những khối xây dựng độc lập và có thể tái sử dụng để tạo nên giao diện người dùng (UI). Mỗi component quản lý một phần giao diện và logic của riêng nó. Thay vì xây dựng toàn bộ UI trong m

#React#ReactJS
React

Reconciliation

Reconciliation in React is the process through which React updates the DOM to match the virtual DOM. When a component's state or props change, React creates a new virtual DOM tree and compares it with the previous one. T

#React#ReactJS
Performance

Debounce vs Throttle

Both Debounce and Throttle are techniques used in JavaScript to improve performance by limiting the number of times a function is executed. They are essential when dealing with events that fire rapidly, such as scrolling

#Performance
Performance

Service Worker là gì? Hướng dẫn chi tiết

Tác giả: @Tranloi2k

#Performance
Performance

Progressive Web App (PWA) là gì? Hướng dẫn chi tiết

Tác giả: @Tranloi2k

#Performance
Performance

Tree Shaking là gì? Giải thích chi tiết

Tác giả: @Tranloi2k

#Performance
Performance

Lazy Loading là gì?

Định nghĩa:

#Performance
Performance

Code Splitting là gì? Hướng dẫn chi tiết

Tác giả: @Tranloi2k

#Performance
Performance

Performance Metrics: Các chỉ số hiệu năng web & tối ưu chi tiết

Tác giả: @Tranloi2k

#Performance
Performance

Rendering Timing

In web development, rendering timing refers to the measurement and breakdown of the steps a browser takes to convert your code (HTML, CSS, and JavaScript) into the actual pixels displayed on a user's screen.

#Performance
Next.js

Tóm tắt và Nguyên tắc chung

SEO (Search Engine Optimization) là tập hợp các kỹ thuật giúp công cụ tìm kiếm hiểu và xếp hạng trang web của bạn tốt hơn. Việc tối ưu SEO bao gồm on-page SEO và technical SEO, cũng như performance optimization và user e

#Next.js#NextJS
Next.js

App Router — Điều hướng & Prefetch (bổ trợ)

Phần ngắn về <Link và prefetch. Hướng dẫn đầy đủ routing, layout, searchParams, error.tsx → 1. App Router — Chi tiết.

#Next.js#NextJS
Next.js

9. JWT Cookies & Dual Auth — Hướng dẫn chi tiết (Nova Shop)

Giải thích tại sao Nova có hai hệ auth (NextAuth + JWT NestJS), cách authFetch / refresh hoạt động, và so sánh best practice.

#Next.js#NextJS
Next.js

8. NextAuth v5 (Auth.js) — Hướng dẫn chi tiết

Cấu hình Auth.js / NextAuth v5 trong Nova Shop: file structure, providers, callbacks, session JWT.

#Next.js#NextJS
Next.js

7. Authentication — Hướng dẫn chi tiết (tổng quan)

Nền tảng xác thực (AuthN) và phân quyền (AuthZ) trước khi đọc 8. NextAuth v5 và 9. JWT Dual Auth.

#Next.js#NextJS
Next.js

6. Middleware — Hướng dẫn chi tiết

Tài liệu giải thích middleware.ts — chạy trước khi request tới page, dùng cho auth gate, redirect, và tích hợp NextAuth v5.

#Next.js#NextJS
Next.js

5. Data Fetching, Cache & Revalidation — Hướng dẫn chi tiết

Tài liệu này giải thích cách Next.js lấy và cache dữ liệu trong App Router, và cách Nova Shop áp dụng (revalidateTag, revalidatePath, refresh()).

#Next.js#NextJS
Next.js

4. Route Handlers — Hướng dẫn chi tiết

Tài liệu giải thích app/api//route.ts — tạo API HTTP trong Next.js (checkout Stripe, webhook, NextAuth).

#Next.js#NextJS
Next.js

3. Server Actions — Hướng dẫn chi tiết

Tài liệu giải thích Server Functions / Server Actions — gọi hàm server từ form hoặc client không cần tự viết /api/... cho mọi mutation.

#Next.js#NextJS
Next.js

2. Server vs Client Components — Hướng dẫn chi tiết

Tài liệu giải thích hai loại component trong App Router, khi nào dùng loại nào, và cách Nova Shop tách products/page.tsx (server) vs productForm (client).

#Next.js#NextJS
Next.js

10. Nova Shop — Hướng dẫn đọc codebase end-to-end

Tài liệu ghép mọi chủ đề (routing, RSC, actions, API, cache, auth) thành lộ trình đọc code thực tế Nova-online-shopping.

#Next.js#NextJS
Next.js

1. App Router — Hướng dẫn chi tiết

Tài liệu giải thích cách Next.js 15 map URL → file trong app/, và cách Nova Shop tổ chức route shop, checkout, API.

#Next.js#NextJS
Next.js

0. Mapping tài liệu chính thức Next.js & Best Practices vs Nova Shop

Tài liệu này đánh giá mức độ bao phủ lý thuyết chuẩn của bộ ghi chú trong folder NextJS/, liệt kê khoảng trống, và so sánh best practice theo Next.js Docs với cách làm trong Nova Shop.

#Next.js#NextJS
TypeScript

II. **Utility Types**

TypeScript adds a powerful layer of type safety to JavaScript. Here is a breakdown of the core concepts you’ll encounter in interviews and daily development.

#TypeScript#JS#TS
TypeScript

GenericType

In TypeScript, Generics are essentially "variables for types." They allow you to write code that is flexible enough to work with many different types while still maintaining strict type safety.

#TypeScript#JS#TS
JavaScript

Scope+Hoisting

Optimized tool selectionHere are concise explanations for each concept in JavaScript:

#JavaScript#JS
JavaScript

Prototype+Inheritance

In JavaScript, almost every object has a hidden property called [[Prototype]] (accessible in most browsers via proto).

#JavaScript#JS
JavaScript

🌟 **Advanced JavaScript**

A closure is a function that "remembers" the scope where it was created, allowing it to access variables from its parent function even after the parent has finished execution.

#JavaScript#JS
JavaScript

🟡 **I JavaScript Asynchronous Diagram**

!Ảnh minh họa

#JavaScript#JS
JavaScript

JavaScript Interview Study Guide

Covers: Prototypes & this · Event Loop & Concurrency · Memory & Performance

#JavaScript#JS
JS Engine

WebAssembly Integration

How WebAssembly runs side by side with JavaScript inside the very same engine — what it's good for, and where the boundary between the two costs you.

#JS Engine#JS#EngineLevel
JS Engine

Engine Threads & Concurrency

"JavaScript is single-threaded" is true in a precise and limited sense — your code runs on one thread, but the engine and host quietly use many.

#JS Engine#JS#EngineLevel
JS Engine

Module System

How JavaScript code gets split across files, linked together, and loaded — and why ES Modules behave differently from the older CommonJS in ways that actually matter.

#JS Engine#JS#EngineLevel
JS Engine

Runtime APIs (Browser / Node)

The engine runs the language; the host provides the APIs you actually build with. Keeping this line clear explains a surprising amount about portability.

#JS Engine#JS#EngineLevel
JS Engine

Event Loop & Async Runtime

How a single-threaded language manages to handle timers, network requests, and file I/O all at once without ever blocking.

#JS Engine#JS#EngineLevel
JS Engine

Garbage Collection

How V8 automatically figures out which memory is no longer needed and reclaims it — and why modern GC manages to do this without freezing your program.

#JS Engine#JS#EngineLevel
JS Engine

Memory Layout

Where JavaScript data actually lives — the split between stack and heap, how V8 organizes its heap into generations, and what a "memory leak" even means in a garbage-collected language.

#JS Engine#JS#EngineLevel
JS Engine

Closures & Scope Chain

How JavaScript decides which variable a name refers to across nested functions, and how closures keep variables alive long after the function that created them has returned.

#JS Engine#JS#EngineLevel
JS Engine

Execution Context

The internal environment a piece of JavaScript runs inside — the concept that explains hoisting, the temporal dead zone, this, and the call stack all at once.

#JS Engine#JS#EngineLevel
JS Engine

Deoptimization

What happens the moment the JIT's optimistic assumptions break — and why the truly expensive thing isn't a single deopt but a deopt loop.

#JS Engine#JS#EngineLevel
JS Engine

Array Optimization

How V8 represents arrays through "elements kinds," why packed integer arrays are the fastest thing going, and how a single careless line can permanently slow an array down.

#JS Engine#JS#EngineLevel
JS Engine

Object Optimization

How V8 physically stores an object's properties, what keeps an object on the fast path, and what quietly drops it onto the slow one.

#JS Engine#JS#EngineLevel
JS Engine

Inline Cache (IC)

The mechanism that makes a repeated obj.x fast by remembering, right at that spot in the code, where x was found last time.

#JS Engine#JS#EngineLevel
JS Engine

Hidden Class & Shapes

How V8 gives dynamic, dictionary-like objects the same fast, struct-style property access you'd expect from a statically typed language.

#JS Engine#JS#EngineLevel
JS Engine

JIT Compiler (TurboFan)

V8's optimizing compiler: it turns hot bytecode plus type feedback into fast native machine code — and gracefully unwinds when its assumptions turn out to be wrong.

#JS Engine#JS#EngineLevel
JS Engine

Bytecode Interpreter (Ignition)

V8's baseline tier: it turns the AST into compact bytecode, runs it, and quietly gathers the profiling data that makes everything faster later.

#JS Engine#JS#EngineLevel
JS Engine

Parser & AST

How raw source text becomes a structured tree the engine can execute — and why this stage quietly shapes your app's startup time.

#JS Engine#JS#EngineLevel
JS Engine

JS Value Representation

How a JavaScript engine (primarily V8) stores values in memory, and why that single design decision ripples through everything else.

#JS Engine#JS#EngineLevel
JavaScript

CORS

CORS stands for Cross-Origin Resource Sharing. It is a security mechanism implemented by web browsers to prevent a malicious website from accessing data from another website without permission.

#JavaScript#JS
JavaScript

AnyUnknownNever

In TypeScript, these three types represent different levels of "restriction." Understanding the difference is crucial for maintaining type safety while handling dynamic data.

#JavaScript#JS
Design Patterns

StatePattern

State Pattern (Mẫu thiết kế trạng thái) là một mẫu thiết kế hành vi (behavioral pattern) cho phép một đối tượng thay đổi hành vi của mình khi trạng thái nội bộ thay đổi. Đối tượng sẽ xuất hiện như thể nó được thay đổi cl

#Design Patterns#DesignPattern
Design Patterns

SingletonPattern

Singleton Pattern (Mẫu thiết kế Singleton) là một mẫu thiết kế thuộc nhóm creational (tạo sinh).

#Design Patterns#DesignPattern
Design Patterns

ObserverPattern

Observer Pattern (Mẫu thiết kế Observer/Quan sát viên) là một mẫu thiết kế hành vi (behavioral pattern).

#Design Patterns#DesignPattern
Design Patterns

Factory Pattern trong JavaScript

Dưới đây là thông tin đã được xác minh về Factory Pattern trong JavaScript, dựa trên các nguồn uy tín như MDN Web Docs, Refactoring Guru - Factory Method, và Addy Osmani - Learning JavaScript Design Patterns.

#Design Patterns#DesignPattern
Authentication

So sánh việc lưu Access Token: Local Storage vs Session Storage vs Cookie

Việc chọn nơi lưu trữ access token là một quyết định quan trọng, ảnh hưởng trực tiếp đến bảo mật của ứng dụng web. Dưới đây là so sánh chi tiết giữa ba phương pháp phổ biến.

#Authentication#Authen
Design

5 nguyên lý SOLID

Bộ nguyên lý thiết kế hướng đối tượng giúp code dễ bảo trì và mở rộng.

#oop#clean-code
Backend

REST vs GraphQL: chọn cái nào?

So sánh nhanh hai kiểu thiết kế API và khi nào nên dùng mỗi loại.

#api#architecture
Algorithms

Big-O Notation trong 5 phút

Cách đọc độ phức tạp thời gian/không gian và vì sao nó quan trọng.

#complexity#fundamentals