คำถามและคำตอบสัมภาษณ์คาฟคา 11 อันดับแรก [สำหรับนักศึกษาใหม่]
เผยแพร่แล้ว: 2021-02-22ในช่วงเก้าปีนับตั้งแต่เปิดตัวในปี 2554 Kafka ได้สร้างตัวเองให้เป็นหนึ่งในเครื่องมือที่มีค่าที่สุดสำหรับการประมวลผลข้อมูลในด้านเทคโนโลยี Airbnb, Goldman Sachs, Netflix, LinkedIn, Microsoft, Target และ The New York Times เป็นเพียงไม่กี่บริษัทที่สร้างขึ้นบน Kafka
แต่คาฟคาคืออะไร? คำตอบง่ายๆ ก็คือ นี่คือสิ่งที่ช่วยให้คนขับ Uber จับคู่กับผู้โดยสารที่มีแนวโน้มจะเป็นผู้โดยสาร หรือช่วยให้ LinkedIn ดำเนินการบริการวิเคราะห์หรือคาดการณ์ได้แบบเรียลไทม์นับล้านรายการ กล่าวโดยย่อ Apache เป็นแพลตฟอร์มการสตรีมเหตุการณ์แบบกระจายที่สามารถปรับขนาดได้สูง โอเพ่นซอร์ส และทนต่อข้อผิดพลาด ซึ่งสร้างโดย LinkedIn ในปี 2011 โดยจะใช้บันทึกการคอมมิตที่คุณสามารถสมัครใช้งาน ซึ่งสามารถเผยแพร่บนแอปพลิเคชันการสตรีมจำนวนมากได้
เวลาแฝงต่ำ การรวมข้อมูลและปริมาณงานสูงช่วยให้ได้รับความนิยมเพิ่มขึ้น ความเชี่ยวชาญใน Kafka จึงถือเป็นส่วนเสริมที่สดใสสำหรับประวัติย่อของผู้สมัคร และผู้เชี่ยวชาญที่มีคุณสมบัติที่ผ่านการรับรองเป็นที่ต้องการสูงในปัจจุบัน สิ่งนี้ส่งผลให้โอกาสในการทำงานที่มีศูนย์กลางอยู่ที่คาฟคาเพิ่มขึ้น
ในบทความนี้ เราได้รวบรวมรายการคำถามและคำตอบในการสัมภาษณ์ของ Kafka ที่มีแนวโน้มว่าจะเกิดขึ้นในการสัมภาษณ์ครั้งต่อไปของคุณมากที่สุด คุณอาจต้องการค้นหาสิ่งเหล่านี้เพื่อปัดฝุ่นความรู้ของคุณก่อนที่จะไปสัมภาษณ์ เอาล่ะ!
คำถามและคำตอบสัมภาษณ์ 11 อันดับสูงสุดของคาฟคา
1. Apache Kafka คืออะไร?
Kafka เป็นเครื่องมือประมวลผลข้อมูลโอเพ่นซอร์สฟรีที่สร้างโดย Apache Software Foundation มันถูกเขียนใน Scala และ Java และเป็นพื้นที่เก็บข้อมูลแบบเรียลไทม์ที่ออกแบบมาเพื่อประมวลผลข้อมูลการสตรีม มีปริมาณงานสูงในการทำงานกับฮาร์ดแวร์ที่เหมาะสม

