26 En Önemli Maven Mülakat Soruları ve Cevapları [Yeni Başlayanlar ve Deneyimliler İçin]

Yayınlanan: 2021-01-21

İçindekiler

genel bakış

Maven'deki uzmanlığın bugün büyük paralar değerinde olduğunu zaten biliyorsun, yoksa burada olmazdın. Ne de olsa Maven, çoğu üst düzey kuruluş için tercih edilen bir araçtır ve doğal olarak, rekabette öne geçmek için sizin gibi kişileri işe almaya heveslidirler.

Şimdi, bir sonraki iş görüşmenizde size hangi soruların sorulacağını tam olarak bildiğiniz bir dünya çok mükemmel olurdu. Bununla birlikte, sizin için bir sonraki en iyi şeye sahibiz: en sık sorulan Maven röportaj sorularının ve cevaplarının özenle seçilmiş bir listesi. Bunlar sadece baktığınız işi size getirebilir. Öyleyse, hemen kazalım!

Maven Mülakat Soruları ve Cevapları

Soru 1: Maven nedir?

Apache Maven, Java ile yazılmış projeleri oluşturmak ve yönetmek için kullanılan, Apache Software Foundation tarafından barındırılan etkili bir derleme otomasyon aracıdır. Ayrıca C/C++, Ruby, Scala ve diğer birkaç programlama dilinde yazılmış projelerin yönetimini de destekler. Maven, bir projenin altyapısını otomatikleştirmek ve anlamak için varsayılan bir yapı yaşam döngüsü çerçevesi kullanır.

Soru 2: Maven'in hedefleri nelerdir?

Bir geliştiricinin, geliştirme çabasının tamamını zaman kazandıracak şekilde anlamasına yardımcı olmak için Maven'in başlıca kaygıları şunlardır:

  • Proje oluşturma sürecini basitleştirmek için

Maven, geliştiricilere temel mekanizmalara erişim sağlar, ancak onları diğer birçok ayrıntıdan korur.

  • Yapı sisteminde tekdüzeliği sağlamak için

Maven projeleri, bir eklenti sistemi ve Proje Nesne Modeli (POM) kullanılarak oluşturulur. Tek bir projeye aşina olmak, tüm Maven projelerinin yapılarını anlamanıza yardımcı olabilir. Bu, zamandan tasarruf etmede oldukça etkilidir.

  • Verimliliği artırmak için değerli proje bilgileri sağlamak

Bu bilgiler öncelikle POM'dan ve kısmen projenizin kaynaklarından elde edilir. Maven'in sağladığı bilgiler, kullanılan bağımlılıkları, birim test raporlarını, üçüncü taraf kod analiz ürünlerinden gelen eklenti raporlarını vb. içerir.

  • En iyi geliştirme uygulamalarını aşılamak için bir alan yaratmak

Bu, yürütme, birim test raporları, şartname vb. söz konusu olduğunda mevcut geliştirme ilkelerine odaklanmayı içerir.

Soru 3: Proje dağıtım sırasını tanımlayın?

Bir projenin dağıtım süreci aşağıdaki adımları içerir:

Adım 1: Devam etmekte olan tüm projelerden gelen kodlar ya SVN'ye ya da kaynak kod deposuna girilir. Bu, kodun etiketlenebilmesi için yapılır.

Adım 2: SVN'den gelen tüm kaynak kodu indirilir.

Adım 3: Üçüncü adım, uygulamanın oluşturulmasını içerir.

Adım 4: Bir EAR dosyası veya WAR dosyası olarak elde edilen derleme çıktısı, ağın ortak bir konumunda depolanır.

Adım 5: Dosya ağdan alınır ve üretim sahasına dağıtılır.

Adım 6: Dağıtım işlemi tamamlandıktan sonra belgeler, uygulamanın tarihi ve sürümüyle güncellenir.

Soru 4: Maven tarafından hangi yönler yönetilir?

Maven'deki geliştiriciler aşağıdaki hususları yönetir:

  • Bir proje tarafından kullanılan bağımlılıklar
  • SCM'ler (Yazılım Yapılandırma Yönetimi)
  • Sürümler ve Yapılar
  • Belge ayrıntıları
  • Raporlama
  • Dağıtım
  • Mail listesi

