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