คำถามและคำตอบสัมภาษณ์ไมโครเซอร์วิส 25 อันดับแรก (2024)
คำถามและคำตอบในการสัมภาษณ์ Microservices สำหรับนักศึกษาใหม่
1) อธิบายไมโครเซอร์วิส Archiเทคเจอร์
ไมโครเซอร์วิส Architecture เป็นรูปแบบการพัฒนาสถาปัตยกรรมที่สร้างแอปพลิเคชันเป็นคอลเลกชันของบริการอัตโนมัติขนาดเล็กที่พัฒนาขึ้นสำหรับโดเมนธุรกิจ
มาดูตัวอย่างแอปพลิเคชันอีคอมเมิร์ซที่พัฒนาด้วย สถาปัตยกรรมไมโครเซอร์วิสในตัวอย่างสถาปัตยกรรมไมโครเซอร์วิสนี้ ไมโครเซอร์วิสแต่ละรายการจะเน้นที่ความสามารถทางธุรกิจเพียงอย่างเดียว การค้นหา การให้คะแนน และ Review และ Payment ต่างมีอินสแตนซ์ (เซิร์ฟเวอร์) และสื่อสารระหว่างกัน
👉 ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ Microservices >>
2) บอกชื่อเครื่องมือที่ใช้กันทั่วไปสามรายการสำหรับไมโครเซอร์วิส
1.) WireMock, 2.) Docker และ 3.) Hystrix เป็นเครื่องมือไมโครเซอร์วิสที่สำคัญ
3) เสาหินคืออะไร Archiเทคเจอร์?
สถาปัตยกรรมแบบโมโนลิธิกเปรียบเสมือนคอนเทนเนอร์ขนาดใหญ่ที่รวบรวมส่วนประกอบซอฟต์แวร์ทั้งหมดของแอปพลิเคชันไว้ในแพ็คเกจเดียว
มาหารือกันถึงตัวอย่างของร้านค้าอีคอมเมิร์ซในบริบทของสถาปัตยกรรมแบบโมโนลิธิก
ในแอปพลิเคชันอีคอมเมิร์ซ มีคุณสมบัติมาตรฐานบางอย่าง เช่น การค้นหา Revดูและการให้คะแนน และการชำระเงิน ลูกค้าสามารถเข้าถึงคุณลักษณะเหล่านี้ได้โดยใช้เบราว์เซอร์หรือแอปของตน เมื่อผู้พัฒนาไซต์อีคอมเมิร์ซปรับใช้แอปพลิเคชัน จะเป็นหน่วยเสาหินเดียว รหัสสำหรับคุณสมบัติต่างๆ เช่น การค้นหา Review & Ratings และ Payments อยู่บนเซิร์ฟเวอร์เดียวกัน หากต้องการปรับขนาดแอปพลิเคชัน คุณจะต้องเรียกใช้อินสแตนซ์ (เซิร์ฟเวอร์) ของแอปพลิเคชันเหล่านี้หลายอินสแตนซ์
4) ไมโครเซอร์วิสมีข้อดีอย่างไร?
นี่คือข้อดีที่สำคัญบางประการของการใช้ไมโครเซอร์วิส:
- ความหลากหลายของเทคโนโลยี เช่น ไมโครเซอร์วิสสามารถผสมผสานกับเฟรมเวิร์ก ไลบรารี และฐานข้อมูลอื่นๆ ได้อย่างง่ายดาย
- การแยกข้อผิดพลาด เช่น ความล้มเหลวของกระบวนการไม่ควรทำให้ทั้งระบบล่ม
- การสนับสนุนที่มากขึ้นสำหรับทีมขนาดเล็กและทีมคู่ขนาน
- การใช้งานที่เป็นอิสระ
- ลดเวลาในการปรับใช้
5) สปริงคลาวด์คืออะไร?
Spring cloud เป็นซอฟต์แวร์บูรณาการที่ทำงานร่วมกับระบบภายนอก ช่วยให้เฟรมเวิร์กไมโครเซอร์วิสสามารถสร้างแอปพลิเคชันที่ประมวลผลข้อมูลได้ในจำนวนที่จำกัด
6) หารือเกี่ยวกับการใช้รายงานและแดชบอร์ดในสภาพแวดล้อมของไมโครเซอร์วิส
รายงานและแดชบอร์ดช่วยในการติดตามและดูแลรักษาไมโครเซอร์วิส เครื่องมือตรวจสอบแอปพลิเคชันมากมายช่วยในเรื่องนี้
7) อะไรคือความแตกต่างที่สำคัญระหว่าง Microservices และ Monolithic Archiเทคเจอร์?
Microservices | เป็นเสาหิน Archiเทคเจอร์ |
---|---|
การเริ่มต้นบริการทำได้อย่างรวดเร็ว | การเริ่มต้นบริการต้องใช้เวลา |
ไมโครเซอร์วิสเป็นสถาปัตยกรรมที่มีการเชื่อมโยงกันอย่างหลวมๆ | สถาปัตยกรรมแบบเสาเดียวส่วนใหญ่จะมีการเชื่อมโยงกันอย่างแน่นหนา |
การเปลี่ยนแปลงที่ทำในโมเดลข้อมูลเดียวจะไม่ส่งผลต่อไมโครเซอร์วิสอื่นๆ | การเปลี่ยนแปลงใด ๆ ในตัวแบบข้อมูลจะส่งผลต่อฐานข้อมูลทั้งหมด |
Microservices มุ่งเน้นไปที่ผลิตภัณฑ์ ไม่ใช่โครงการ | เสาหินเน้นย้ำทั่วทั้งโครงการ |
8) ความท้าทายที่ต้องเผชิญขณะใช้ไมโครเซอร์วิสคืออะไร?
- ไมโครเซอร์วิสต้องพึ่งพาซึ่งกันและกันเสมอ ดังนั้นพวกเขาจึงต้องสื่อสารระหว่างกัน
- เนื่องจากเป็นระบบแบบกระจาย จึงเป็นโมเดลที่เกี่ยวข้องอย่างมาก
- หากคุณใช้สถาปัตยกรรม Microservice คุณต้องพร้อมสำหรับค่าใช้จ่ายการดำเนินงาน
- คุณต้องมีผู้เชี่ยวชาญที่มีทักษะเพื่อรองรับไมโครเซอร์วิสที่กระจายแบบหลากหลาย
9) ในกรณีใดสถาปัตยกรรมไมโครเซอร์วิสเหมาะสมที่สุด
สถาปัตยกรรมไมโครเซอร์วิสเหมาะที่สุดสำหรับเดสก์ท็อป เว็บ อุปกรณ์เคลื่อนที่ สมาร์ททีวี อุปกรณ์สวมใส่ ฯลฯ
10) บอกชื่อบริษัทที่มีชื่อเสียงบางแห่งที่ใช้สถาปัตยกรรม Microservice
เว็บไซต์ขนาดใหญ่ส่วนใหญ่เช่น Twitter, Netflix, Amazonได้ก้าวหน้าจากสถาปัตยกรรมแบบโมโนลิธิกไปเป็นสถาปัตยกรรมไมโครเซอร์วิส
คำถามสัมภาษณ์ไมโครเซอร์วิสสำหรับผู้มีประสบการณ์
11) ไมโครเซอร์วิสมีคุณลักษณะอย่างไร?
- กรอบข้อความที่จำเป็น
- การปกครองแบบกระจายอำนาจ
- ระบบอัตโนมัติโครงสร้างพื้นฐานที่ง่ายดาย
- การออกแบบเพื่อความล้มเหลว
- ระบบอัตโนมัติโครงสร้างพื้นฐาน
12) สงบคืออะไร?
การโอนสถานะการเป็นตัวแทน (REST)/บริการเว็บ RESTful เป็นรูปแบบสถาปัตยกรรมที่ช่วยให้ระบบคอมพิวเตอร์สื่อสารกันผ่านอินเทอร์เน็ตได้ บริการเว็บเหล่านี้ทำให้เข้าใจและใช้งานไมโครเซอร์วิสได้ง่ายขึ้น
13) อธิบายการทดสอบไมโครเซอร์วิสสามประเภท?
ในสถาปัตยกรรมไมโครเซอร์วิส การทดสอบจะถูกแบ่งออกเป็น 3 ประเภทกว้างๆ:
- ที่การทดสอบระดับล่างสุด เราสามารถทำการทดสอบทั่วไป เช่น การทดสอบประสิทธิภาพและการทดสอบหน่วย การทดสอบประเภทนี้เป็นแบบอัตโนมัติทั้งหมด
- ในระดับกลาง เราสามารถทำการทดสอบเชิงสำรวจ เช่น การทดสอบความเครียด และการทดสอบการใช้งาน
- ในระดับสูงสุด เราสามารถดำเนินการทดสอบการยอมรับซึ่งส่วนใหญ่มีจำนวนน้อยกว่า นอกจากนี้ยังช่วยให้ผู้ถือผลประโยชน์ทราบเกี่ยวกับคุณลักษณะซอฟต์แวร์ต่างๆ
14) ใบรับรองไคลเอ็นต์คืออะไร?
ใบรับรองไคลเอ็นต์คือใบรับรองดิจิทัลที่ใช้เพื่อสร้างคำขอที่มีการรับรองความถูกต้องไปยังเซิร์ฟเวอร์ระยะไกล มันถูกเรียกว่าเป็นใบรับรองไคลเอ็นต์
15) อธิบายการใช้ PACT ในสถาปัตยกรรมไมโครเซอร์วิส
เป็นเครื่องมือโอเพ่นซอร์สที่ช่วยให้สามารถทดสอบปฏิสัมพันธ์ระหว่างผู้ให้บริการและผู้บริโภคได้ แต่จะแยกออกจากสัญญาที่ทำขึ้น สิ่งนี้จะเพิ่มความน่าเชื่อถือของแอปพลิเคชันไมโครเซอร์วิส
16) OAuth มีความหมายว่าอย่างไร?
OAuth หมายถึงโปรโตคอลการอนุญาตแบบเปิด โปรโตคอลนี้ช่วยให้คุณเข้าถึงแอปพลิเคชันไคลเอนต์บน HTTP สำหรับผู้ให้บริการบุคคลที่สาม GitHub, Facebook ฯลฯ ซึ่งช่วยให้คุณแบ่งปันทรัพยากรที่จัดเก็บไว้ในไซต์หนึ่งกับไซต์อื่นโดยไม่จำเป็นต้องใช้ข้อมูลประจำตัว
17) การทดสอบไมโครเซอร์วิสแบบครบวงจรคืออะไร
การทดสอบแบบ end-to-end จะตรวจสอบว่าทุกกระบวนการในเวิร์กโฟลว์ทำงานได้อย่างถูกต้อง นอกจากนี้ยังช่วยให้แน่ใจว่าระบบทำงานร่วมกันโดยรวมและตอบสนองความต้องการทั้งหมด
18) เหตุใดจึงมีการใช้คอนเทนเนอร์ในไมโครเซอร์วิส
คอนเทนเนอร์เป็นวิธีที่ง่ายและมีประสิทธิภาพในการจัดการแอปพลิเคชันที่ใช้ไมโครเซอร์วิส นอกจากนี้ยังช่วยให้คุณพัฒนาและปรับใช้เป็นรายบุคคลอีกด้วย นักเทียบท่ายังอนุญาตให้คุณห่อหุ้มไมโครเซอร์วิสของคุณไว้ในอิมเมจคอนเทนเนอร์พร้อมกับการขึ้นต่อกัน ไมโครเซอร์วิสสามารถใช้องค์ประกอบเหล่านี้ได้โดยไม่ต้องพยายามเพิ่มเติม
19) ความหมายของการตรวจสอบความหมายในสถาปัตยกรรมไมโครเซอร์วิสคืออะไร
การตรวจสอบความหมายรวมการทดสอบอัตโนมัติเข้ากับการตรวจสอบแอปพลิเคชัน ช่วยให้คุณค้นหาสาเหตุที่ธุรกิจของคุณไม่ได้รับผลกำไรมากขึ้น
20) CDC คืออะไร?
CDC คือสัญญาที่ขับเคลื่อนโดยผู้บริโภค เป็นรูปแบบการพัฒนาไมโครเซอร์วิสเพื่อให้ระบบภายนอกสามารถใช้งานได้
คำถามสัมภาษณ์ Microservices สำหรับประสบการณ์ 10 ปีขึ้นไป
21) Docker มีประโยชน์อย่างไร?
นักเทียบท่าเสนอสภาพแวดล้อมคอนเทนเนอร์ที่สามารถใช้เพื่อโฮสต์แอปพลิเคชันใดก็ได้ แอปพลิเคชันซอฟต์แวร์นี้และการขึ้นต่อกันที่รองรับซึ่งรวมเข้าด้วยกันอย่างแน่นหนา
22) Reactive Extensions ใน Microservices คืออะไร?
Reactive Extensions เรียกอีกอย่างว่า Rx เป็นรูปแบบการออกแบบที่ช่วยให้สามารถรวบรวมผลลัพธ์โดยการเรียกใช้บริการต่างๆ แล้วรวบรวมการตอบสนองแบบรวม Rx เป็นเครื่องมือยอดนิยมในระบบแบบกระจายซึ่งทำงานตรงข้ามกับโฟลว์แบบเดิมทุกประการ
23) อธิบายคำว่า 'การติดตามอย่างต่อเนื่อง'
การติดตามอย่างต่อเนื่องเป็นวิธีการที่ใช้ค้นหาปัญหาการปฏิบัติตามกฎระเบียบและความเสี่ยงที่เกี่ยวข้องกับสภาพแวดล้อมการทำงานและการเงินของบริษัท ซึ่งประกอบด้วยบุคลากร กระบวนการ และระบบการทำงานที่รองรับการดำเนินงานที่มีประสิทธิภาพและเป็นจริง
24) บริการไมโครอิสระสื่อสารกันอย่างไร?
ขึ้นอยู่กับความต้องการของโครงการของคุณ อย่างไรก็ตาม ในกรณีส่วนใหญ่ นักพัฒนาจะใช้ HTTP/REST กับ JSON หรือโปรโตคอล Binary อย่างไรก็ตาม พวกเขาสามารถใช้โปรโตคอลการสื่อสารใดก็ได้
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)