En Popüler MongoDB Mülakat Soruları

En Populer Mongodb Mulakat Sorulari



MongoDB, açık kaynaklı bir NoSQL veritabanı yönetim sistemidir; yapılandırılmamış verilerin saklanmasında kolaylık sağladığı gibi yönetimini de sağlar. Milyonlarca satırlık yapılandırılmamış verinin nasıl yönetileceği sorusu ortaya çıktığında, MongoDB önerilir.

MongoDB'nin ilk sürümü Şubat 2007'de yayınlandı. 10 nesil Yazılım şirketi, daha sonra 2013 yılında 10gen, şirket adını MongoDB Inc. olarak değiştirdi.

MongoDB, verileri JSON belgeleri biçiminde depolamak için kullanılan bir NoSQL veritabanıdır, bu özelliği nedeniyle, büyük miktarda yapılandırılmamış veri MongoDB'de kolayca depolanabilir ve yönetilebilir. Verilere sahip olan bu belgelerin seti, koleksiyonlar olarak bilinir. Ve bu koleksiyonlar, ilişkisel veritabanlarında veri depolamak için kullanılan tablolara benzer.







MongoDB'nin diğer ilişkisel ve NoSQL veritabanlarına kıyasla bu kadar popüler olmasının birçok nedeni vardır, bunlardan bazıları şunlardır:



  • Geliştiriciler yapıyı anahtar/değer çiftlerine göre tanımlayabilir
  • İlişkisel veritabanları gibi, veriler için satırlara ve sütunlara gerek yoktur.
  • MongoDB yapısı hiyerarşik, verileri diziler biçiminde depolamaya izin verir ve ayrıca karmaşık verileri depolayabilir
  • Birden çok programlama dilini desteklediği için geliştiricilerinin veritabanlarını kolayca yönetmesini sağlar.
  • Ayrıca gridFS ve replikasyon özelliklerini de destekler.

Popülaritesi nedeniyle, MongoDB ile çalışan geliştiriciler için birçok iş fırsatı vardır. Bu makale, en önemli ve en çok oy alan birçok kuruluş tarafından sıkça sorulan sorularla ilgilidir.



MongoDB mülakat soruları

En sık sorulan sorular üç seviyeye ayrılmıştır: Temel seviye, Orta seviye ve Uzman seviyesi.





Temel Seviye

Bu sorular MongoDB'nin temel kavramları ve terminolojileri ile ilgilidir ve bir mülakatta her adayın bu soruları cevaplaması beklenir.

Soru 1: NoSQL veritabanları ve türleri hakkında ne biliyorsunuz?
NoSQL veritabanları, verileri belgeler ve anahtar/değer formları gibi diğer formlarda depolamak yerine, SQL veritabanlarının yaptığı gibi tablolarda veri depolamayan veritabanlarıdır.



Dört önemli NoSQL veri tabanı türü vardır:

  • Belge veritabanları: Bu veritabanları, verileri JSON belgeleri biçiminde depolar, bu belgeler bir araya gelerek koleksiyonlar oluşturur ve bu koleksiyonlar bir veritabanı oluşturmak için birleşir.
  • Anahtar/değer veritabanları: Bu veritabanları, verileri anahtar/değer çiftleri biçiminde depolar, örneğin, 'Ad = John', bu örnekte 'Ad' anahtardır ve 'John' değerdir.
  • Geniş sütunlu mağaza: Bu veritabanları, verileri dinamik tablolar biçiminde depolar, ilişkisel veritabanlarının aksine bu tablolar yapılandırılmış değildir.
  • Grafik veritabanları: Bu veritabanları kenarlar ve düğümler içerir; düğümler bilgi depolamak için kullanılırken, kenarlar düğümler arasındaki ilişkileri göstermek için kullanılır.

