คำถามและคำตอบสัมภาษณ์คาฟคา 14 อันดับแรก (2024)

ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ของ Kafka สำหรับนักศึกษาใหม่และผู้สมัครที่มีประสบการณ์เพื่อให้ได้งานในฝัน


1) พูดถึง Apache Kafka คืออะไร?

Apache Kafka เป็นระบบส่งข้อความแบบสมัครสมาชิกเผยแพร่ที่พัฒนาโดย Apache ที่เขียนด้วย Scala เป็นบริการบันทึกแบบกระจาย แบ่งพาร์ติชัน และจำลองแบบ

ดาวน์โหลด PDF ฟรี: คำถามและคำตอบสัมภาษณ์ Kafka


2) พูดถึงวิธีการถ่ายโอนข้อความแบบดั้งเดิมคืออะไร?

วิธีการถ่ายโอนข้อความแบบดั้งเดิมมีสองวิธี

  • การเข้าคิว: ในการเข้าคิว กลุ่มผู้บริโภคอาจอ่านข้อความจากเซิร์ฟเวอร์ และแต่ละข้อความจะไปที่ข้อความใดข้อความหนึ่ง
  • เผยแพร่-สมัครสมาชิก: ในรูปแบบนี้ข้อความจะถูกถ่ายทอดไปยังผู้บริโภคทุกคน

คาฟคาให้ความสำคัญกับผู้บริโภคเพียงกลุ่มเดียวซึ่งครอบคลุมทั้งกลุ่มผู้บริโภคที่กล่าวมาข้างต้น


3) พูดถึงประโยชน์ของ Apache Kafka เหนือเทคนิคแบบดั้งเดิมคืออะไร?

Apache Kafka มีประโยชน์เหนือกว่าเทคนิคการส่งข้อความแบบเดิมดังต่อไปนี้

  • อย่างรวดเร็ว: โบรกเกอร์ Kafka เดียวสามารถให้บริการลูกค้าได้หลายพันรายโดยจัดการการอ่านและเขียนเมกะไบต์ต่อวินาที
  • ขยายขีดความสามารถ: ข้อมูลจะถูกแบ่งพาร์ติชันและปรับปรุงประสิทธิภาพบนคลัสเตอร์ของเครื่องเพื่อให้ข้อมูลมีขนาดใหญ่ขึ้น
  • Durable: ข้อความเป็นแบบถาวรและจำลองแบบภายในคลัสเตอร์เพื่อป้องกันข้อมูลสูญหาย
  • จัดจำหน่ายโดยการออกแบบ: ให้การรับประกันและความทนทานต่อความผิดพลาด

4) พูดถึงความหมายของนายหน้าใน Kafka คืออะไร?

ในคลัสเตอร์ Kafka จะใช้คำนายหน้าเพื่ออ้างอิงเซิร์ฟเวอร์


5) พูดถึงขนาดสูงสุดของข้อความที่เซิร์ฟเวอร์ Kafka สามารถรับได้คือเท่าใด

ขนาดสูงสุดของข้อความที่เซิร์ฟเวอร์ Kafka สามารถรับได้คือ 1000000 ไบต์

คำถามสัมภาษณ์คาฟคา
คำถามสัมภาษณ์คาฟคา

6) อธิบายว่า Zookeeper ใน Kafka คืออะไร? เราสามารถใช้ Kafka โดยไม่มี Zookeeper ได้หรือไม่?

Zookeeper เป็นบริการประสานงานแบบโอเพ่นซอร์สที่มีประสิทธิภาพสูง ซึ่งใช้สำหรับแอปพลิเคชันแบบกระจายที่ดัดแปลงโดย Kafka ไม่ เป็นไปไม่ได้ที่จะบายพาส Zookeeper และเชื่อมต่อโดยตรงกับนายหน้าคาฟคา เมื่อ Zookeeper หยุดทำงาน จะไม่สามารถให้บริการตามคำขอของลูกค้าได้

  • โดยทั่วไป Zookeeper ใช้เพื่อสื่อสารระหว่างโหนดต่างๆ ในคลัสเตอร์
  • ใน Kafka มันถูกใช้เพื่อคอมมิตออฟเซ็ต ดังนั้นหากโหนดล้มเหลวไม่ว่าในกรณีใด ก็สามารถดึงข้อมูลจากออฟเซ็ตที่คอมมิตก่อนหน้านี้ได้
  • นอกจากนี้ มันยังทำกิจกรรมอื่นๆ เช่น การตรวจจับผู้นำ การซิงโครไนซ์แบบกระจาย การจัดการการกำหนดค่า ระบุว่าโหนดใหม่ออกหรือเข้าร่วมเมื่อใด คลัสเตอร์ สถานะของโหนดแบบเรียลไทม์ ฯลฯ

7) อธิบายว่าผู้บริโภคใช้ข้อความในคาฟคาอย่างไร