Soru 5: Maven sitenizi hızlı bir şekilde oluşturmanızı sağlayan komut hangisidir?

Komut şudur:

mvn sitesi

Soru 6: Maven'in özellikleri nelerdir?

Maven'in bazı temel özellikleri şunlardır:

  1. Geliştiricileri en iyi geliştirme uygulamalarını takip etmeye teşvik eder. Bu, proje oluşturmayı daha basit ve daha hızlı hale getirir - birkaç saniye içinde yeni bir proje başlatılabilir.
  2. Tutarlı kullanım sağlar, bu da yeni geliştiriciler bir projeye dahil olduğunda herhangi bir artış süresi olmadığı anlamına gelir.
  3. Maven, bağımlılıkları verimli bir şekilde yönetir; bu, güncellemenin otomatik olarak yapıldığı ve geçişli bağımlılıkların sıralandığı anlamına gelir.
  4. Birden fazla projeye aynı anda erişim sağlar.
  5. Kapsamlı bir kitaplık ve meta veri deposu içerir. Ayrıca, en yeni ve en büyük Açık Kaynak projelerine gerçek zamanlı olarak erişime izin veren düzenlemeler de mevcuttur.
  6. Uzantılarla uyumluluğu sağlar ve kullanıcıların Java'da veya Ruby, C# ve Scala gibi diğer komut dosyası dillerinde eklentiler yazmasına olanak tanır.
  7. Ek yapılandırma gerektirmeyen yeni sürümlere ve özelliklere anında erişim vardır.
  8. Maven'i kullanarak geliştiriciler, JAR, WAR gibi önceden tanımlanmış çıktı türlerini taklit etmek için çok sayıda proje oluşturabilir. Bu zar zor herhangi bir komut dosyası gerektirir.
  9. Maven, bir projenin geliştirme durumuyla ilgili standart raporlar üretmek için derlemeyle aynı meta verileri kullanarak bir web sitesi veya PDF oluşturabilir.
  10. Konfigürasyonlarda neredeyse hiç değişiklik yapılmadan kaynak kontrol sisteminiz entegre edilebilir. Maven daha sonra belirli bir etikete dayalı olarak bir proje yayınını yönetmenize izin verecektir. Bu veriler aynı zamanda başka projeler tarafından kullanılabilmesi için bir dağıtım konumuna da yayınlanabilir.
  11. JAR'ların merkezi depoları son derece değerlidir ve Maven, bunları diğer bağımlılıklarla birlikte kullanmanız için sizi teşvik eder. Bu sayede, bir proje oluşturmak için ihtiyaç duyulan herhangi bir JAR, merkezi bir JAR deposundan indirilebilir. Bu, Perl'in CPAN'ına benzer ve JAR'ların projeler arasında yeniden kullanılabilirliğine izin verir. Projeler arası aktif iletişim sayesinde geriye dönük uyumluluk sorunları ortadan kaldırılabilir.

Soru 7: Temiz Yaşam Döngüsünün aşamaları nelerdir?

Temiz yaşam döngüsü aşamaları aşağıdaki gibidir:

  1. ön temizlik
  2. temiz
  3. temizlik sonrası

Soru 8: POM'u tanımlayın.

