Angular

Change Detection

Zone.js, กลยุทธ์ change detection, กลยุทธ์ OnPush, ChangeDetectorRef, markForCheck, detectChanges, การปรับแต่งประสิทธิภาพ

20 คำถามสัมภาษณ์·
Mid-Level
1

กลไก change detection ใน Angular คืออะไร?

คำตอบ

Change detection คือกระบวนการที่ Angular ตรวจจับการเปลี่ยนแปลงในสถานะของแอปพลิเคชันและอัปเดต DOM ตามนั้น โดยค่าเริ่มต้น Angular ใช้ Zone.js เพื่อตรวจจับ event แบบ asynchronous (clicks, HTTP requests, timers) โดยอัตโนมัติ และเรียกใช้การตรวจสอบ component ตั้งแต่ root การตรวจสอบนี้จะเดินผ่านต้นไม้ของ component เพื่อระบุการแก้ไขที่จะนำไปใช้กับ DOM

2

บทบาทของ Zone.js ใน Angular change detection คืออะไร?

คำตอบ

Zone.js เป็นไลบรารีที่ patch API asynchronous ของเบราว์เซอร์ (setTimeout, Promise, addEventListener เป็นต้น) เพื่อสกัดการทำงานของมัน เมื่อการทำงานแบบ asynchronous เสร็จสิ้น Zone.js จะแจ้ง Angular ซึ่งจะกระตุ้น change detection โดยอัตโนมัติจาก root component สิ่งนี้ทำให้ Angular ตรวจจับการเปลี่ยนแปลงได้โดยไม่ต้องมีการแทรกแซงด้วยตนเองจากนักพัฒนา

3

ความแตกต่างระหว่างกลยุทธ์ Default และ OnPush คืออะไร?

คำตอบ

กลยุทธ์ Default ตรวจสอบ component ทั้งหมดในต้นไม้ในทุก ๆ รอบของ change detection ซึ่งอาจมีค่าใช้จ่ายสูง OnPush เพิ่มประสิทธิภาพโดยตรวจสอบ component เฉพาะเมื่อ input เปลี่ยนแปลง (การอ้างอิงที่ไม่เปลี่ยนแปลง) หากมี event ถูกปล่อยจาก template หาก async pipe ได้รับค่าใหม่ หรือหาก markForCheck() ถูกเรียกใช้ด้วยตนเอง OnPush ลดจำนวนการตรวจสอบลงอย่างมากและช่วยปรับปรุงประสิทธิภาพ

4

วิธีเปิดใช้กลยุทธ์ OnPush บน component อย่างไร?

5

วัตถุประสงค์ของ ChangeDetectorRef ใน component ของ Angular คืออะไร?

+17 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Angular อื่นๆ

พื้นฐาน TypeScript

Junior
25 คำถาม

TypeScript ขั้นสูง

Junior
20 คำถาม

พื้นฐาน Angular

Junior
20 คำถาม

คอมโพเนนต์และวงจรชีวิต

Junior
20 คำถาม

Services & Dependency Injection

Junior
20 คำถาม

การจัดระเบียบโมดูล Angular

Mid-Level
22 คำถาม

Angular CLI

Junior
18 คำถาม

Directives และ Pipes

Mid-Level
22 คำถาม

Routing และการนำทาง

Mid-Level
24 คำถาม

Reactive Forms

Mid-Level
26 คำถาม

Template-driven Forms

Mid-Level
16 คำถาม

พื้นฐาน RxJS

Mid-Level
22 คำถาม

Operator ของ RxJS

Mid-Level
24 คำถาม

HttpClient และการเรียก API

Mid-Level
22 คำถาม

การจัดการ state พื้นฐาน

Mid-Level
20 คำถาม

Angular Signals

Mid-Level
20 คำถาม

Standalone Components

Mid-Level
18 คำถาม

การทำ Unit Testing ใน Angular

Mid-Level
22 คำถาม

การทดสอบ End-to-End

Mid-Level
18 คำถาม

Build และการเพิ่มประสิทธิภาพ

Mid-Level
20 คำถาม

พื้นฐาน NgRx

Senior
24 คำถาม

NgRx ขั้นสูง

Senior
24 คำถาม

สถาปัตยกรรม Angular

Senior
22 คำถาม

การปรับแต่งประสิทธิภาพ

Senior
22 คำถาม

ความปลอดภัยและแนวทางปฏิบัติที่ดี

Senior
20 คำถาม

รูปแบบ RxJS ขั้นสูง

Senior
22 คำถาม

Angular Universal และ SSR

Senior
20 คำถาม

Angular Micro-frontends

Senior
20 คำถาม

เชี่ยวชาญ Angular สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี