ตอบคำถามสัมภาษณ์ JS (2022)
เผยแพร่แล้ว: 2021-09-18หลังจากรอบการสัมภาษณ์ทางโทรศัพท์ คุณจะต้องเผชิญการสัมภาษณ์แบบวอล์กอินพร้อมคำถามทั่วไปเกี่ยวกับคุณสมบัติและทักษะของคุณ นอกจากการจัดเตรียมคำถามปลายเปิดทั่วไปแล้ว คุณควรรู้วิธีตอบคำถามทางเทคนิคด้วย
แม้ว่าคุณจะตอบคำถามด้วยความมั่นใจและมีเสน่ห์ คุณต้องถูกต้องในขณะที่ตอบคำถามทางเทคนิค เราได้รวบรวมคำถามทางเทคนิคสองสามข้อเพื่อให้คุณเตรียมตัวก่อนเข้ารับการสัมภาษณ์
พิจารณาสิ่งเหล่านี้เป็นตัวอย่างของประเภทของคำถามที่คุณสามารถคาดหวังได้ในระหว่างการสัมภาษณ์ React JS
สารบัญ
คำถามที่ 1) อธิบายความแตกต่างระหว่าง Real DOM และ Virtual DOM?
ตอบ: Virtual DOM อัปเดตเร็วขึ้น แต่ไม่สามารถอัปเดต HTML โดยตรงได้ สามารถอัปเดต JSX ได้หากมีการอัปเดตองค์ประกอบ เป็นตัวเลือกที่ยอดเยี่ยมหากคุณไม่ต้องการเปลืองหน่วยความจำ และยังง่ายต่อการจัดการ
ในทางกลับกัน การอัปเดต Real DOM นั้นช้ากว่า แต่สามารถอัปเดต HTML ได้โดยตรง อย่างไรก็ตาม สิ่งเหล่านี้ไม่คุ้มทุนเนื่องจาก DOM ที่สร้างขึ้นจากการอัปเดตองค์ประกอบนั้นมีค่าใช้จ่ายสูงในการจัดการ นอกจากนั้น Real DOM ยังต้องการพื้นที่เก็บข้อมูลจำนวนมาก
Q.2) คุณจะอธิบาย 'React' อย่างไร?
ตอบ: Reach ได้รับการพัฒนาโดย Facebook ซึ่งเป็นไปตามแนวทางแบบคอมโพเนนต์ที่ช่วยในการสร้างส่วนประกอบ UI ที่นำกลับมาใช้ใหม่ได้ เป็นไลบรารี JavaScrip ส่วนหน้าที่ใช้สำหรับสร้าง UI มือถือที่ซับซ้อนและเว็บแบบโต้ตอบ React เป็นโอเพ่นซอร์สในปี 2015 และวันนี้ได้รับการสนับสนุนจากชุมชนอย่างกว้างขวาง