POM (Project Object Model'in kısaltması), Maven'de temel bir çalışma birimidir. Bir XML uzantısı olarak oluşturulur, pom.xml tarafından temel dizinde saklanır. Maven tarafından yapılan çeşitli konfigürasyonlarla ilgili bilgiler bu dosyadır.

Soru 9: Site Yaşam Döngüsünün aşamaları nelerdir?

Bir Site Yaşam Döngüsünün aşamaları şunlardır:

  1. ön site
  2. alan
  3. site sonrası
  4. site dağıtımı

Soru 10: POM'da belirtildiğinde, bir profil POM'un hangi öğelerini değiştirebilir?

Aşağıdaki POM öğeleri değiştirilebilir:

<eklentiler>

<özellikler>

<modüller>

<raporlama>

<depolar>

<eklenti Depoları>

<bağımlılıklar>

<bağımlılık Yönetimi>

<dağıtım Yönetimi>

Soru 11: Maven'in Yapı Yaşam Döngüsünü açıklayın.

Hedeflerin gerçekleştirilme sırasını belirtmek için tanımlanan mantıksal bir aşama dizisine Yapı Yaşam Döngüsü adı verilir. Her aşama, yaşam döngüsündeki bir aşamanın göstergesidir.

Çıkış: İlk 10 Kritik Bahar Önyükleme Mülakat Soruları ve Cevapları

Soru 12: Maven'in 3 yapı yaşam döngüsü nedir?

Maven'in üç yapı döngüsü:

  1. Temizle: Bu aşama, önceki yapılardan kalan tüm yapıtları temizlemek içindir. Temiz Yaşam Döngüsü üç aşamadan oluşur: ön temizleme, temizleme ve temizleme sonrası.
  2. Varsayılan (veya derleme): Varsayılan derleme döngüsü, uygulamanın oluşturulduğu yerdir.
  3. Site: Bu aşamada ilgili site belgeleri oluşturulur. Site yaşam döngüsünde dört aşama vardır: site öncesi, site, site sonrası ve site dağıtımı.

Soru 13: Maven'de bir hedefi açıklayın.

Hedef, bir projenin inşası ve yönetiminin ayrılmaz bir parçası olan belirli bir görevi ifade eder. Bir hedef, aşamalar oluşturmaya bağlı olabilir veya olmayabilir. Sıfır derleme aşamasına bağlı olanın, derleme yaşam döngüsü içinde yürütülmesi gerekmez. doğrudan çağırma ile onun dışında yapılabilir.

Soru 14: Aşağıdaki komutun amacı nedir: mvn temiz bağımlılık:kopya bağımlılıkları paketi?

Yukarıdaki komut projeyi temizlemek için kullanılır. Daha sonra tüm bağımlılıkları kopyalayacak ve projenin tüm aşamalarını yürütecektir.

Soru 15: Maven terminolojisinde bir Yapı Profilini açıklayın.

Bir Yapı profili, bir Maven yapısının hangi varsayılan değerlerinin ayarlanabileceğini veya geçersiz kılınabileceğini kullanan bir grup yapılandırma değerini temsil eder. Bir yapı profili, bir yapının çeşitli ortamlara göre özelleştirilmesine izin verir (örneğin, Üretime karşı Geliştirme ortamı)

Soru 16: Üç farklı Yapı Profilinden bahsedin.

  1. Kullanıcı Başına: Kullanıcı başına derleme profilini Maven ayarlarının xml dosyasında (%USER_HOME%/.m2/settings.xml) tanımlarsınız.
  2. Proje Başına: Proje başına derleme profili, bu iki dosyadan birinde tanımlanır – POM dosyası, pom.xml.
  3. Global: Bu derleme profili, Maven'deki global ayarların xml dosyasında (%M2_HOME%/conf/settings.xml) tanımlanmalıdır.

Soru 17: Yerel deponuzun varsayılan konumu nedir?

Varsayılan konum: ~/m2./repository .

Soru 18: Yerel deponuzda JAR dosyası kurulumunu başlatmak için komutu yazın?

Komut şudur: mvn install

Soru 19: Farklı Maven Eklentilerini kısaca tanımlayın.

İki tür Maven Eklentisi şunlardır:

  1. Eklentiler oluşturun: Bu eklentiler, oluşturma işlemi sırasında yürütülür. pom.xml dosyasının <build/> öğesinde yapılandırmadan geçmeleri gerekir.
  2. Raporlama eklentileri: Bunlar, site oluşturulduğunda yürütülür ve pom.xml dosyasının <reporting/> öğesinde yapılandırmaya tabi tutulmalıdır.

Soru 20: Projenizi çevrimdışı oluşturmak için hangi komut kullanılır?

Aşağıdaki komut kullanılır: mvn o paketi

Soru 21: Bağımlılığı dışlama komutu nedir?

Dışlama öğesi , bağımlılığı yürütmek için kullanılır.

Soru 22. Bir derleme sırasında eklentileri otomatik olarak temizleme adımı nedir?

Temiz eklentiyi pom.xml dosyasındaki yürütme etiketine eklerseniz, eklenti temizlenecektir.

Soru 23: Eklentilerin alt POM'lara yayılmasını durdurma süreci nedir?

Aşağıdaki komutu kullanın: <inherited> öğesini false olarak ayarlayın

Soru 24: Pom dosyasındaki yürütme öğesinin kullanımını açıklayın?

Bir pom dosyasındaki <execution> öğesi, bir eklentiyi yürütmek için gereken bilgileri içerir.

Soru 25: Bir projenin tam nitelikli yapı adını belirtin.

Bir projenin tam nitelikli yapı adı şudur: <groupId>:<artifactId>:<version>

Soru 26: pom.xml dosyasında kesin bir özelliğe başvurma adımlarından bahseder misiniz?

Bunu yapmak için, değerin tanımında kullanılan XML öğesi adları, "pom" öğesinin proje öğesi diğer adı olarak işlev görmesine izin verilen özellik adı tarafından kullanılır.

Yani, ${pom.name} proje adına bir referanstır, ${pom.version} onun versiyonunu belirtir ve ${pom.build.finalName}, inşa edilen projenin paketinde oluşturulan son dosya adıdır, ve bunun gibi.

Maven röportajı için bu soru ve cevap listesindekilerin hepsi bu kadar. Bunun işe yarayacağını umuyoruz!

Okumalısınız: Jenkins Röportaj Soruları ve Cevapları 2021 Yeni ve Deneyimliler için

Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Bunlar esas olarak Maven'in bir röportaj için donatılması gereken temel bilgilerini biraz kapsıyor. Kapsamlı bir liste olmasa da, Maven bilginizle işe alım görevlilerini kazanmanın temelini oluşturur.

Jenkins, full-stack yazılımı hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje sunan Full-stack Yazılım Geliştirmede Yönetici PG Programına göz atın , ve ödevler, IIIT-B Mezunları statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Maven nedir?

Maven, proje bağımlılıklarını otomatik olarak indiren bir yapı otomasyon aracıdır, bu nedenle bunu kendi başınıza yapmanız gerekmez. Projeler oluşturma, derleme ve test etme yeteneğine sahiptir, bu nedenle çok sayıda farklı proje üzerinde çalışıyorsanız bu araç tam size göre. Kurulduktan sonra, projenizin oluşturulmasını ve test edilmesini yönetmek için basit komutları kullanabilirsiniz ve ayrıca proje bağımlılıklarını sizin için indirir, böylece manuel olarak yapmanız gerekmez.

Gradle nedir?

Gradle bir yapı otomasyon aracıdır. Bir derleme aracı, yazılım oluşturma işlemini otomatikleştirmek için tasarlanmış bir yazılım uygulamasıdır. Temel amacı, bir ürünü oluşturmak ve yapım sürecini yönetmek için gereken çaba miktarını azaltmaktır. Gradle, komut dosyası yazılabilir, esnek bir yapı sistemi oluşturmak için kullanılabilecek doğal bir yapı dilidir. Gradle açık kaynaklı bir projedir ve bir şirketin inşa sürecine entegre edilebilir. Ant, Maven ve diğer araçlardan daha hızlı ve daha akıllı inşa eden bir inşa aracıdır. Çok projeli yapı senaryoları için tasarlanmıştır ve yapılandırmaya dayalı konvansiyona dayalıdır. Talep üzerine uygulamaları oluşturan, test eden ve yayınlayan bir derleme otomasyon aracıdır. Ayrıca tüm bağımlılıkları da halledebilir.

Yapı otomasyon araçları nelerdir?

Jenkins, TravisCI ve CircleCI gibi yapı otomasyon araçları, baştan sona yapım sürecinizi otomatikleştirmek için kullanılır. Bu, uygulamayı oluşturmayı, birim testlerini çalıştırmayı, bir sürüm kontrol sistemiyle (git gibi) entegre etmeyi, yapıtları özel veya genel bir havuza yüklemeyi ve her yapı için bir rapor oluşturmayı içerir. Avantajı, bu araçların derleme, test ve dağıtım süreçlerinizi otomatik olarak çalıştıracak şekilde yapılandırılabilmesidir. Yapılandırıldıktan sonra, sürekli teslimatı kolaylaştıran ekipler ve sürekli entegrasyon hizmetleri sağlayabilirler ve sağlam ve ölçeklenebilir bir yapı hattı sağlamak için tasarlanıp uygulanırlar.