คำถามและคำตอบสัมภาษณ์คาฟคา 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

เป็นผู้นำการปฏิวัติเทคโนโลยีที่ขับเคลื่อนด้วยข้อมูล

7 กรณีศึกษาและโครงการ ความช่วยเหลือด้านงานกับบริษัทชั้นนำ ที่ปรึกษานักเรียนโดยเฉพาะ
โปรแกรมประกาศนียบัตรขั้นสูงด้าน Big Data จาก IIIT Bangalore