Q.3) ช่วยบอกข้อดีหลักๆ ของการใช้ React ให้เราฟังหน่อยได้ไหม?
ตอบ: React เพิ่มประสิทธิภาพการทำงานของแอปพลิเคชัน และคุณสามารถใช้งานได้ทั้งฝั่งไคลเอ็นต์และเซิร์ฟเวอร์ รหัสที่เขียนใน React สามารถอ่านได้เนื่องจาก JSX และการเขียนการทดสอบ UI จะไม่ยุ่งยาก สามารถรวม React กับเฟรมเวิร์กอื่น ๆ เช่น Angular และ Meteor ได้อย่างง่ายดาย
Q.4) อะไรคือคุณสมบัติหลักสามประการของ React?
ตอบ: React ใช้ Virtual DOM แทน DOM จริง มันติดตามการผูกข้อมูลหรือการไหลแบบทิศทางเดียวในขณะที่ใช้การเรนเดอร์ฝั่งเซิร์ฟเวอร์
Q.5) คุณคิดว่า React มีข้อ จำกัด หรือไม่?
ตอบ: ใช่ ฉันคิดว่ามันยากสำหรับโปรแกรมเมอร์ระดับเริ่มต้นที่จะเข้าใจ และการเขียนโค้ดอาจทำได้ยากมากเนื่องจาก JSX และการสร้างเทมเพลตแบบอินไลน์ นอกจากนี้ เนื่องจากเป็นเฟรมเวิร์กที่กว้างขวาง จึงต้องใช้เวลาในการทำความคุ้นเคยกับ React
Q.6) อธิบาย Virtual DOM และการทำงาน
ตอบ: Virtual DOM เป็นสำเนาของ DOM จริง และเป็นออบเจ็กต์ JavaScript ที่มีน้ำหนักเบา เป็นโหนดทรีที่แสดงรายการแอตทริบิวต์ เนื้อหา และองค์ประกอบทั้งหมดเป็นอ็อบเจ็กต์ที่มีคุณสมบัติ ฟังก์ชันการเรนเดอร์ใน React จะสร้างโหนดทรีจากส่วนประกอบต่างๆ เมื่อผู้ใช้หรือระบบดำเนินการหลายอย่าง มันจะอัปเดตแผนผังต่อไปเพื่อตอบสนองต่อการกลายพันธุ์ของแบบจำลองข้อมูล
การทำงานของ Virtual DOM มีสามขั้นตอน:
- ประการแรก UI ทั้งหมดได้รับการแสดงในรูปแบบ Virtual DOM แม้ว่าข้อมูลจะมีการเปลี่ยนแปลงเล็กน้อยก็ตาม
- สิ่งนี้สร้างความแตกต่างระหว่างการแทนค่า DOM ใหม่และก่อนหน้า ซึ่งถูกคำนวณ
- DOM จริงจะได้รับการอัปเดตด้วยสิ่งที่เปลี่ยนแปลงหลังจากการคำนวณเสร็จสิ้นเท่านั้น
Q.7) บอกเราว่าคุณรู้อะไรเกี่ยวกับ JSX บ้าง?
ตอบ: JSX เป็นไฟล์ที่ React ใช้ควบคู่ไปกับรูปแบบเทมเพลตที่เหมือน HTML เพื่อใช้ความหมายของจาวาสคริปต์ มันเป็นชวเลขสำหรับ JavaScript SML ที่ทำให้ไฟล์ HTML ใด ๆ ง่ายต่อการเข้าใจ JSX ใช้เพื่อเพิ่มประสิทธิภาพและประสิทธิภาพของแอปพลิเคชัน
Q.8) อธิบายความแตกต่างระหว่าง React และ Angular
ตอบ: มีความแตกต่างที่สำคัญเล็กน้อยระหว่าง React และ Angular เช่นสถาปัตยกรรมที่อดีตรับเฉพาะมุมมองของ MVC ในขณะที่อย่างหลังได้รับมุมมองของ MVC ทั้งหมด เมื่อพูดถึงการเรนเดอร์ Angular มีการเรนเดอร์ฝั่งไคลเอ็นต์และ React ไปพร้อมกับการเรนเดอร์ฝั่งเซิร์ฟเวอร์ React ใช้ DOM เสมือนและการผูกข้อมูลแบบทางเดียว Angular ใช้ DOM จริงที่มีการผูกข้อมูลแบบสองทาง การดีบักใน Angular เป็นการดีบักรันไทม์ในขณะที่ React มีการดีบักเวลาคอมไพล์ สุดท้าย Google ได้สร้าง Angular ในขณะที่เครดิตสำหรับการสร้าง React ไปที่ Facebook
Q.9) อุปกรณ์ประกอบฉากหมายถึงอะไร?
ตอบ: อุปกรณ์ประกอบฉากเป็นส่วนประกอบแบบอ่านอย่างเดียวที่ควรรักษาให้ไม่เปลี่ยนรูปหรือบริสุทธิ์ และเป็นชวเลขสำหรับ 'คุณสมบัติในปฏิกิริยา' ในแอปพลิเคชัน พวกเขาจะถูกส่งจากพาเรนต์ไปยังองค์ประกอบย่อย ซึ่งช่วยรักษาการไหลของข้อมูลแบบทิศทางเดียว อุปกรณ์ประกอบฉากยังช่วยในการแสดงข้อมูลที่สร้างขึ้นแบบไดนามิก