เมื่อแหล่งข้อมูลนับพันส่งบันทึกข้อมูลอย่างต่อเนื่องพร้อมกัน ข้อมูลการสตรีมจะถูกสร้างขึ้น ในการจัดการข้อมูลการสตรีมนี้ แพลตฟอร์มการสตรีมจะต้องประมวลผลข้อมูลนี้ทั้งแบบเป็นลำดับและทีละส่วนควบคู่ไปกับการจัดการการไหลเข้าของข้อมูลแบบไม่หยุดนิ่ง
Kafka นำข้อมูลที่ไหลเข้ามานี้เข้ามา และสร้างท่อข้อมูลการสตรีมที่ประมวลผลและย้ายข้อมูลจากระบบหนึ่งไปยังอีกระบบหนึ่ง
หน้าที่ของคาฟคา :
- มีหน้าที่เผยแพร่สตรีมของบันทึกข้อมูลและสมัครรับข้อมูลเหล่านั้น
- มันจัดการการจัดเก็บข้อมูลที่มีประสิทธิภาพของสตรีมข้อมูลตามลำดับที่สร้างขึ้น
- ดูแลการประมวลผลวันตามเวลาจริง
การใช้คาฟคา :
- การรวมข้อมูล
- การวิเคราะห์ตามเวลาจริง
- ที่เก็บข้อมูลแบบเรียลไทม์
- โซลูชันนายหน้าข้อความ
- การตรวจจับการฉ้อโกง
- การซื้อขายหุ้น
2. ทำไมเราใช้คาฟคา?
Apache Kafka ทำหน้าที่เป็นระบบประสาทส่วนกลางที่ทำให้ข้อมูลการสตรีมมีให้สำหรับแอปพลิเคชันการสตรีมทั้งหมด (แอปพลิเคชันที่ใช้ข้อมูลการสตรีมเรียกว่าแอปพลิเคชันการสตรีม) ทำได้โดยการสร้างไปป์ไลน์ข้อมูลแบบเรียลไทม์ที่รับผิดชอบในการประมวลผลและถ่ายโอนข้อมูลระหว่างระบบต่างๆ ที่จำเป็นต้องใช้
Kafka ทำหน้าที่เป็นระบบนายหน้าข้อความระหว่างสองแอปพลิเคชันโดยการประมวลผลและไกล่เกลี่ยการสื่อสาร
มีการใช้งานที่หลากหลายซึ่งรวมถึงการส่งข้อความ การประมวลผล การจัดเก็บ การขนส่ง การบูรณาการและการวิเคราะห์ข้อมูลแบบเรียลไทม์
3. คุณสมบัติหลักของ Apache Kafka คืออะไร?
คุณสมบัติเด่นของคาฟคามีดังต่อไปนี้:
1. ความทนทาน – Kafka อนุญาตให้มีการสนับสนุนอย่างราบรื่นสำหรับการกระจายและการจำลองพาร์ติชั่นข้อมูลข้ามเซิร์ฟเวอร์ซึ่งเขียนลงดิสก์แล้ว ซึ่งช่วยลดโอกาสที่เซิร์ฟเวอร์จะล้มเหลว ทำให้ข้อมูลคงอยู่และทนต่อข้อผิดพลาด และเพิ่มความทนทาน
2. ความสามารถในการปรับขนาด – Kafka สามารถถูกรบกวนและแทนที่ในเซิร์ฟเวอร์จำนวนมากซึ่งทำให้สามารถปรับขนาดได้สูง เกินความสามารถของเซิร์ฟเวอร์เดียว พาร์ติชั่นข้อมูลของ Kafka ไม่มีการหยุดทำงานด้วยเหตุนี้
3. Zero Data Loss – ด้วยการสนับสนุนที่เหมาะสมและการกำหนดค่าที่ถูกต้อง การสูญหายของข้อมูลจะลดลงเหลือศูนย์
4. ความเร็ว – เนื่องจากมีเวลาแฝงต่ำมากเนื่องจากการแยกสตรีมข้อมูล Apache Kafka จึงเร็วมาก มันถูกใช้กับ Apache Spark, Apache Apex, Apache Flink, Apache Storm และอื่น ๆ ซึ่งทั้งหมดนี้เป็นแอปพลิเคชั่นสตรีมมิ่งภายนอกแบบเรียลไทม์
5. ปริมาณงานสูงและการจำลองแบบ – Kafka มีความสามารถในการสนับสนุนข้อความนับล้านซึ่งจำลองแบบข้ามเซิร์ฟเวอร์หลายเครื่องเพื่อให้สามารถเข้าถึงสมาชิกได้หลายราย
4. คาฟคาทำงานอย่างไร?
Kafka ทำงานโดยการรวมรูปแบบการส่งข้อความสองรูปแบบเข้าด้วยกัน ดังนั้นจึงจัดคิวรูปแบบดังกล่าว และเผยแพร่และสมัครรับข้อมูลดังกล่าว เพื่อให้สามารถเข้าถึงอินสแตนซ์ของผู้บริโภคจำนวนมากได้

การจัดคิวส่งเสริมความสามารถในการปรับขนาดโดยอนุญาตให้ประมวลผลและแจกจ่ายข้อมูลไปยังเซิร์ฟเวอร์ผู้บริโภคหลายเครื่อง อย่างไรก็ตาม คิวเหล่านี้ไม่เหมาะที่จะเป็นหลายสมาชิก นี่คือขั้นตอนในการเผยแพร่และสมัครรับข้อมูล อย่างไรก็ตาม เนื่องจากทุกอินสแตนซ์ของข้อความจะถูกส่งไปยังสมาชิกทุกคน วิธีนี้จึงไม่สามารถใช้สำหรับการกระจายข้อมูลในหลายกระบวนการ
ดังนั้น Kafka จึงใช้พาร์ติชั่นข้อมูลเพื่อรวมทั้งสองวิธีเข้าด้วยกัน มันใช้โมเดลบันทึกที่แบ่งพาร์ติชัน ซึ่งบันทึกแต่ละรายการ ลำดับของบันทึกข้อมูล ถูกแบ่งออกเป็นกลุ่มย่อย (พาร์ติชั่น) ที่เล็กกว่าเพื่อรองรับสมาชิกหลายราย
ซึ่งช่วยให้สมาชิกที่แตกต่างกันสามารถเข้าถึงหัวข้อเดียวกันได้ ทำให้สามารถปรับขนาดได้เนื่องจากสมาชิกแต่ละคนมีพาร์ติชั่น
โมเดลบันทึกที่แบ่งพาร์ติชันของ Kafka ยังสามารถเล่นซ้ำได้ ทำให้แอปพลิเคชันต่างๆ ทำงานได้อย่างอิสระในขณะที่ยังคงอ่านจากสตรีมข้อมูล
5. องค์ประกอบหลักสี่ประการของคาฟคาคืออะไร?
คาฟคามีองค์ประกอบสี่ประการ พวกเขาเป็น:
- หัวข้อ
– ผู้ผลิต
– โบรกเกอร์
- ผู้บริโภค
หัวข้อคือสตรีมข้อความที่เป็นประเภทเดียวกัน
ผู้ผลิตสามารถเผยแพร่ข้อความไปยังหัวข้อที่กำหนด
โบรกเกอร์คือเซิร์ฟเวอร์ที่เก็บสตรีมของข้อความที่เผยแพร่โดยผู้ผลิต
ผู้บริโภคคือสมาชิกที่สมัครรับข่าวสารและเข้าถึงข้อมูลที่โบรกเกอร์เก็บไว้
6. Kafka มี API กี่ตัว?
Kafka มี API หลักห้าประการซึ่งได้แก่:
– ผู้ผลิต API: รับผิดชอบในการเผยแพร่ข้อความหรือสตรีมของบันทึกไปยังหัวข้อที่กำหนด
– Consumer API: รู้จักกันในชื่อสมาชิกของหัวข้อที่ดึงข้อความที่เผยแพร่โดยผู้ผลิต
– Streams API: อนุญาตให้แอปพลิเคชันประมวลผลสตรีม สิ่งนี้เกี่ยวข้องกับการประมวลผลสตรีมอินพุตของหัวข้อที่กำหนดและแปลงเป็นสตรีมเอาต์พุต สตรีมเอาต์พุตนี้อาจถูกส่งไปยังหัวข้อเอาต์พุตอื่น
– Connector API: ทำหน้าที่เป็นระบบอัตโนมัติเพื่อเปิดใช้งานการเพิ่มแอปพลิเคชันต่าง ๆ ในหัวข้อ Kafka ที่มีอยู่
– Admin API: หัวข้อ Kafka ได้รับการจัดการโดย Admin API เช่นเดียวกับโบรกเกอร์และอ็อบเจ็กต์ Kafka อื่นๆ
7. ออฟเซ็ตมีความสำคัญอย่างไร?
หมายเลขประจำตัวเฉพาะที่จัดสรรให้กับข้อความที่จัดเก็บไว้ในพาร์ติชั่นเรียกว่าออฟเซ็ต ออฟเซ็ตทำหน้าที่เป็นหมายเลขประจำตัวสำหรับทุกข้อความที่มีอยู่ในพาร์ติชัน
8. กำหนดกลุ่มผู้บริโภค
เมื่อหัวข้อที่สมัครรับข้อมูลจำนวนมากถูกใช้ร่วมกันโดยผู้บริโภคมากกว่าหนึ่งราย เราจะเรียกว่ากลุ่มผู้บริโภค
9. อธิบายความสำคัญของผู้ดูแลสวนสัตว์ สามารถใช้ Kafka โดยไม่มีผู้ดูแลสัตว์ได้หรือไม่?
ออฟเซ็ต (หมายเลข ID ที่ไม่ซ้ำกัน) สำหรับหัวข้อเฉพาะ เช่นเดียวกับพาร์ติชั่นที่บริโภคโดยกลุ่มผู้บริโภคเฉพาะจะถูกเก็บไว้ด้วยความช่วยเหลือของ Zookeeper ทำหน้าที่เป็นช่องทางประสานงานระหว่างผู้ใช้บริการ เป็นไปไม่ได้ที่จะใช้ Kafka ที่ไม่มี Zookeeper ทำให้เซิร์ฟเวอร์ Kafka ไม่สามารถเข้าถึงได้และคำขอของลูกค้าไม่สามารถดำเนินการได้หาก Zookeeper ถูกข้าม
10. ผู้นำและผู้ตามใน Kafka หมายถึงอะไร?
แต่ละพาร์ติชั่นในคาฟคาได้รับมอบหมายให้เป็นเซิร์ฟเวอร์ซึ่งทำหน้าที่เป็นผู้นำ คำขออ่าน/เขียนทุกรายการจะดำเนินการโดยผู้นำ หน้าที่ของผู้ตามคือเดินตามรอยผู้นำ หากระบบทำให้ผู้นำล้มเหลว หนึ่งในผู้ติดตามจะหยุดการจำลองและกรอกข้อมูลในฐานะผู้นำเพื่อดูแลการปรับสมดุลโหลด
11. คุณจะเริ่มเซิร์ฟเวอร์ Kafka ได้อย่างไร?
ก่อนที่คุณจะเริ่มเซิร์ฟเวอร์ Kafka ให้เพิ่มพลังให้กับ Zookeeper ทำตามขั้นตอนด้านล่าง:
เซิร์ฟเวอร์ผู้ดูแลสวนสัตว์:

> bin/zookeeper-server-start.sh config/zookeeper.properties
เซิร์ฟเวอร์คาฟคา:
bin/kafka-server-start.sh config/server.properties
บทสรุป
หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับ Big Data โปรดดูที่ PG Diploma in Software Development Specialization in Big Data program ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ เวิร์กช็อป ความช่วยเหลือด้านการเรียนรู้และจัดหางานอย่างเข้มงวดมากกว่า 400 ชั่วโมงกับบริษัทชั้นนำ
ตรวจสอบหลักสูตรวิศวกรรมซอฟต์แวร์อื่นๆ ของเราที่ upGrad