คำถามและคำตอบสัมภาษณ์นักพัฒนา MEAN Stack 21 อันดับแรกสำหรับผู้เริ่มต้นและผู้มีประสบการณ์
เผยแพร่แล้ว: 2020-03-09ด้วยการแปลงเป็นดิจิทัลที่เพิ่มขึ้นในอุตสาหกรรมสมัยใหม่ บริษัทและแบรนด์ต่าง ๆ ต่างกระตือรือร้นที่จะลงทุนในเว็บไซต์และแอปพลิเคชันที่รวดเร็ว ไดนามิก และมีประสิทธิภาพ อย่างไรก็ตาม ความพร้อมใช้งานและการเข้าถึงเทคโนโลยีการพัฒนาอย่างกว้างขวางทำให้การเลือกเทคโนโลยีที่เหมาะสมสำหรับการพัฒนาเว็บแอปเป็นเรื่องที่ท้าทาย ในขณะที่การพัฒนาแบบฟูลสแตก ฟรอนต์เอนด์ และแบ็กเอนด์นั้นอยู่ในระดับแนวหน้าของการพัฒนาเว็บ แต่ก็มีดาวดวงใหม่กำลังเข้ามาสร้าง นั่นคือ สแต็ค MEAN
โดยพื้นฐานแล้ว MEAN stack เป็นเทคโนโลยีโอเพ่นซอร์สที่มีเทคโนโลยีที่ใช้ JavaScript สี่อย่าง ได้แก่ MongoDB, ExpressJS, AngularJS, Node.js (MEAN) ด้วยการเรียนรู้และควบคุม MEAN stack คุณสามารถเพลิดเพลินกับข้อดีของโฮสต์โดเมนสำหรับการพัฒนาเว็บแอปและเว็บไซต์แบบไดนามิก
อ่าน: คำถามสัมภาษณ์นักพัฒนาเต็มกอง
เนื่องจากความต้องการ MEAN Stack Developers เพิ่มขึ้นอย่างต่อเนื่อง ในโพสต์นี้ เราจะพูดถึงคำถามสัมภาษณ์ MEAN stack ที่พบบ่อยที่สุด
เพื่อไม่ให้เป็นการเสียเวลา เรามาเริ่มกันเลยดีกว่า!
คำถามและคำตอบสัมภาษณ์นักพัฒนา MEAN Stack ยอดนิยม
1. จุดประสงค์ของ MongoDB คืออะไร?