Soru 2: MongoDB hangi tür NoSQL veritabanıdır?
MongoDB veritabanı, belge veritabanlarına aittir, yani verileri JSON belgelerine göre depolar. Herhangi bir şemayı takip etmez ve içine her türlü verinin eklenmesine izin verir.

Soru 3: MongoDB ve SQL veritabanlarından hangisi daha iyidir?
MongoDB, yapılandırılmamış verileri işleyebilmesi açısından SQL veritabanlarından daha iyidir, oysa SQL veritabanları ilişkisel veritabanlarından farklı olarak yalnızca yapılandırılmış verileri işler ve herhangi bir kısıtlama olmadan saklar. Şemasız olma özelliğinden dolayı MongoDB'de SQL veritabanlarına göre sorgular hızlı bir şekilde işlenir, çünkü veriler tablolar şeklinde ve bunun yerine birkaç tablo halinde yerleştirilmez, veriler aynı yere yerleştirilir, böylece sorgunun verilere erişmesi kolaydır ve MongoDB, verilerinin diğer programlama dillerinde eşlenmesine izin vererek kullanıcılarının üzerinde çalışmasını kolaylaştırır.

Soru 4: MongoDB'de belge ve koleksiyon nedir?
Veriler MongoDB'de belgeler biçiminde saklanır, ardından bu belgeler bir koleksiyon oluşturmak için birleştirilir ve bir dizi koleksiyon bir veritabanı oluşturmak için birleşir. Bunu anlamak için, bir okul_verileri veritabanı örneğini düşünün, bir okul_verileri veritabanı, içinde sınıf_verileri olan koleksiyonları içerir ve ayrıca, bu belgeler (classes_data), öğrencilerin verilerini (student_data) belge biçiminde içerir.

Soru 5: MongoDB veri türleri nelerdir?
MongoDB'nin desteklediği birçok veri türü vardır:

Sicim Dize veri türü, verileri alfabe/karakter biçiminde depolar ve 8 bayt olmalı ve UTF-8'e, örneğin Jone'a ait olmalıdır.
tamsayı 64 bit'e kadar sayıları depolar ancak boyutu sunucuya göre değişebilir, örneğin 1,54.
boole Bu, 0 veya 1 olabilen boole değerlerini depolamak için kullanılır, örneğin, John sınıfta mı? Cevabı ya evet ya da hayır olacaktır.
Çift Bu, 22.8 gibi kayan sayıları saklar.
Min/Maks tuşları Minimum ve maksimum değerleri karşılaştırmak için kullanılır.
diziler Bu, dizileri veya birden çok değeri tek bir anahtarda depolamak için kullanılır.
Zaman Damgası Herhangi bir belge değiştirildiğinde, değişikliklerin kayıtlarını tutabilir.
Nesne Bu, gömülü belgeleri saklar
Hükümsüz Null değerleri saklar.
Sembol Bu, dize türüdür ve sembollerle ilgili dilleri saklayabilir.
Tarih Geçerli saat ve tarih bu veri türlerinde saklanabilir
Nesne Kimliği Belgelerin benzersiz kimlikleri vardır, bu kimlikler bu veri türünde saklanabilir
Ikili veri Makine dili olarak da bilinen ikili veriler içinde depolanır.
kod Javascript kodları bu veri türü yardımıyla belgelerde saklanır.
Düzenli ifade Bu veri tipinde herhangi bir ifade saklanabilir.

Soru 6: MongoDB'nin alternatifleri nelerdir?
MongoDB, BSON belgelerinde büyük dağıtılmış verilerin saklandığı bir NoSQL veritabanı türüdür. MongoDB'nin alternatifleri Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis ve Cassandra olabilir.

Orta düzey

Bu sorular, temel bilgilerden çok ileri düzey kavramlarla ilgilidir ve bir mülakatta ortalama bir adayın bu soruları yanıtlaması beklenir.

Soru 7: MongoDB ile SQL'i üst düzeyde nasıl karşılaştırabiliriz?
SQL veritabanları, verileri tablolar oluşturan satırlar ve sütunlar şeklinde iyi yapılandırılmış ve organize bir şekilde depolayan ilişkisel veritabanlarıdır, diğer yandan MongoDB veritabanları, verileri belgelerde depolayan NoSQL veritabanlarıdır, bu belgeler toplu olarak koleksiyonlar olarak bilinir ve bu koleksiyonlar bir veri tabanı oluşturmak için birleşir.

Soru 8: MongoDB'de ACID işlem yönetimi ve kilitleme gibi işlevler var mı?
Hayır, varsayılan olarak MongoDB çoklu belgeler üzerinde herhangi bir ACID işlemi sağlamaz, ancak tek bir belge üzerinde ACID işlemleri için destek sağlayabilir.

Soru 9: MongoDB'de indeksleme nedir?
MongoDB'de dizin, veritabanının bazı alanlarını kaplayan ve dizin oluşturmak için bazı verileri tutan özel bir veri yapısıdır. İndeks, veritabanının arama yeteneğini geliştirir, bir çok dokümandan belirli bir şeyi aramak yerine, bir kullanıcı indeksleme yardımıyla doğrudan belirtilen dokümana gidebilir.

{
Öğrenci Kimliği = 1
Öğrenci adı = 'Paul'
Ülke = 'Amerika Birleşik Devletleri'
}

Yukarıdaki örnekte, “Student_id =1” bir dizindir, yani herhangi biri Student_id veya 1 ile arama yaparsa, aşağıdaki belge açılacaktır.

Soru 10: MongoDB'de bir dizi alanında dizin oluşturulabilir mi?

Evet, MongoDB'de bir dizi alanında bir dizin oluşturabiliriz ve dizinin her değerini dizine ekler. Aslında, MongoDB tek başına çok anahtarlı dizini oluşturur ve herhangi bir dizin alanı bir dizi ise bunu belirtmeniz gerekmez.

Soru 11: Tek bir MongoDB örneğinde birden fazla Javascript işlemi çalıştırmak mümkün müdür?
MongoDB V8 javascript motorunun 2.4 sürümünde eklendiğinden, tek bir mongod örneğinde birden fazla Javascript işlemi çalıştırmak mümkündür.

Soru 12: MongoDB'de günlük tutma nedir?
Günlük kaydı MongoDB'de etkinleştirildiğinde, Journal dizini içinde bir Journal alt dizini oluşturur. /veri/db , varsayılan olarak dbPath tarafından tanımlanan yol budur. Günlük kaydı çalışırken, veri değişiklikleri diske aktarılmadan önce MongoDB verileri düzenler ve bellekte ve diskte depolar. Verilerdeki değişikliklerin kaydedilmemesi nedeniyle herhangi bir hata oluşması durumunda çok yardımcı olur, MongoDB değişiklikleri Journal dosyasından alabilir ve dosyaların dayanıklılığını sağlayabilir.

Uzman Seviyesi

Bu sorular, MongoDB'nin daha gelişmiş kavramlarıyla ilgilidir, bir uzmanlık adayının bu soruları yanıtlaması beklenir.

Soru 13: MongoDB parçalama işlemi nedir?
MongoDB'de parçalama, devasa bir veritabanının verilerini birçok MongoDB sunucusu arasında dağıtma işlemidir. Böylece verileri işlemek kolaydır ve ayrıca sorgulara yüksek hızda yanıt verebilir. MongoDB, parçalama yoluyla yatay ölçeklendirmeyi destekler.

MongoDB kümesi üç bölümden oluşur: kırıklar ; kopya olarak da bilinir ve her sunucuda bulunur, Mango ; sunucu ile parça arasında tercüman görevi görürler ve yapılandırma sunucuları ; kümenin ve meta verilerin yapılandırma ayarlarını saklarlar.

Soru 14: Ölçeklendirme nedir ve MongoDB'de nasıl gerçekleşir?
Tek bir düğümde çok fazla veri olduğunda, birden çok düğüm, yükünü dağıtmak için yüklü düğüme yaklaşır. Tek bir düğümün yükünü farklı düğümlere paylaşma işlemine ölçeklendirme denir ve aynı zamanda yatay ölçeklendirme olarak da bilinir.

Soru 15: MongoDB sorgulama dilini kullanarak sorgulama planları hakkında nasıl bilgi alabiliriz?
bu açıklamak() komutu kullanılır ve “allPlansExecution, executiveStats ve queryPlanner” modlarını destekler. Örneğin:

db . restoranlar . açıklamak ( 'yürütme İstatistikleri' ) . bulmak (
{ 'yerel mutfak' : 1 , 'ilçe' : 'Brooklyn' }
) ;

Yukarıdaki örnekte, restoranın verileri açıkla() komutundan alınmıştır.

Soru 16: MongoDB Toplama Çerçevesini açıklayın.
MongoDB'de, farklı koleksiyonlardan veri alma ve hesaplamadan sonra Toplama olarak bilinen birleşik bir sonuç döndürme. Üç adımı vardır, önce girdiyi alır ve belgelerden ihtiyacımız olan belgeleri $match() kullanarak filtreler, sonra $group() kullanarak filtrelenen bilgiler üzerinde toplama işini yaparız ve son olarak sıralarız $sort() kullanarak sonuçlarımız.

Soru 17: MongoDB işlemini kullanarak birden fazla veritabanını kilitlemek mümkün mü?
Evet, MongoDB birden fazla veritabanını kilitleyebilir, birden çok veritabanını anında kilitlemek için MongoDB işlemini kullanıyoruz db.copyDatabase() , oysa operasyon, db.repairDatabase() veritabanını düzenlemeye genel bir kilit uygulayın ve kaldırılana kadar uygulanacak diğer işlemleri de kısıtlayın.

Soru 18: MongoDB'de GridFS nedir?
Görüntüler, video dosyaları ve ses dosyaları gibi 16 MB'yi aşan büyük dosyalar, GridFS kullanılarak MongoDB'de yönetilir ve tek bir belge yerine dosyanın parça ve yığınlarında saklanır, varsayılan olarak MongoDB, fs olan yalnızca iki formatı destekler. dosyaların parçalarını ve meta verilerini depolamak için dosyalar ve fs.chunks.

Soru 19: MongoDB'de replikasyon fenomenini nasıl tanımlayabilirsiniz?
Çoğaltma, verileri birçok sunucu arasında senkronize etme işlemidir, oysa MongoDB verileri kopyalar ve farklı sunuculara çoğaltır, böylece bir sunucu çökmesi durumunda, veriler herhangi bir sunucudan alınabilir ve bu da verilerin güvenliğini sağlar.

Soru 20: Mongo Shell nedir?
Bir mongo kabuğu, MongoDB ile etkileşime geçebileceğimiz ve ayrıca sorguları kullanarak verilerde değişiklikler yapabileceğimiz bir JavaScript platformudur. Ayrıca, veritabanı örneklerinin bakımı gibi idari amaçlar için de kullanılır. Varsayılan olarak, mongo kabuğu kurulum dosyasına dahildir ancak kurulu değilse MongoDB sunucusundan kurabilirsiniz.

Çözüm

MongoDB, verileri belgeler biçiminde yönetmek için kullanılan ve şemasız olduğu için kullanımı çok kolay olan popüler bir NoSQL veritabanıdır. Twitter ve Facebook gibi birçok tanınmış şirket tarafından kullanılmaktadır. Popülerliği nedeniyle, MongoDB arayüzünde çalışan geliştiriciler için çok sayıda iş fırsatı vardır. Bu yazıda en sık sorulan MongoDB mülakat soruları uygun cevaplarıyla paylaşılmıştır.