การถ่ายโอนข้อความใน Kafka ทำได้โดยใช้ sendfile API- ช่วยให้สามารถถ่ายโอนไบต์จากซ็อกเก็ตไปยังดิสก์ผ่านสำเนาประหยัดพื้นที่เคอร์เนล และเรียกระหว่างผู้ใช้เคอร์เนลกลับไปยังเคอร์เนล


8) อธิบายว่าคุณสามารถปรับปรุงปริมาณงานของผู้บริโภคระยะไกลได้อย่างไร?

หากผู้บริโภคอยู่ในศูนย์ข้อมูลที่แตกต่างจากนายหน้า คุณอาจต้องปรับขนาดบัฟเฟอร์ของซ็อกเก็ตเพื่อตัดทอนเวลาแฝงของเครือข่ายที่ยาวนาน

คำถามสัมภาษณ์ Apache Kafka
คำถามสัมภาษณ์ Apache Kafka

9) อธิบายว่าคุณจะได้รับข้อความจาก Kafka เพียงครั้งเดียวในระหว่างการผลิตข้อมูลได้อย่างไร

ในระหว่างข้อมูล การผลิตเพื่อรับข้อความจาก Kafka ทันที คุณต้องปฏิบัติตามสองสิ่ง หลีกเลี่ยงการซ้ำซ้อนระหว่างการใช้ข้อมูล และ หลีกเลี่ยงความซ้ำซ้อนระหว่างการผลิตข้อมูล ต่อไปนี้เป็นสองวิธีในการรับความหมายเดียวในขณะที่การผลิตข้อมูล:

  1. ใช้ตัวเขียนเพียงตัวเดียวต่อพาร์ติชั่น ทุกครั้งที่คุณได้รับข้อผิดพลาดของเครือข่าย ให้ตรวจสอบข้อความสุดท้ายในพาร์ติชั่นนั้นเพื่อดูว่าการเขียนครั้งล่าสุดของคุณสำเร็จหรือไม่
  2. ในข้อความจะมีคีย์หลัก (UUID หรือบางอย่าง) และยกเลิกการซ้ำซ้อนกับผู้บริโภค

10) อธิบายว่าคุณสามารถลดการปั่นป่วนใน ISR ได้อย่างไร โบรกเกอร์จะออกจาก ISR เมื่อใด?

ISR คือชุดของการจำลองข้อความที่ซิงค์กับผู้นำโดยสมบูรณ์ หรืออีกนัยหนึ่งคือ ISR มีข้อความทั้งหมดที่คอมมิต ISR ควรรวมแบบจำลองทั้งหมดไว้เสมอจนกว่าจะเกิดความล้มเหลวจริง แบบจำลองจะถูกละทิ้งจาก ISR หากเบี่ยงเบนไปจากผู้นำ


11) เหตุใดจึงต้องมีการจำลองแบบใน Kafka

การจำลองข้อความใน Kafka ช่วยให้มั่นใจได้ว่าข้อความที่เผยแพร่จะไม่สูญหาย และสามารถใช้ได้ในกรณีที่เครื่องเกิดข้อผิดพลาด ข้อผิดพลาดของโปรแกรม หรือการอัปเกรดซอฟต์แวร์ทั่วไป


12) มันบ่งบอกอะไรถ้าแบบจำลองอยู่นอก ISR เป็นเวลานาน?

หากแบบจำลองยังคงอยู่นอก ISR เป็นเวลานาน แสดงว่าผู้ติดตามไม่สามารถดึงข้อมูลได้เร็วเท่ากับข้อมูลที่สะสมไว้ที่ผู้นำ


13) พูดถึงจะเกิดอะไรขึ้นหากแบบจำลองที่ต้องการไม่อยู่ใน ISR

หากเรพลิกาที่ต้องการไม่อยู่ใน ISR คอนโทรลเลอร์จะไม่สามารถย้ายได้ ความเป็นผู้นำ ไปยังแบบจำลองที่ต้องการ


14) เป็นไปได้ไหมที่จะรับข้อความชดเชยหลังจากผลิตแล้ว?

คุณไม่สามารถทำเช่นนั้นได้จากคลาสที่ทำงานเหมือนโปรดิวเซอร์เหมือนกับในระบบคิวส่วนใหญ่ บทบาทของคลาสคือการเริ่มการทำงานและลืมข้อความ นายหน้าจะดำเนินการส่วนที่เหลือ เช่น การจัดการข้อมูลเมตาที่เหมาะสมด้วยรหัส ออฟเซ็ต ฯลฯ ในฐานะผู้บริโภคข้อความ คุณสามารถรับออฟเซ็ตจากนายหน้าคาฟคาได้ หากมองเข้าไป. ผู้บริโภคที่เรียบง่าย คุณจะสังเกตเห็นว่ามันดึงข้อมูลมา MultiFetchResponse ออบเจ็กต์ที่มีออฟเซ็ตเป็นรายการ นอกจากนั้น เมื่อคุณทำซ้ำข้อความคาฟคา คุณจะมี ข้อความและออฟเซ็ต ออบเจ็กต์ที่มีทั้งออฟเซ็ตและข้อความที่ส่ง

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)

Share

เขียนความเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมาย *