Jika Anda telah berhasil terpilih sebagai orang yang diwawancarai untuk materi pelajaran di atas, kami sarankan untuk memeriksa beberapa pertanyaan umum yang disediakan dalam panduan artikel ini. Pertanyaan wawancara MongoDB sengaja dirancang untuk membantu pembaca kami mengenal sifat dan bentuk pertanyaan yang mungkin mereka temui selama wawancara MongoDB.
Namun, poin penting yang perlu diperhatikan adalah pewawancara yang baik jarang mengajukan pertanyaan tertentu selama wawancara. Sebaliknya, mereka terkadang cenderung tetap profesional dan tidak terduga.
Catatan: Selalu memiliki beberapa konsep dasar subjek sebelum wawancara. Ini akan membantu Anda menjawab sebagian besar pertanyaan yang diajukan oleh pewawancara atau panitia wawancara.
Panduan artikel ini akan menunjukkan beberapa pertanyaan umum dalam wawancara MongoDB. Oleh karena itu, pantau terus untuk mempelajari lebih lanjut.
Pertanyaan Wawancara MongoDB Umum
Berikut adalah beberapa pertanyaan wawancara MongoDB yang paling sering ditanyakan:
1. Apa itu MongoDB?
Ini adalah database berorientasi dokumen yang menyediakan ketersediaan tinggi, kinerja tinggi, dan skalabilitas mudah. MongoDB adalah database NoSQL.
2. Apa itu Basis Data NoSQL?
Basis data NoSQL membantu menyediakan cara untuk mengambil dan menyimpan data yang dimodelkan dalam semua cara lain selain penggunaan relasi tabular (Yang digunakan dalam basis data relasional). Berbagai jenis database NoSQL adalah:
- Nilai Kunci
- Berorientasi Kolom
- Berorientasi Dokumen
- Grafik
3. Apa jenis database NoSQL MongoDB?
MongoDB menyimpan data dalam bentuk dokumen BSON karena merupakan database berorientasi dokumen. Dokumen BSON ini disimpan dalam koleksi.
4. Jelaskan sharding dan apa artinya di MongoDB?
Sharding adalah teknik yang digunakan dalam MongoDB untuk menyimpan data di beberapa mesin. MongoDB menggunakan sharding untuk mendukung penyebaran kumpulan data besar dan operasi throughput tinggi. Sharding adalah pendekatan MongoDB untuk memenuhi standar dan tuntutan pertumbuhan data yang cepat. Partisi data horizontal dalam DB atau mesin pencari disebut sebagai database shard atau shard.
5. Sebutkan beberapa fitur utama MongoDB
- Bahasa kueri ekspresif
- Database skalabel yang sangat tangkas
- Model data fleksibel dalam bentuk dokumen
- Jauh lebih cepat daripada database tradisional lainnya.
6. Bandingkan CouchDB dan MongoDB pada level yang lebih tinggi
Meskipun CouchDB dan MongoDB merupakan database berorientasi terdokumentasi, MongoDB masih menonjol sebagai pilihan yang lebih baik untuk aplikasi utama yang membutuhkan dinamisme dalam kueri dan kinerja yang luar biasa. Namun, ini tidak berarti bahwa CouchDB tidak efisien karena juga digunakan untuk aplikasi yang terkadang mengubah dan menggunakan kueri yang telah ditentukan sebelumnya.
7. Bagaimana cara menambahkan data di MongoDB?
Pernyataan sintaks "menyisipkan" digunakan untuk menambahkan data ke MongoDB. Misalnya, untuk menyisipkan satu dokumen, gunakan sintaks kumpulan di bawah ini:
insertOne
> db.fosslinux.insertOne({“title” :“Mengapa saya menyukai Foss”})
Untuk menyisipkan banyak dokumen ke dalam koleksi, gunakan sintaks di bawah ini:
insertmany
Metode ini akan memungkinkan pengiriman array ke dokumen di database.
8. Bagaimana cara menghapus dokumen di MongoDB?
CRUD API digunakan di MongoDB untuk tujuan penghapusan karena menyediakan yang berikut:
deleteOne
deleteMany
Sintaks yang dapat digunakan untuk menghapus file tunggal dan banyak, masing-masing. Sintaks yang disediakan membantu menyaring dokumen sebagai parameter pertama. Filter sangat penting karena menentukan kriteria yang ditetapkan untuk dicocokkan dengan dokumen yang akan dihapus.
Contoh:
> db.fosslinux.deleteOne({"_id" : 4})
9. Cara mengkueri data di MongoDB
Membuat kueri data dalam tabel membantu mengembalikan subset dokumen di dalam koleksi (dari tidak ada dokumen hingga semua dokumen yang ada dalam koleksi). “menemukan ” digunakan untuk melakukan kueri apa pun di MongoDB. Argumen pertama yang diberikan setelah pernyataan find akan menentukan dokumen yang dihitung atau dikembalikan.
Contoh:
> db.users.find({"age" : 24})
10. Jelaskan apa yang dimaksud dengan set replika di MongoDB
Kumpulan replika dapat disebut sebagai contoh grup mongo yang menghosting kumpulan data serupa. Dalam set replika, satu node adalah primer, dan yang lainnya adalah sekunder. Semua data direplikasi dari node primer ke sekunder.
11. Bagaimana cara kerja replikasi di MongoDB?
Replikasi adalah proses yang memerlukan sinkronisasi data di server yang berbeda. Replikasi adalah kuncinya karena membantu menyediakan lebih sedikit redundansi sekaligus meningkatkan ketersediaan data. Replikasi adalah kunci karena membantu mencegah database kehilangan server tunggal karena ketersediaan banyak salinan di server database yang berbeda. Selain itu, replikasi memungkinkan pengguna untuk pulih dari gangguan layanan dan kegagalan perangkat keras.
12. Soroti peran profiler di MongoDB
Profiler basis data di MongoDB menunjukkan kinerja karakteristik dari setiap operasi yang dilakukan terhadap basis data. Untuk menemukan kueri profiler yang lebih lambat dari yang diharapkan, Anda dapat menggunakan profiler.
13. Jelaskan secara singkat cara memindahkan file lama ke direktori moveChunk di MongoDB?
Ya, file lama dapat dipindahkan ke direktori moveChunk. Ini dapat dilakukan selama operasi pecahan normal. File yang dibuat sebagai cadangan dapat dihapus ketika operasi selesai. Memindahkan file lama ke direktori moveChunk membantu menciptakan dan menghemat ruang.
14. Fitur mana yang digunakan di MongoDB untuk membuat cadangan yang aman?
Di MongoDB, penjurnalan digunakan saat membuat cadangan yang aman.
15. Apa itu indeks di MongoDB?
Indeks di MongoDB mendukung eksekusi kueri. Jika indeks tidak ada di MongoDB, maka pemindaian koleksi harus dilakukan untuk memindai semua dokumen dalam koleksi dan memilih semua dokumen yang berisi pernyataan kueri yang cocok.
16. Beri nama alternatif MongoDB
Di bawah ini adalah beberapa alternatif MongoDB:
- CouchDB
- Kasandra
- Merah
- Hbase
- Riak
17. Apakah MongoDB membutuhkan banyak Random-Access Memory (RAM)?
Tidak, ini adalah hal yang menyenangkan tentang MongoDB. Anda tidak memerlukan banyak RAM untuk dijalankan karena secara dinamis mende-alokasikan dan mengalokasikan RAM berdasarkan persyaratan proses lainnya.
18. Secara default, berapa banyak indeks yang dibuat oleh MongoDB untuk koleksi baru?
MongoDB membuat _id collection secara default untuk semua koleksi baru.
19. Jelaskan pentingnya kueri tertutup di MongoDB.
Dengan bantuan kueri yang dicakup, MongoDB dapat mencocokkan kondisi kueri dan mengembalikan hasil bidang dengan menggunakan indeks yang sama karena semua bidang telah tercakup dalam indeks itu sendiri. Ini dapat dilakukan tanpa melihat ke dalam dokumen yang digunakan. Selain itu, kueri tertutup dieksekusi lebih cepat karena indeks terkadang disimpan dalam RAM.
20. Apa yang dimaksud dengan kueri tertutup?
Kueri tertutup adalah kueri yang:
- Bidang yang dihitung dalam hasil serupa dengan indeks
- Bidang yang digunakan di bagian kueri adalah bagian dari indeks yang digunakan dalam kueri
21. Apa itu Agregasi di MongoDB?
Operasi agregasi membantu dalam memproses catatan data dan mengembalikan hasil yang dihitung. Operasi agregasi membantu mengelompokkan nilai dari dokumen yang berbeda, melakukan berbagai operasi pada data yang dikelompokkan dan mengembalikan satu hasil. MongoDB memiliki tiga cara alternatif untuk melakukan agregasi:
- Menggunakan fungsi pengurangan peta
- Menggunakan alur agregasi
- Menggunakan perintah dan metode agregasi tujuan tunggal.
22. Jelaskan apa itu replikasi dan bagaimana cara kerjanya di MongoDB?
Replikasi di MongoDB adalah proses sinkronisasi data antar server. Replikasi meningkatkan ketersediaan data sementara, di sisi lain, menyediakan redundansi. Bantuan replikasi mencegah database kehilangan satu server karena banyak salinan data berada di server DB yang berbeda. Jika terjadi gangguan layanan dan perangkat keras, replikasi kegagalan akan membantu Anda memulihkan.
23. Kumpulan replika primer dan sekunder di MongoDB
Dalam replikasi MongoDB disebut sebagai "master tunggal", artinya hanya satu node yang memiliki kemampuan untuk menerima operasi tulis pada satu waktu. Node utama dan master menerima penulisan. Semua node sekunder (slave) direplikasi dari node utama (read-only. Mereka hanya dapat siap tetapi tidak dapat ditulis).
24. Jelaskan mengapa file data di MongoDB berukuran besar
Karena mekanismenya untuk mengalokasikan file data terlebih dahulu untuk menghindari fragmentasi sistem file dan ruang cadangan, MongoDB cenderung memiliki file data yang sangat besar.
25. Jelaskan apa itu mesin penyimpanan di MongoDB?
Sebuah mesin penyimpanan adalah bagian dari database yang bertanggung jawab untuk mengelola cara data disimpan pada disk. Misalnya, satu mesin penyimpanan mungkin mendukung throughput yang lebih tinggi untuk operasi tulis serbaguna sementara mesin penyimpanan lain menawarkan kinerja yang lebih baik, memastikan efisiensi sambil menangani beban kerja yang berat
26. Jelaskan cara kerja penjurnalan di MongoDB
MongoDB menyimpan dan menerapkan operasi tulis di jurnal dan memori di disk sebelum meniru perubahan ke file data saat dijalankan dengan penjurnalan. Penulisan jurnal bersifat atomik, artinya mereka menghasilkan konsistensi pada semua file jurnal pada disk. MongoDB dapat membuat subdirektori jurnal dalam direktori yang ditentukan oleh dbpath setiap kali penjurnalan diaktifkan.
27. Sebutkan dua mesin penyimpanan yang digunakan oleh MongoDB
Dua mesin penyimpanan yang digunakan oleh MongoDB adalah:
- WiredTiger
- MMAPv1
28. Jelaskan bagaimana penguncian dan transaksi dicapai di MongoDB
Untuk mencapai konsep penguncian dan transaksi di MongoDB, Anda dapat menggunakan dokumen bersarang, juga disebut sebagai dokumen yang disematkan. Selain itu, MongoDB mendukung operasi atom setiap kali bekerja dalam satu dokumen.
29. Apa itu GridFS di MongoDB?
GridFS adalah spesifikasi untuk pengambilan dan penyimpanan file yang melebihi ukuran maksimum yang disarankan BSON yaitu 16 MB. GridFS membagi file yang melebihi batas yang biasanya direkomendasikan menjadi dua bagian atau potongan dan menyimpannya sebagai file terpisah setiap kali melebihi batas penyimpanan.
30. Jelaskan bagaimana konkurensi memengaruhi kumpulan replika utama?
MongoDB selalu menulis ke oplog utama saat menulis ke koleksi di primer selama replikasi. Oplog utama adalah koleksi khusus yang ditemukan di database lokal. Oleh karena itu, MongoDB harus mengunci database lokal dan koleksi dalam kasus seperti itu.
31. Jelaskan arti dari Namespace dalam kaitannya dengan MongoDB
Sebuah namespace, secara singkat, dikenal sebagai gabungan dari nama koleksi dan database. misalnya, foss.linux dengan foss sebagai database dan linux sebagai koleksinya.
32. Jelaskan struktur ObjectID di MongoDB?
ObjectID adalah tipe dokumen BSON 12-byte yang berisi:
- Penghitung 3 byte
- ID proses 2-byte
- Nilai 4-byte menyajikan detik
- Pengidentifikasi mesin 3 byte
33. Jelaskan bagaimana MongoDB dianggap lebih baik daripada database SQL lainnya.
MongoDB dikenal karena memungkinkan struktur dokumen yang sangat skalabel dan fleksibel. Misalnya, satu dokumen data dapat berisi lima kolom, dan dokumen lain dalam koleksi yang sama dapat berisi sepuluh kolom. Basis data MongoDB jauh lebih cepat daripada basis data SQL karena memiliki teknik penyimpanan dan pengindeksan yang efisien.
34. Sebutkan semua bahasa yang dapat digunakan dengan MongoDB?
Saat menulis pertanyaan wawancara ini, MongoDB mendukung bahasa resmi berikut C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go, dan Perl. Semua bahasa yang disebutkan dapat digunakan dengan MongoDB. Namun, ini tidak menghalangi fakta bahwa lebih banyak bahasa dapat diperkenalkan di masa mendatang untuk mendukung MongoDB.
35. Apakah MongoDB mendukung batasan kunci asing?
MongoDB tidak mendukung batasan kunci asing dan hubungan terkait
36. Sorot poin yang perlu dipertimbangkan saat membuat skema di MongoDB
Poin-poin yang diberikan di sini harus dipertimbangkan:
- Anda harus bergabung saat menulis, bukan dalam mode baca
- Jika Anda menggunakan dokumen bersama-sama, disarankan untuk memisahkannya; namun, gabungkan objek menjadi satu dokumen
- Optimalkan skema Anda untuk kasus penggunaan yang sering
- Selalu pastikan skema dirancang sesuai dengan kebutuhan Anda
- Agregasi kompleks harus dilakukan dalam skema
37. Berikan sintaks yang digunakan untuk membuat dan melepaskan koleksi di MongoDB
Sintaks yang digunakan untuk membuat koleksi adalah:db.createCollection(name,options)
Sintaks yang digunakan untuk menghapus koleksi adalah:db.collection.drop()
38. Terdiri dari apa ObjectID di MongoDB?
ObjectID terdiri dari komponen-komponen berikut:
- ID mesin klien
- Stempel waktu
- ID proses klien
- Penghitung pertambahan 3 byte
39. Beri nama tipe data yang digunakan di MongoDB
MongoDB menawarkan berbagai tipe data sebagai nilai dalam dokumen. Dokumen MongoDB mirip dengan objek dalam JavaScript. Di samping sifat pasangan nilai esensial JSON, MongoDB juga mendukung berbagai tipe data tambahan. Tipe data utama di MongoDB adalah:
- Boolean
{"x" : true}
- Nomor
{"x" : 4}
- Nol
{"x" : null}
- Tali
{"x" : "foobar"}
- Tanggal
{"x" : new Date()}
- Array
{"x" : ["a", "b", "c"]}
- Ekspresi reguler
{"x" : /foobar/i}
- ID Objek
{"x" : ObjectId()}
- Data Biner
Binary data is a concatenation of arbitrary bytes
- Kode
{"x" : function() { /* ... */ }}
- Dokumen tersemat
{"x" : {"foo" : "bar"}}
40. Kapan sebaiknya Anda menggunakan MongoDB?
MongoDB dapat digunakan untuk berbagai hal. Pertama, ketika membangun aplikasi internet, Anda dapat menggunakan MongoDB. Kedua, MongoDB dapat digunakan untuk membangun aplikasi bisnis yang ditujukan untuk berkembang dengan cepat dan scaling secara elegan. Pengembang yang membangun aplikasi yang dapat diskalakan menggunakan metodologi tangkas sudah familiar dengan MongoDB karena ini adalah pilihan yang sangat baik untuk membangun aplikasi yang dapat diskalakan. Jika Anda perlu melakukan hal berikut, MongoDB harus menjadi pilihan pertama Anda:
- Skalakan repositori data Anda ke berbagai ukuran besar yang dapat dikelola
- Kembangkan jenis penerapan karena perubahan bisnis yang cepat
- Kelola, telusuri, dan simpan data menggunakan dimensi geospasial, teks, dan deret waktu.
- Mendukung pembangunan pengembangan berulang yang cepat
- Menskalakan ke tingkat lalu lintas tulis dan baca yang lebih tinggi – MongoDB mendukung penskalaan horizontal melalui sharding, distribusi data di seluruh mesin yang berbeda, dan memfasilitasi operasi throughput lebih tinggi yang berisi kumpulan data besar.
Kesimpulan
Artikel ini telah secara komprehensif mencakup hampir semua pertanyaan wawancara utama yang dapat ditemui seseorang ketika dalam sebuah wawancara. Kami berharap pertanyaan-pertanyaan ini akan membantu Anda mempersiapkan diri secara memadai untuk wawancara Anda berikutnya. Jika Anda memiliki pertanyaan yang terlewat, silakan posting di bagian komentar, karena audiens Anda sangat berarti bagi kami. Terima kasih telah membaca.