11 Pertanyaan dan Jawaban Wawancara Kafka Teratas [Untuk Freshers]
Diterbitkan: 2021-02-22Dalam sembilan tahun sejak dirilis pada tahun 2011, Kafka telah memantapkan dirinya sebagai salah satu alat paling berharga untuk pemrosesan data di bidang teknologi. Airbnb, Goldman Sachs, Netflix, LinkedIn, Microsoft, Target, dan The New York Times hanyalah beberapa perusahaan yang dibangun di atas Kafka.
Tapi apa itu Kafka? Jawaban sederhananya adalah — itulah yang membantu pengemudi Uber mencocokkan dengan calon penumpang atau membantu LinkedIn melakukan jutaan layanan analitis atau dapat diprediksi secara real-time. Singkatnya, Apache adalah platform streaming acara terdistribusi yang sangat skalabel, bersumber terbuka, dan toleran terhadap kesalahan yang dibuat oleh LinkedIn pada tahun 2011. Apache menggunakan log komit yang dapat Anda langgani, yang kemudian dapat dipublikasikan di sejumlah aplikasi streaming.
Latensi rendah, integrasi data, dan throughput tinggi berkontribusi pada popularitasnya yang semakin meningkat, sehingga keahlian di Kafka dianggap sebagai tambahan yang bagus untuk resume kandidat dan profesional dengan kualifikasi bersertifikat di dalamnya sangat diminati saat ini. Hal ini juga mengakibatkan peningkatan kesempatan kerja yang berpusat di sekitar Kafka.
Pada artikel ini, kami telah menyusun daftar pertanyaan dan jawaban wawancara Kafka yang kemungkinan besar akan muncul di sesi wawancara Anda berikutnya. Anda mungkin ingin melihat ini untuk memoles pengetahuan Anda sebelum Anda masuk untuk wawancara Anda. Jadi, ini dia!
11 Pertanyaan dan Jawaban Wawancara Kafka Teratas
1. Apa itu Apache Kafka?
Kafka adalah alat pemrosesan data sumber terbuka gratis yang dibuat oleh Apache Software Foundation. Itu ditulis dalam Scala dan Java, dan merupakan penyimpanan data real-time terdistribusi yang dirancang untuk memproses data streaming. Ini menawarkan throughput tinggi yang bekerja pada perangkat keras yang layak.
Ketika ribuan sumber data terus-menerus mengirim catatan data pada saat yang sama, data streaming dihasilkan. Untuk menangani data streaming ini, platform streaming perlu memproses data ini secara berurutan dan bertahap sambil menangani masuknya data tanpa henti.
Kafka mengambil arus masuk data ini dan membangun jalur pipa data streaming yang memproses dan memindahkan data dari sistem ke sistem.
Fungsi Kafka :
- Itu bertanggung jawab untuk menerbitkan aliran catatan data dan berlangganan mereka
- Ini menangani penyimpanan aliran data yang efektif dalam urutan yang dihasilkan
- Ini menangani pemrosesan hari waktu nyata
Kegunaan Kafka :
- Integrasi data
- Analisis waktu nyata
- Penyimpanan waktu nyata
- Solusi perantara pesan
- Deteksi penipuan
- Perdagangan saham
2. Mengapa Kami Menggunakan Kafka?
Apache Kafka berfungsi sebagai sistem saraf pusat yang membuat data streaming tersedia untuk semua aplikasi streaming (aplikasi yang menggunakan data streaming disebut aplikasi streaming). Ia melakukannya dengan membangun saluran data real-time yang bertanggung jawab untuk memproses dan mentransfer data antara sistem yang berbeda yang perlu menggunakannya.
Kafka bertindak sebagai sistem perantara pesan antara dua aplikasi dengan memproses dan menengahi komunikasi.
Ini memiliki beragam kegunaan yang mencakup pengiriman pesan, pemrosesan, penyimpanan, transportasi, integrasi, dan analitik data waktu nyata.
3. Apa saja Fitur Utama Apache Kafka?
Fitur yang menonjol dari Kafka termasuk yang berikut:
1. Daya Tahan – Kafka memungkinkan dukungan tanpa batas untuk distribusi dan replikasi partisi data di seluruh server yang kemudian ditulis ke disk. Ini mengurangi kemungkinan kegagalan server, membuat data persisten dan toleran terhadap kesalahan dan meningkatkan daya tahannya.
2. Skalabilitas – Kafka dapat diganggu dan diganti di banyak server yang membuatnya sangat skalabel, melebihi kapasitas satu server. Partisi data Kafka tidak memiliki waktu henti karena hal ini.
3. Zero Data Loss – Dengan dukungan yang tepat dan konfigurasi yang tepat, kehilangan data dapat dikurangi hingga nol.
4. Kecepatan – Karena ada latensi yang sangat rendah karena pemisahan aliran data, Apache Kafka sangat cepat. Ini digunakan dengan Apache Spark, Apache Apex, Apache Flink, Apache Storm, dll, yang semuanya merupakan aplikasi streaming eksternal waktu nyata.
5. Throughput & Replikasi Tinggi – Kafka memiliki kapasitas untuk mendukung jutaan pesan yang direplikasi di beberapa server untuk menyediakan akses ke banyak pelanggan.
4. Bagaimana Kafka Bekerja?
Kafka bekerja dengan menggabungkan dua model perpesanan, sehingga mengantrekannya, dan menerbitkan serta berlangganannya sehingga dapat diakses oleh banyak instans konsumen.
Antrian mempromosikan skalabilitas dengan memungkinkan data diproses dan didistribusikan ke beberapa server konsumen. Namun, antrian ini tidak cocok untuk menjadi multi-pelanggan. Di sinilah pendekatan penerbitan dan berlangganan masuk. Namun, karena setiap pesan kemudian akan dikirim ke setiap pelanggan, pendekatan ini tidak dapat digunakan untuk distribusi data di beberapa proses.
Oleh karena itu, Kafka menggunakan partisi data untuk menggabungkan kedua pendekatan tersebut. Ini menggunakan model log yang dipartisi di mana setiap log, urutan catatan data, dibagi menjadi segmen yang lebih kecil (partisi), untuk melayani banyak pelanggan.
Hal ini memungkinkan pelanggan yang berbeda untuk memiliki akses ke topik yang sama, sehingga skalabel karena setiap pelanggan disediakan partisi.
Model log terpartisi Kafka juga dapat diputar ulang, memungkinkan berbagai aplikasi berfungsi secara independen sambil tetap membaca dari aliran data.
5. Apa Empat Komponen Utama Kafka?
Ada empat komponen Kafka. Mereka:
- Tema
– Produser
– Pialang
– Konsumen
Topik adalah aliran pesan dengan jenis yang sama.
Produser mampu menerbitkan pesan ke topik tertentu.
Pialang adalah server tempat aliran pesan yang diterbitkan oleh produsen disimpan.
Konsumen adalah pelanggan yang berlangganan topik dan mengakses data yang disimpan oleh broker.
6. Berapa banyak API yang dimiliki Kafka?
Kafka memiliki lima API utama yaitu:
– Producer API: bertanggung jawab untuk memublikasikan pesan atau aliran rekaman ke topik tertentu.
– API Konsumen: dikenal sebagai pelanggan topik yang menarik pesan yang diterbitkan oleh produsen.
– Streams API: memungkinkan aplikasi untuk memproses stream; ini melibatkan pemrosesan aliran input topik tertentu dan mengubahnya menjadi aliran output. Aliran keluaran ini kemudian dapat dikirim ke topik keluaran yang berbeda.
– API Konektor: bertindak sebagai sistem otomatis untuk memungkinkan penambahan berbagai aplikasi ke topik Kafka yang ada.
– Admin API: Topik Kafka dikelola oleh Admin API, seperti halnya broker dan beberapa objek Kafka lainnya.
7. Apa Pentingnya Offset?
Nomor identifikasi unik yang dialokasikan untuk pesan yang disimpan dalam partisi dikenal sebagai Offset. Offset berfungsi sebagai nomor identifikasi untuk setiap pesan yang terdapat dalam partisi.
8. Tentukan Kelompok Konsumen.
Ketika sekelompok topik berlangganan dikonsumsi bersama oleh lebih dari satu konsumen, itu disebut Kelompok Konsumen.
9. Jelaskan Pentingnya Penjaga Kebun Binatang. Bisakah Kafka digunakan Tanpa Zookeeper?
Offset (nomor ID unik) untuk topik tertentu serta partisi yang dikonsumsi oleh kelompok konsumen tertentu disimpan dengan bantuan Zookeeper. Ini berfungsi sebagai saluran koordinasi antara pengguna. Tidak mungkin menggunakan Kafka yang tidak memiliki Zookeeper. Itu membuat server Kafka tidak dapat diakses dan permintaan klien tidak dapat diproses jika Zookeeper dilewati.
10. Apa Arti Pemimpin dan Pengikut Dalam Kafka?
Setiap partisi di Kafka diberi server yang berfungsi sebagai Leader. Setiap permintaan baca/tulis diproses oleh Leader. Peran Follower adalah mengikuti jejak sang Leader. Jika sistem menyebabkan Leader gagal, salah satu Follower akan berhenti mereplikasi dan mengisi sebagai Leader untuk menjaga load balancing.
11. Bagaimana Anda Memulai Server Kafka?
Sebelum Anda memulai server Kafka, nyalakan Zookeeper. Ikuti langkah-langkah di bawah ini:
Server penjaga kebun binatang:
> bin/zookeeper-server-start.sh config/zookeeper.properties
Server Kafka:
bin/kafka-server-start.sh config/server.properties
Kesimpulan
Jika Anda tertarik untuk mengetahui lebih banyak tentang Big Data, lihat Diploma PG kami dalam Spesialisasi Pengembangan Perangkat Lunak dalam program Big Data yang dirancang untuk para profesional yang bekerja dan menyediakan 7+ studi kasus & proyek, mencakup 14 bahasa & alat pemrograman, praktik langsung lokakarya, lebih dari 400 jam pembelajaran yang ketat & bantuan penempatan kerja dengan perusahaan-perusahaan top.
Lihat Kursus Rekayasa Perangkat Lunak kami yang lain di upGrad.