8 คำถามและคำตอบสัมภาษณ์เชิงมุม [2022]
เผยแพร่แล้ว: 2022-07-04คุณวางแผนที่จะสัมภาษณ์ตำแหน่ง Angular Developer หรือไม่? การเตรียมตัวกับคำถามสัมภาษณ์เชิงมุมเหล่านี้ดีที่สุด
หากคุณเป็นนักพัฒนา JavaScript คุณอาจรู้จักกรอบงานเชิงมุมสำหรับการพัฒนาส่วนหน้า มันได้กลายเป็นหนึ่งในทักษะที่เป็นที่ต้องการมากที่สุดสำหรับนักพัฒนาในโลกปัจจุบัน
อย่างไรก็ตาม การมีความเข้าใจที่ดีเกี่ยวกับกรอบงานเชิงมุมอาจเป็นเรื่องยากเล็กน้อย ในกรณีเช่นนี้ การเตรียมพร้อมสำหรับทุกสิ่งที่ผู้สัมภาษณ์สามารถนำเสนอได้เป็นสิ่งสำคัญ จากแนวทางสู่กรอบงาน จะช่วยให้คุณประสบความสำเร็จในการสัมภาษณ์และได้งานที่สามารถนำอาชีพของคุณไปสู่ระดับใหม่ได้
เราได้จัดเรียงคำถามสัมภาษณ์เชิงมุมที่เป็นที่นิยมมากที่สุดซึ่งคุณควรเตรียมพร้อมเพื่อรับงานในฝันของคุณ
การแสดงออกเชิงมุมคืออะไร? แตกต่างจาก JavaScript Expression อย่างไร
Angular Expression คือข้อมูลโค้ดที่โค้ดเดอร์วางไว้ในการเชื่อมโยง {{ expression }} ความแตกต่างที่สำคัญระหว่างนิพจน์เชิงมุมและ JavaScript คือ:
- ใช้ตัวกรองได้ง่ายก่อนแสดงข้อมูลรูปแบบ
- การประเมินเป็นการให้อภัยแก่ undefined และ null แทนที่จะเป็น JavaScript undefined ที่สร้าง ReferenceError และ TypeError
- ประเมินเทียบกับออบเจ็กต์ขอบเขต
- นิพจน์เชิงมุมประกอบด้วยข้อยกเว้น เงื่อนไข และลูป
อธิบายการผูกข้อมูล