MongoDB เป็นโปรแกรมจัดการฐานข้อมูลเชิงเอกสารที่ออกแบบมาเพื่อจัดเก็บข้อมูลปริมาณมาก มันบันทึกข้อมูลในรูปแบบไบนารี JSON และใช้แนวคิดของการรวบรวมและเอกสารประกอบ MongoDB เป็นฐานข้อมูลข้ามแพลตฟอร์ม NoSQL ที่มีประสิทธิภาพสูง ปรับขนาดได้สูง และมีความยืดหยุ่นที่ช่วยให้สืบค้นและจัดทำดัชนีได้อย่างราบรื่น
เรียนรู้การสร้างแอปพลิเคชัน เช่น Swiggy, Quora, IMDB และอื่นๆ2. จุดประสงค์ของ ExpressJS คืออะไร?
ExpressJS เป็นเฟรมเวิร์กของเว็บแอปพลิเคชันที่ออกแบบมาเพื่อรองรับและโฮสต์โปรเจ็กต์ Node.js เป็นเฟรมเวิร์กโอเพ่นซอร์สที่อยู่ภายใต้ลิขสิทธิ์ของ MIT ExpressJS จัดการเวิร์กโฟลว์ระหว่าง front-end และฐานข้อมูล และอำนวยความสะดวกในการถ่ายโอนข้อมูลอย่างราบรื่นและปลอดภัย มีการจัดการข้อผิดพลาดที่ยอดเยี่ยมและฟังก์ชันการออกแบบเว็บเพื่อเพิ่มประสิทธิภาพกระบวนการพัฒนาเว็บ
3. AngularJS มีจุดประสงค์อะไร?
AngularJS เป็นเฟรมเวิร์กการพัฒนาเว็บแอปพลิเคชันส่วนหน้าแบบโอเพนซอร์สที่ดูแลโดย Google ช่วยให้นักพัฒนาเว็บใช้ HTML เป็นภาษาเทมเพลตและขยายไวยากรณ์ HTML เพื่อแสดงส่วนประกอบของเว็บแอปได้อย่างชัดเจนและแม่นยำ
4. หน้าที่ของ Node.js คืออะไร?
Node.JS เป็นเฟรมเวิร์ก JavaScript แบบโอเพนซอร์ส ข้ามแพลตฟอร์ม เธรดเดียวที่ใช้สำหรับการพัฒนาแอปพลิเคชันฝั่งเซิร์ฟเวอร์และเครือข่าย เป็นแกนหลักของสแต็ก MEAN นอกเหนือจาก JavaScript แล้ว Node.js ยังใช้ภาษาการเขียนโปรแกรม C และ C++ Node.js มาพร้อมกับเว็บเซิร์ฟเวอร์รวมที่อำนวยความสะดวกในการปรับใช้ฐานข้อมูล MongoDB และแอปพลิเคชันคลาวด์อย่างราบรื่น
5. ตั้งชื่อ IDE ที่ใช้กันทั่วไปในการพัฒนา Node.JS?
IDE ยอดนิยมที่สามารถใช้สำหรับการพัฒนา Node.JS ได้แก่:
- อะตอม
- Cloud9
- คราส
- โคโมโด IDE
- JetBrainsWebStorm
- JetBrains IntelliJ IDEA
6. พังพอนคืออะไร?
Mongoose เป็น Object Document Mapper (ODM) ซึ่งหมายความว่าโดยใช้ Mongoose คุณสามารถกำหนดอ็อบเจ็กต์ด้วยสคีมาที่พิมพ์อย่างเข้มงวด ซึ่งสามารถแมปเพิ่มเติมกับเอกสาร MongoDB ได้ นำเสนอโซลูชันตามสคีมาสำหรับการสร้างแบบจำลองข้อมูลแอปพลิเคชัน Mongoose มาพร้อมกับ typecasting ในตัว การตรวจสอบความถูกต้อง การสร้างแบบสอบถาม ตะขอเกี่ยวกับตรรกะทางธุรกิจ และคุณสมบัติอื่นๆ อีกมากมายที่พร้อมใช้งานทันที
อ่าน: ความแตกต่างระหว่างการพัฒนาสแต็กแบบเต็มและค่าเฉลี่ยสแต็ก
7. กำหนดแบบจำลอง DATA?
การสร้างแบบจำลองข้อมูลเป็นคำที่ใช้ในบริบทของ Mongoose และ MongoDB ตามชื่อที่แนะนำ การสร้างแบบจำลองข้อมูลหมายถึงกระบวนการสร้างแบบจำลองข้อมูลสำหรับข้อมูลที่อยู่ในมือ เพื่อให้สามารถจัดเก็บไว้ในฐานข้อมูลได้ โมเดลข้อมูลคือการนำเสนอแนวคิดของออบเจ็กต์ข้อมูล ความสัมพันธ์ระหว่างออบเจ็กต์ข้อมูลต่างๆ และกฎที่กำหนดความสัมพันธ์เหล่านั้น
การสร้างแบบจำลองข้อมูลช่วยในการแสดงข้อมูลเป็นภาพ ในขณะเดียวกันก็บังคับใช้กฎเกณฑ์ทางธุรกิจ การปฏิบัติตามกฎระเบียบ และนโยบายของรัฐบาลเกี่ยวกับข้อมูล มันถูกนำไปใช้เพื่อให้แน่ใจว่ามีความสอดคล้องในการตั้งชื่อแบบแผน ค่าเริ่มต้น ความหมาย ความปลอดภัย และคุณภาพของข้อมูล
8. REPL ใน Node.Js คืออะไร?
REPL หรือ “Read Eval Print Loop” เป็นโปรแกรมธรรมดาที่สามารถรับคำสั่ง ประเมิน และพิมพ์ผลลัพธ์ได้ สิ่งที่ REPL ทำคือการสร้างสภาพแวดล้อมที่คล้ายกับเชลล์ Unix/Linux หรือคอนโซล Window ซึ่งคุณสามารถป้อนคำสั่งและระบบ และมันจะตอบสนองด้วยเอาต์พุต นี่คือฟังก์ชันที่ REPL ดำเนินการ:
- อ่าน - อ่านอินพุตที่ผู้ใช้ให้มา แยกวิเคราะห์เป็นโครงสร้างข้อมูล JavaScript และเก็บไว้ในหน่วยความจำ
- EVAL – ดำเนินการโครงสร้างข้อมูล
- พิมพ์ – พิมพ์ผลลัพธ์ที่สร้างขึ้นหลังจากประเมินคำสั่ง
- LOOP – จะวนซ้ำคำสั่งด้านบนจนกว่าผู้ใช้จะกด Ctrl+C สองครั้ง
9. กำหนดขอบเขตใน JavaScript
ใน JavaScript แต่ละฟังก์ชันมีขอบเขต ซึ่งโดยพื้นฐานแล้วคือชุดของตัวแปรและกฎที่กำหนดวิธีที่ชื่อเฉพาะของฟังก์ชันเหล่านั้นเข้าถึงตัวแปรเหล่านั้น คุณสามารถเข้าถึงตัวแปรที่กำหนดขอบเขตของฟังก์ชันได้ผ่านโค้ดภายในฟังก์ชันนั้นเท่านั้น แม้ว่าตัวแปรที่อยู่ในขอบเขตเฉพาะจะต้องมีชื่อที่ไม่ซ้ำ ขอบเขตสามารถมีอยู่ภายในขอบเขตอื่นได้ ในกรณีนี้ โค้ดของขอบเขตในสุดสามารถเข้าถึงตัวแปรที่อยู่ในขอบเขตใดก็ได้
10. ระบุความแตกต่างระหว่างการค้นหาเชิงเส้นและการค้นหาแบบไบนารี
การค้นหาเชิงเส้นจะพิจารณารายการของรายการทีละรายการโดยไม่มีลำดับการข้าม ดังนั้นในแง่ของความซับซ้อน มันจัดเป็นการค้นหา O(n) โดยที่เวลาที่ใช้ในการค้นหารายการจะเพิ่มขึ้นตามสัดส่วนที่เพิ่มขึ้นในรายการ ตรงกันข้าม การค้นหาแบบไบนารีเริ่มต้นที่ตรงกลางของรายการ การค้นหานี้มีจุดมุ่งหมายเพื่อดูว่ามูลค่ารายการมากกว่าหรือน้อยกว่ามูลค่าที่ต้องการ
สิ่งนี้จะกำหนดตำแหน่งของค่าในรายการเพิ่มเติม - ไม่ว่าจะอยู่ในส่วนแรกหรือส่วนที่สองของรายการ ในแง่ของความซับซ้อน จะจัดประเภทเป็นการค้นหา O(log n) โดยที่จำนวนการดำเนินการค้นหาเพิ่มขึ้นค่อนข้างช้ากว่ารายการ สาเหตุหลักมาจากการที่พื้นที่การค้นหาแบ่งออกเป็นครึ่งหนึ่งในแต่ละการดำเนินการ
แม้ว่าการค้นหาแบบไบนารีจะทำให้คุณต้องเรียงลำดับข้อมูลที่ป้อนเข้าก่อน แต่รายการเชิงเส้นไม่มีข้อกำหนดเบื้องต้นดังกล่าว
11. เน้นความแตกต่างระหว่าง Node.js, AJAX และ jQuery
Node.js, AJAX และ jQuery เป็นการนำ JavaScript ไปใช้ขั้นสูงทั้งหมด อย่างไรก็ตาม พวกเขามีความแตกต่างกันพอสมควร
Node.js เป็นแพลตฟอร์มฝั่งเซิร์ฟเวอร์ที่ใช้สำหรับการพัฒนาแอปพลิเคชันไคลเอนต์-เซิร์ฟเวอร์ ในขณะที่ AJAX หรือที่รู้จักในชื่อ Javascript และ XML แบบอะซิงโครนัสเป็นเทคนิคการเขียนสคริปต์ฝั่งไคลเอ็นต์ซึ่งส่วนใหญ่ใช้สำหรับการแสดงผลเนื้อหาของเพจโดยไม่ต้องรีเฟรช AJAX ใช้เพื่อแสดงเนื้อหาแบบไดนามิกเป็นหลัก jQuery เป็นโมดูล JavaScript ที่เสริม AJAX, DOM traversal และ looping มันเต็มไปด้วยฟังก์ชันที่มีประโยชน์มากมายเพื่อช่วยในการพัฒนา JavaScript
12. กำหนดการฉีดพึ่งพา
Dependency Injection เป็นแนวคิดการออกแบบซอฟต์แวร์ที่ช่วยให้คุณใช้หรือฉีดบริการในรูปแบบที่ไม่ขึ้นกับปริมาณการใช้ของลูกค้า การทำเช่นนี้จะเป็นการป้องกันไม่ให้ไคลเอ็นต์แก้ไขการขึ้นต่อกันเมื่อบริการพื้นฐานเปลี่ยนแปลงไป
วัตถุประสงค์หลักของการแทรกการพึ่งพาคือเพื่อแยกการสร้างการพึ่งพาของลูกค้าออกจากพฤติกรรม ซึ่งจะทำให้คุณสามารถออกแบบโปรแกรมที่เชื่อมต่อกันอย่างหลวมๆ ในโปรแกรมที่เชื่อมต่อกันอย่างหลวม ๆ ส่วนประกอบมักจะใช้ฟังก์ชันการทำงานที่กำหนดโดยอินเทอร์เฟซโดยไม่ต้องมีความรู้ล่วงหน้าว่าคลาสการใช้งานใดกำลังถูกใช้อยู่