Q.10) สถานะใน React คืออะไร และคุณใช้งานอย่างไร?
ตอบ: สถานะเป็นจิตวิญญาณของส่วนประกอบ React พวกเขาจะต้องทำให้ง่ายขึ้นเพราะเป็นแหล่งข้อมูล อาจกล่าวได้ว่าสถานะเป็นวัตถุที่กำหนดพฤติกรรมและการแสดงผลของส่วนประกอบ สามารถเปลี่ยนแปลงสถานะได้เนื่องจากไม่แน่นอนและมีประสิทธิภาพในการสร้างส่วนประกอบแบบโต้ตอบและแบบไดนามิก
คำถามที่ 11) อะไรคือความแตกต่างที่สำคัญระหว่างรัฐและอุปกรณ์ประกอบฉาก?
ตอบ: องค์ประกอบหลักในอุปกรณ์ประกอบฉากสามารถเปลี่ยนค่าได้ในขณะที่ไม่สามารถเกิดขึ้นในสถานะได้ อย่างไรก็ตาม มีการเปลี่ยนแปลงภายในองค์ประกอบของรัฐ แต่นี่ไม่ใช่กรณีที่มีอุปกรณ์ประกอบฉาก เช่นเดียวกับองค์ประกอบหลัก องค์ประกอบย่อยยังไม่มีการเปลี่ยนแปลงใดๆ แต่สามารถสังเกตได้ในอุปกรณ์ประกอบฉาก
คำถามที่ 12) อะไรคือความคล้ายคลึงกันของรัฐและอุปกรณ์ประกอบฉาก?
ตอบ: มีความคล้ายคลึงกันสามส่วนใหญ่ระหว่างรัฐและอุปกรณ์ประกอบฉาก
- ทั้งคู่ได้รับค่าเริ่มต้นจากองค์ประกอบหลัก
- ในทั้งสองกรณี คุณสามารถตั้งค่าเริ่มต้นภายในส่วนประกอบได้
- ในองค์ประกอบลูก คุณสามารถตั้งค่าเริ่มต้นได้อย่างง่ายดาย
คำถามที่ 13) องค์ประกอบ stateful คืออะไร?
ตอบ: การเปลี่ยนแปลงสถานะในหน่วยความจำของส่วนประกอบจะถูกจัดเก็บโดยองค์ประกอบแบบเก็บสถานะ พวกเขายังมีอำนาจในการเปลี่ยนสถานะและตระหนักถึงการเปลี่ยนแปลงทั้งหมดที่มีอยู่ในสถานะ ส่วนประกอบไร้สัญชาติจะส่งอุปกรณ์ประกอบฉากหลังจากแจ้งเกี่ยวกับการเปลี่ยนแปลงสถานะที่จำเป็น
คำถามที่ 14) องค์ประกอบไร้สัญชาติหมายถึงอะไร
ตอบ: สถานะภายในของส่วนประกอบคำนวณโดยส่วนประกอบที่ไม่มีสถานะ และไม่มีอำนาจในการเปลี่ยนสถานะ พวกเขาขาดความรู้เกี่ยวกับการเปลี่ยนแปลงของรัฐในปัจจุบัน อดีตและอนาคต สุดท้ายนี้ ส่วนประกอบ stateful จะส่งอุปกรณ์ประกอบฉากที่พวกเขาถือว่าเป็นฟังก์ชันเรียกกลับ
คำถามที่ 15) อธิบายเหตุการณ์สังเคราะห์
ตอบ: ออบเจ็กต์ที่ทำหน้าที่เป็นตัวห่อหุ้มข้ามเบราว์เซอร์รอบๆ เหตุการณ์ดั้งเดิมของเบราว์เซอร์นั้นเรียกว่าเหตุการณ์สังเคราะห์ หน้าที่หลักของพวกเขาคือสร้าง API หนึ่งตัวโดยรวมพฤติกรรมของเบราว์เซอร์หลายตัวเข้าด้วยกัน สิ่งนี้ทำให้แน่ใจได้ว่าคุณสมบัติที่สอดคล้องกันในเหตุการณ์ในเบราว์เซอร์ต่างๆ
คำถามที่ 16) ผู้อ้างอิงคืออะไร และคุณควรใช้เมื่อใด
ตอบ: Ref หมายถึงการอ้างอิงใน React และเป็นแอตทริบิวต์ที่เก็บการอ้างอิงของส่วนประกอบหรือองค์ประกอบปฏิกิริยาเฉพาะ ฟังก์ชันการกำหนดคอนฟิกการแสดงผลในคอมโพเนนต์จะส่งคืนข้อมูลอ้างอิงเหล่านี้ ช่วยเพิ่มวิธีการให้กับส่วนประกอบที่สำคัญและรับการวัด DOM นอกจากนี้เรายังสามารถใช้ข้อมูลอ้างอิงเพื่อจัดการโฟกัส เลือกการเล่นสื่อหรือข้อความได้อีกด้วย นอกจากนี้ ยังช่วยในการผสานรวมกับไลบรารี DOM ของบริษัทอื่นและกระตุ้นแอนิเมชันที่จำเป็น
Q.17) ส่วนประกอบควบคุมคืออะไร?
ตอบ: องค์ประกอบการควบคุมไม่สามารถรักษาสถานะได้ และองค์ประกอบหลักจะควบคุมข้อมูล นอกจากนี้ยังได้รับค่าปัจจุบันด้วยความช่วยเหลือของอุปกรณ์ประกอบฉากและใช้การเรียกกลับเพื่อแจ้งการเปลี่ยนแปลง