การเชื่อมโยงข้อมูลถือเป็นหนึ่งในคุณลักษณะที่มีอิทธิพลและจำเป็นที่สุดที่สามารถสร้างการเชื่อมต่อระหว่างส่วนประกอบและ DOM ง่ายต่อการกำหนดกระบวนการของแอปพลิเคชันแบบโต้ตอบโดยไม่ต้องกังวลเกี่ยวกับการดึงและผลักดันแม่แบบและส่วนประกอบ มีการใช้การเชื่อมโยงข้อมูลหลายประเภทในเชิงมุม เช่น
- การผูกมัดทรัพย์สิน
- การผูกข้อมูลแบบสองทาง
- การผูกเหตุการณ์และ
- การแก้ไขสตริง
ให้เหลือบเห็นตะขอเกี่ยวกับวงจรชีวิตแบบต่างๆ ของ Angular
ตะขอของวงจรชีวิตเชิงมุมเป็นที่นิยมเมื่อตรวจสอบทริกเกอร์และการเปลี่ยนแปลงเฟสตลอดระยะเวลาของเฟสเฉพาะ องค์ประกอบวงจรชีวิตประกอบด้วย Constructor ซึ่งแบ่งออกเป็นสี่ส่วนหลัก: ngOchanges, ngOnInit, ngDoCheck และ ngOnDestroy ngOchanges ยังอยู่ใน ngAfterViewInit, ngAfterContentInit, ngAfterViewChecked และ ngAfterContentChecked
- ngOnchanges( ) – เมื่อคุณสมบัติอินพุตหนึ่ง (หรือมากกว่า) มีการเปลี่ยนแปลงในส่วนประกอบ วิธีการนี้จะถูกเรียก ได้รับค่าคุณสมบัติก่อนหน้านี้และปัจจุบันใน hook – SimpleChanges
- ngOnInit( ) – มันเกิดขึ้นหลังจาก ngOchanges เพื่อเริ่มต้นตั้งค่าคุณสมบัติอินพุตและส่วนประกอบ
- ngDoCheck( ) – มาถึงขั้นตอนที่สามเพื่อดำเนินการและตรวจจับการเปลี่ยนแปลงที่ Angular ทำไม่ได้ คุณสามารถใช้อัลกอริธึมการตรวจจับการเปลี่ยนแปลงได้อย่างรวดเร็วโดยใช้เบ็ดนี้
- ngAfterContentInit( ) – อีกตะขอหนึ่งคือการตอบกลับหลังจากได้รับโปรเจ็กต์เนื้อหาในคอมโพเนนต์
- ngAfterContentChecked( ) – ถัดไปคือ ngAfterContentChecked ที่ถูกเรียกหลังจาก ngDoCheck และ ngAftercontentInit ที่ตามมาทุกครั้งตอบสนองหลังจากเนื้อหาที่ฉาย
- ngAfterViewInit( ) – เบ็ดต่อไปที่จะเรียกคือ ngAfterViewInit เพื่อตอบสนองต่อมุมมองขององค์ประกอบลูกหลังจากตรวจสอบมุมมองของส่วนประกอบแล้ว
- ngOnDestroy( ) – ช่วยแยกตัวจัดการเหตุการณ์และล้างโค้ดก่อนที่ Angular จะทำลายส่วนประกอบ
ความแตกต่างระหว่าง AOT และ JIT ในเชิงมุมคืออะไร?

หลายคนอาจสับสนระหว่างคอมไพเลอร์ AOT และ JIT ใน Angular ดังนั้นจึงจำเป็นต้องรู้พื้นฐาน:

- คอมไพเลอร์ล่วงหน้า (AOT) จะคอมไพล์โค้ดบนเซิร์ฟเวอร์ ณ เวลาที่สร้าง ในเวลาเดียวกัน คอมไพเลอร์ Just-in-Time (JIT) กำลังทำงานในเบราว์เซอร์สำหรับแอปพลิเคชัน
- AOT นั้นเหมาะสมที่สุดสำหรับโหมดการผลิต ในขณะที่ JIT นั้นสำหรับโหมดการพัฒนาที่สามารถคอมไพล์โค้ดในโครงการ Angular
- การคอมไพล์ AOT ประกอบด้วยคำสั่ง ng serve และ ng build ในขณะที่การคอมไพล์ JIT ประกอบด้วยคำสั่ง ng serve และ ng build CLI
- AOT สามารถลดขนาดบันเดิลเพื่อการเรนเดอร์ที่เร็วขึ้น ในขณะที่ JIT มาพร้อมกับการดีบักและการนำคุณสมบัติหลักไปใช้กับไฟล์แผนที่
อธิบาย RxJS
Reactive Extensions for JavaScript (RxJS) ใช้สิ่งที่สังเกตได้ซึ่งช่วยให้นักพัฒนาสามารถเขียนโปรแกรมเชิงโต้ตอบได้ จุดมุ่งหมายคือการเขียนโค้ดแบบเรียกกลับหรือการดำเนินการแบบอะซิงโครนัสโดยใช้เฟรมเวิร์ก RxJS ใน Angular สามารถช่วยในการสตรีมข้อมูลไปยังสมาชิกที่เปล่งค่าจากผู้เผยแพร่ หากคุณไม่ได้ใช้ Angular ภาษาโปรแกรมอื่นๆ เช่น Python และ Java สามารถใช้สิ่งที่สังเกตได้โดยใช้โค้ดปฏิกิริยา
เจาะลึกลงไปในตัวกรองเชิงมุมประเภทต่างๆ