การพึ่งพาอาศัยกันช่วยให้คุณสามารถปรับเปลี่ยนหรือปรับแต่งการทำงานของแอปพลิเคชันโดยการปรับเปลี่ยนส่วนประกอบที่ใช้อินเทอร์เฟซที่กำหนดคุณสมบัติของแอปพลิเคชัน
13. กำหนดคอนเทนเนอร์ไลเซชัน
การทำคอนเทนเนอร์เป็นอีกทางเลือกหนึ่งสำหรับการจำลองเสมือนเครื่องที่ใช้ไฮเปอร์ไวเซอร์แบบดั้งเดิม ซึ่งเกี่ยวข้องกับการห่อหุ้มแอปพลิเคชันในคอนเทนเนอร์ภายในสภาพแวดล้อมการทำงานของตัวเอง ในคอนเทนเนอร์คอนเทนเนอร์ แทนที่จะโคลนระบบปฏิบัติการสำหรับเครื่องเสมือนแต่ละเครื่อง จะถูกแชร์โดยคอนเทนเนอร์อื่น ด้วยการโหลดแอปพลิเคชันในเครื่องเสมือน คุณสามารถเรียกใช้แอปบนเครื่องจริงที่เหมาะสมโดยไม่ต้องกังวลเกี่ยวกับการขึ้นต่อกัน
14. กำหนดพีระมิดทดสอบ คุณจะทำให้ Test Pyramid เป็นจริงได้อย่างไรเมื่อพูดถึง HTTP APIs
โดยปกติ เว็บแอปแบบฟูลสแตกมีขนาดใหญ่และซับซ้อน พวกเขาได้รับการออกแบบมาเพื่อขยายฟังก์ชันการทำงานเพื่อรองรับความต้องการที่แตกต่างกันหลายร้อยของผู้ใช้หลายล้านคน ดังนั้น เมื่อขนาดของโค้ดเบสแบบฟูลสแตกและจำนวนผู้ใช้เพิ่มขึ้น ค่าใช้จ่ายในการจัดการกับจุดบกพร่องก็เพิ่มขึ้นเช่นกัน อย่างไรก็ตาม สิ่งนี้สามารถบรรเทาได้สำเร็จโดยใช้แนวคิดของปิรามิดทดสอบกับโค้ดเบสของคุณ
วิธีพีระมิดทดสอบแสดงถึงวิธีคิดที่รุนแรงว่าการทดสอบอัตโนมัติประเภทต่างๆ สามารถทำได้และควรใช้เพื่อสร้างพอร์ตโฟลิโอที่สมดุลอย่างไร โดยเน้นว่าจำนวน UnitTests ระดับต่ำควรมากกว่า BroadStackTests ระดับสูงที่ทำงานผ่าน GUI
เมื่อพูดถึง HTTP API คุณสามารถทำให้ปิรามิดทดสอบเป็นจริงได้โดยทำตามขั้นตอนที่กล่าวถึงด้านล่าง:
- รวมการทดสอบหน่วยระดับต่ำจำนวนมากสำหรับโมเดลของคุณ
- รวมการทดสอบการเข้าร่วมน้อยลงซึ่งใช้สำหรับกำหนดว่าโมเดลของคุณทำงานร่วมกันอย่างไร
- รวมการทดสอบการรับทราบซึ่งใช้สำหรับทดสอบปลายทาง HTTP ของแท้น้อยลง
15. ดัชนีทำหน้าที่อะไรใน MongoDB?
ใน MongoDB ดัชนีจะใช้เพื่อสนับสนุนและอำนวยความสะดวกในการดำเนินการสืบค้นข้อมูลอย่างมีประสิทธิภาพ หากไม่มีดัชนี MongoDB ต้องทำการสแกนคอลเลกชั่น โดยจะต้องสแกนเอกสารทุกฉบับในคอลเลกชั่น และเลือกเอกสารที่เหมาะสมที่ตรงกับข้อความค้นหา อย่างไรก็ตาม หากการสืบค้นแต่ละรายการมีการกำหนดดัชนีที่เหมาะสม MongoDB สามารถใช้ดัชนีเพื่อจำกัดจำนวนเอกสารที่จะต้องตรวจสอบ
16. ความแตกต่างระหว่างคลาสและอินเทอร์เฟซใน TypeScript คืออะไร?
คลาสและอินเทอร์เฟซเป็นโครงสร้างที่ส่งเสริมทั้งการเขียนโปรแกรมเชิงวัตถุและการตรวจสอบประเภทใน TypeScript แม้ว่าคลาสจะเป็นพิมพ์เขียวซึ่งคุณสามารถสร้างกลุ่มของอ็อบเจ็กต์ที่แชร์คอนฟิกูเรชันเดียวกัน (คุณสมบัติและเมธอด) อินเทอร์เฟซคือกลุ่มของคุณสมบัติและเมธอดที่เกี่ยวข้องซึ่งอธิบายอ็อบเจ็กต์ อย่างไรก็ตาม อินเทอร์เฟซไม่ได้จัดเตรียมการใช้งานหรือการเริ่มต้นสำหรับออบเจ็กต์
โดยปกติ คลาสจะกำหนดว่าอ็อบเจกต์ควรมีลักษณะอย่างไรและมีลักษณะอย่างไร ดังนั้นจึงสร้างและใช้งานพิมพ์เขียวโดยเริ่มต้นคุณสมบัติของคลาสและกำหนดเมธอด ชั้นเรียนมีอยู่ในทุกขั้นตอนของรหัส ในทางกลับกัน อินเทอร์เฟซเป็นโครงสร้างเสมือนที่มีอยู่ภายในบริบทของ TypeScript เท่านั้น คอมไพเลอร์ TypeScript ใช้อินเทอร์เฟซเฉพาะสำหรับการตรวจสอบประเภท
17. กำหนด “มัณฑนากร” ใน TypeScript
ใน TypeScript มัณฑนากรหมายถึงการประกาศชนิดพิเศษที่มักจะแนบมากับการประกาศคลาส เมธอด ตัวเข้าถึง คุณสมบัติ หรือพารามิเตอร์ มัณฑนากรเป็นหน้าที่ที่ใช้เป้าหมายเป็นข้อโต้แย้ง สิ่งเหล่านี้ทำให้คุณสามารถเรียกใช้โค้ดโดยอำเภอใจรอบๆ การดำเนินการเป้าหมาย หรือแม้แต่แทนที่เป้าหมายด้วยคำจำกัดความใหม่ทั้งหมด
18. “การโทรกลับ” ใน Node.js หมายความว่าอย่างไร
ใน Node.js การเรียกกลับเป็นฟังก์ชันที่เทียบเท่าแบบอะซิงโครนัส Node.js อาศัยการเรียกกลับที่ถูกเรียกเมื่อถึงจุดสุดยอดหรือความสมบูรณ์ของงานที่กำหนด ตัวอย่างเช่น สมมติว่าฟังก์ชันที่ออกแบบมาสำหรับการอ่านไฟล์อาจเริ่มอ่านไฟล์และส่งคืนการควบคุมไปยังสภาพแวดล้อมการดำเนินการทันทีเพื่ออำนวยความสะดวกในการดำเนินการคำสั่งถัดไป
เมื่อไฟล์ I/O เสร็จสมบูรณ์ ฟังก์ชันเรียกกลับจะถูกตั้งค่าให้เคลื่อนไหวและส่งผ่านเนื้อหาของไฟล์เป็นพารามิเตอร์ เพื่อให้แน่ใจว่าไม่มีการบล็อกหรือรอไฟล์ I/O คุณลักษณะนี้ทำให้ Node.js สามารถปรับขนาดได้สูง เนื่องจากสามารถประมวลผลคำขอจำนวนมากโดยไม่ต้องรอผลลัพธ์ของฟังก์ชันใดๆ
Node API ทั้งหมดเขียนขึ้นในลักษณะที่สามารถรองรับการเรียกกลับได้
19. กำหนด Cross-site Scripting (XSS)
Cross-site Scripting (XSS) คือ การโจมตีด้วยการฉีด โค้ดฝั่งไคลเอ็นต์ ซึ่งสคริปต์ที่เป็นอันตรายจะถูกเรียกใช้ในเว็บเบราว์เซอร์โดยรวมโค้ดที่เป็นอันตรายในหน้าเว็บหรือเว็บแอปพลิเคชันที่ถูกต้อง นอกจากนี้ยังอาจเกิดขึ้นได้เมื่อบุคคลคลิกลิงก์ที่ไม่น่าเชื่อถือซึ่งสามารถส่งคุกกี้และข้อมูลสำคัญอื่น ๆ ไปยังผู้โจมตีได้
การโจมตีเกิดขึ้นเมื่อคุณเยี่ยมชมเว็บเพจหรือเว็บแอปที่รันโค้ดที่เป็นอันตราย ดังนั้นหน้าเว็บหรือเว็บแอปจึงกลายเป็นเครื่องมือในการส่งสคริปต์ที่เป็นอันตรายไปยังเบราว์เซอร์ของผู้ใช้
ยานพาหนะที่ใช้บ่อยที่สุดสำหรับการโจมตีแบบแฝงสคริปต์ ได้แก่ ฟอรัม กระดานข้อความ และแม้แต่หน้าเว็บที่สนับสนุนให้ผู้ใช้แสดงความคิดเห็น
20. กำหนด ทอท. และกล่าวถึงประโยชน์ที่ได้รับ
แอปพลิเคชันเชิงมุมมีเทมเพลต HTML ควบคู่ไปกับส่วนประกอบมาตรฐาน เนื่องจากเบราว์เซอร์ไม่สามารถเข้าใจส่วนประกอบเหล่านี้และเทมเพลต HTML ได้โดยตรง จึงต้องคอมไพล์แอปเชิงมุมก่อน คุณจึงจะสามารถเรียกใช้ในเบราว์เซอร์ได้
คอมไพเลอร์ล่วงหน้าของ Angular (AOT) จะแปลงโค้ด HTML และ TypeScript ของ Angular เป็นโค้ด JavaScript ระหว่างขั้นตอนการสร้างก่อนที่เบราว์เซอร์จะสามารถดาวน์โหลดและรันโค้ดได้ การรวบรวมแอปพลิเคชัน Angular ในขั้นตอนการสร้าง คุณสนับสนุนให้เปิดใช้งานแอป Angular ในเบราว์เซอร์ได้เร็วขึ้น