คำถามที่ 18) คุณรู้อะไรเกี่ยวกับส่วนประกอบที่ไม่สามารถควบคุมได้?
ตอบ: ส่วนประกอบที่ไม่สามารถควบคุมได้จะคงสถานะไว้ ที่นี่ DOM จะควบคุมข้อมูล ซึ่งแตกต่างจากส่วนประกอบที่ควบคุม พวกเขายังใช้การอ้างอิงเพื่อรับค่าปัจจุบันของพวกเขา
คำถามที่ 19) ระบุข้อดีของ Redux
ตอบ: Redux มีข้อดีดังต่อไปนี้ –
- องค์กร : การทำงานเป็นทีมจะง่ายขึ้นใน Redux เนื่องจากมีความเฉพาะเจาะจงเกี่ยวกับการจัดระเบียบของโค้ด ทำให้มีความสอดคล้องกันมากขึ้น
- ทดสอบง่าย : โค้ดเป็นอิสระและสามารถทดสอบได้เนื่องจากมีฟังก์ชันที่แยกออกมา ขนาดเล็ก และบริสุทธิ์
- ชุมชน : Redux มีการสำรองข้อมูลของชุมชนขนาดใหญ่และมีความสามารถซึ่งยังคงปรับปรุงไลบรารีอย่างต่อเนื่องในขณะที่สร้างแอปพลิเคชั่นหลายตัว
- เครื่องมือสำหรับนักพัฒนา : เป็นเรื่องง่ายสำหรับนักพัฒนาที่จะติดตามทุกอย่างในแอปพลิเคชัน ตั้งแต่การเปลี่ยนแปลงสถานะไปจนถึงการดำเนินการ
- การเรนเดอร์ฝั่งเซิร์ฟเวอร์ : ใน redux คุณจะต้องส่งสโตร์ไปยังฝั่งไคลเอ็นต์เท่านั้น ทำให้ประสบการณ์ผู้ใช้ดีขึ้นเนื่องจากประสิทธิภาพของแอปพลิเคชันสูงขึ้น
- การบำรุงรักษา : โค้ดมีโครงสร้างที่เข้มงวดและผลลัพธ์ที่คาดการณ์ได้ ทำให้ง่ายต่อการบำรุงรักษา
- การคาดการณ์ในผลลัพธ์ : ไม่มีความสับสนเกี่ยวกับการซิงค์การดำเนินการของสถานะปัจจุบันกับส่วนต่างๆ ของแอปพลิเคชัน เนื่องจากมีแหล่งที่มาของร้านค้าเพียงแหล่งเดียว
บทสรุป
การเรียนรู้ React Js นั้นไม่ซับซ้อนหากคุณมุ่งมั่นและทุ่มเท เมื่อคุณรู้ภาษาการเขียนโปรแกรมของคุณอย่างลึกซึ้งแล้ว คุณสามารถถอดรหัสบทสัมภาษณ์ได้อย่างง่ายดาย หากคุณกำลังสำรวจภาษาอยู่ในขณะนี้หรือต้องการเพิ่มพูนความรู้ของคุณ ให้ตรวจสอบ วิทยาศาสตรมหาบัณฑิตสาขาวิทยาการคอมพิวเตอร์ ของเรา จากมหาวิทยาลัย Liverpool John Moore หลักสูตร 19 เดือนนี้ประกอบด้วยเครื่องมือที่ได้รับความนิยมสูงสุด ได้แก่ React, Java, JavaScript, Spring, Hyperledger และ Ethereum เป็นต้น
หลังจากจบหลักสูตรนี้ คุณจะเข้าใจ React อย่างลึกซึ้ง ไม่เพียงแค่นั้น คุณจะมีสิทธิ์ได้รับบทบาทที่ได้รับค่าตอบแทนสูง เช่น นักพัฒนาซอฟต์แวร์/วิศวกร นักพัฒนาเต็มรูปแบบ นักพัฒนาบล็อกเชน ผู้เชี่ยวชาญด้านคลาวด์/สถาปนิก วิศวกรความปลอดภัยทางไซเบอร์ วิศวกรข้อมูล และวิศวกร DevOps
มีความต้องการอย่างมากสำหรับนักพัฒนา React JS ในตลาด และยังให้ผลตอบแทนที่ดีอีกด้วย นอกจากนั้น React JS ยังช่วยประหยัดเวลาและค่าใช้จ่าย เนื่องจากนักพัฒนาซอฟต์แวร์ทำงานเป็นทีมและใช้ทรัพยากรน้อยลง React นั้นง่ายต่อการเรียนรู้ แต่คุณต้องรู้จัก JS ก่อนเรียนรู้ไลบรารีนี้ อย่างไรก็ตาม จำเป็นต้องมีความรู้พื้นฐานเกี่ยวกับ JavaScript เท่านั้นเพื่อเริ่มเรียนรู้ React นักพัฒนา React JS ต้องมีความเข้าใจที่ดีเกี่ยวกับ HTML และ CSS, JavaScript พื้นฐาน, JSX, Git, Redux, Node และ NPMการเรียนรู้ React มีประโยชน์อย่างไร?
React ท้าทายในการเรียนรู้หรือไม่?
ทักษะที่จำเป็นสำหรับนักพัฒนา React JS มีอะไรบ้าง