Angular ใช้ตัวกรองเพื่อแสดงให้ผู้ใช้จัดรูปแบบค่านิพจน์ที่สามารถเพิ่มลงในเทมเพลต คำสั่ง บริการ และตัวควบคุมได้ หนึ่งสามารถสร้างตัวกรองส่วนบุคคลตามความต้องการที่อนุญาตให้ผู้ใช้จัดระเบียบข้อมูลตามเกณฑ์ หลังจากสัญลักษณ์ไปป์ ( | ) ตัวกรองจะถูกวางในนิพจน์ ตัวกรองหลักที่ใช้ในเชิงมุมคือ:
- ตัวเลข – เพื่อแปลงค่าเป็นสตริง
- สกุลเงิน – การแปลงตัวเลขเป็นรูปแบบสกุลเงิน
- json – แปลงวัตถุใด ๆ เป็นสตริง JSON
- date – แปลงเป็นรูปแบบวันที่ใด ๆ
- limitTo – จำกัดอาร์เรย์หรือสตริงเฉพาะสตริงหรือองค์ประกอบ
- orderBy – จัดเรียงอาร์เรย์ในนิพจน์
- ตัวพิมพ์ใหญ่ – การแปลงสตริงเป็นตัวพิมพ์ใหญ่
- ตัวพิมพ์เล็ก - การแปลงสตริงเป็นตัวพิมพ์เล็ก
- ตัวกรอง – เลือกเซ็ตย่อยจากอาร์เรย์ที่กำหนด
กำหนดบูตสแตรป
Bootstrapping เป็นวิธีการเริ่มต้นหรือเริ่มต้นแอปพลิเคชันใน Angular ไม่ว่าจะเป็นแบบอัตโนมัติหรือแบบแมนนวล ให้เราช่วยให้คุณเข้าใจได้ดีขึ้น:
- การบูตอัตโนมัติจะรวมอยู่ด้วยเมื่อเพิ่มคำสั่ง ng-app บนแท็ก หากจำเป็น Angular รวบรวม DOM และเชื่อมโยงกับโมดูลการค้นหาคำสั่ง ng-app
- การบูตสแตรปด้วยตนเองคือการเริ่มต้นแอป Angular และให้การควบคุมแก่นักพัฒนาเพื่อดำเนินการและงานที่สำคัญในการรวบรวมเพจ
ให้ความกระจ่างเกี่ยวกับคำสั่งเชิงมุม

เมื่อพูดถึงคำสั่งเชิงมุม มีสามประเภทที่สำคัญเช่น:
- คุณลักษณะ – เมื่อใช้สิ่งนี้ เราสามารถเปลี่ยนลักษณะการทำงานและลักษณะขององค์ประกอบ คำสั่งอื่น และส่วนประกอบได้ ใช้ ngStyle และ ngClass เป็นแอตทริบิวต์ขององค์ประกอบ
- ส่วนประกอบ – ประกอบด้วยเทมเพลตที่สามารถกำหนดอินเทอร์เฟซผู้ใช้เดียวโดยใช้สไตล์ CSS โค้ด TypeScript และเทมเพลต HTML มันมักจะตกแต่งด้วยสัญลักษณ์ @ ให้คอมไพเลอร์เชิงมุมเพื่อแทนที่ด้วยเทมเพลตส่วนประกอบ
- โครงสร้าง – เปลี่ยนโครงสร้างมุมมองเพื่อซ่อนหรือแสดงข้อมูลบางส่วนโดยใช้คำสั่งต่างๆ เช่น คำสั่ง ngIf
บทสรุป
นี่คือคำถามและคำตอบที่จำเป็นซึ่งมักถูกถามในการสัมภาษณ์เชิงมุม มันจะช่วยให้คุณเตรียมตัวสำหรับการสัมภาษณ์ ฝึกฝน และได้งานในฝันของคุณ
หากคุณทำเสร็จแล้ว เรียนรู้เพิ่มเติมเกี่ยวกับ AngularJS