ประโยชน์ของการใช้คอมไพเลอร์ AOT คือ:
- โดยใช้ ทอท. เบราว์เซอร์สามารถดาวน์โหลดแอปพลิเคชันเวอร์ชันที่คอมไพล์ล่วงหน้าได้ เบราว์เซอร์ดาวน์โหลดโค้ดสั่งการเพื่อให้สามารถแสดงแอปพลิเคชัน Angular ได้ทันที โดยไม่ต้องรอให้แอปคอมไพล์ก่อน
- ต้องขอบคุณ AOT ที่คอมไพเลอร์แทรกเทมเพลต HTML ภายนอกและสไตล์ชีต CSS ภายใน JavaScript ของแอปพลิเคชัน ดังนั้นจึงกำจัดคำขอ AJAX แยกต่างหากสำหรับไฟล์ต้นฉบับ
- ในระหว่างขั้นตอนการสร้างเอง คอมไพเลอร์ AOT จะตรวจจับและรายงานข้อผิดพลาดในการผูกเทมเพลต
- เนื่องจาก AOT รวบรวมเทมเพลตและส่วนประกอบ HTML ลงในไฟล์ JavaScript ก่อนให้บริการแก่ลูกค้า จึงไม่มีเทมเพลตให้อ่านอีกต่อไป และไม่มีการประเมิน HTML/JavaScript ฝั่งไคลเอ็นต์ที่มีความเสี่ยง ซึ่งจะช่วยลดความเป็นไปได้ของการโจมตีด้วยการฉีด
21. ระบบกริดใน CSS คืออะไร?
ใน CSS ระบบกริดคือโครงสร้างที่ใช้สำหรับการซ้อนเนื้อหาทั้งในแนวตั้งและแนวนอนในลักษณะที่สอดคล้องกันและจัดการได้ ระบบกริดมีองค์ประกอบหลักสองส่วน – แถวและคอลัมน์ ระบบกริดที่ใช้กันมากที่สุด ได้แก่ Simple, Pure, Flexbox, Bootstrap และ Foundation
บทสรุป
นี่คือรายการคำถามและคำตอบสำหรับการสัมภาษณ์นักพัฒนาซอฟต์แวร์ MEAN อันดับต้น ๆ ของเรา เราหวังว่าสิ่งนี้จะช่วยคุณในการเจาะสัมภาษณ์ MEAN stack ครั้งต่อไปของคุณ!
การเรียนรู้ภาษาและเครื่องมือแบบฟูลสแตกเป็นสิ่งสำคัญในการเป็นผู้พัฒนาสแต็คเฉลี่ย เส้นทางของการเป็นนักพัฒนาแบบฟูลสแตกนั้นเป็นสิ่งที่ท้าทายแต่ก็คุ้มค่าเช่นกัน โอกาสที่สร้างสรรค์และการเงินทำให้อาชีพนี้เป็นหนึ่งในอาชีพที่ดีที่สุดอย่างแท้จริง และเรามีความมุ่งมั่นที่จะไล่ตามมัน หากคุณมีความปรารถนาที่จะสร้างแชทบอทอัจฉริยะ กระเป๋าเงิน fintech และอื่นๆ โปรดดูหลักสูตร PG การพัฒนาซอฟต์แวร์แบบเต็มรูปแบบจาก upGrad