26 najważniejszych pytań i odpowiedzi podczas wywiadu z Mavenem [Dla nowicjuszy i doświadczonych]

Opublikowany: 2021-01-21

Spis treści

Przegląd

Wiesz już, że ekspertyza w Maven jest dziś warta dużych pieniędzy, inaczej nie byłoby cię tutaj. W końcu Maven jest narzędziem wybieranym przez większość czołowych przedsiębiorstw i oczywiście chętnie zatrudniają osoby takie jak Ty, aby wyprzedzić konkurencję.

Teraz byłby to zbyt doskonały świat, w którym dokładnie wiedziałbyś, jakie pytania zostaną zadane podczas następnej rozmowy o pracę. Mamy jednak dla Ciebie kolejną najlepszą rzecz: starannie wyselekcjonowaną listę najczęściej zadawanych pytań i odpowiedzi podczas wywiadów z Mavenem. To może po prostu dać ci pracę, na którą patrzysz. Więc zajmijmy się!

Pytania i odpowiedzi na wywiad z Mavenem

Pytanie 1: Co to jest Maven?

Apache Maven to skuteczne narzędzie do automatyzacji kompilacji obsługiwane przez Apache Software Foundation, które służy do tworzenia projektów napisanych w Javie i zarządzania nimi. Wspiera również zarządzanie projektami napisanymi w C/C++, Ruby, Scala i kilku innych językach programowania. Maven wykorzystuje domyślną strukturę cyklu życia kompilacji, aby zautomatyzować i zrozumieć infrastrukturę projektu.

Pytanie 2: Jakie są cele Mavena?

Aby pomóc programiście zrozumieć cały stan prac programistycznych w sposób, który oszczędza czas, Maven ma na celu przede wszystkim:

  • Aby uprościć proces tworzenia projektów budowlanych

Maven daje programistom dostęp do podstawowych mechanizmów, ale chroni je przed kilkoma innymi szczegółami.

  • Aby umożliwić jednolitość w systemie budowania

Projekty Maven są budowane przy użyciu systemu wtyczek i Project Object Model (POM). Zapoznanie się z jednym projektem może pomóc w zrozumieniu wszystkich kompilacji projektów Maven. Jest to bardzo efektywne w oszczędzaniu czasu.

  • Dostarczanie cennych informacji o projekcie w celu zwiększenia wydajności

Te informacje pochodzą głównie z POM, a częściowo ze źródeł Twojego projektu. Informacje dostarczane przez Mavena obejmują używane zależności, raporty z testów jednostkowych, raporty wtyczek z produktów do analizy kodu stron trzecich itp.

  • Stworzenie przestrzeni do wpajania najlepszych praktyk deweloperskich

Obejmuje to skupienie się na aktualnych zasadach rozwoju, jeśli chodzi o wykonanie, raporty z testów jednostkowych, specyfikację itp.

Pytanie 3: Opisz kolejność wdrażania projektu?

Proces wdrażania projektu obejmuje następujące kroki:

Krok 1: Kod ze wszystkich projektów, które są w toku, jest wprowadzany do SVN lub do repozytorium kodu źródłowego. Dzieje się tak, aby kod mógł zostać otagowany.

Krok 2: Pobierany jest cały kod źródłowy z SVN.

Krok 3: Trzeci krok polega na zbudowaniu aplikacji.

Krok 4: Dane wyjściowe kompilacji uzyskane jako plik EAR lub plik WAR są przechowywane we wspólnej lokalizacji sieci.

Krok 5: Plik jest pobierany z sieci i wdrażany w miejscu produkcji.

Krok 6: Po zakończeniu procesu wdrażania dokumentacja jest aktualizowana o datę i wersję aplikacji.

Pytanie 4: Jakimi aspektami zarządza Maven?

Deweloperzy na Maven zarządzają następującymi aspektami:

  • Zależności używane przez projekt
  • SCM (zarządzanie konfiguracją oprogramowania)
  • Wydania i kompilacje
  • Szczegóły dokumentacji
  • Raportowanie
  • Dystrybucja
  • Lista mailingowa

Pytanie 5: Które polecenie pozwala szybko zbudować witrynę Maven?

Polecenie brzmi –

witryna mvn

Pytanie 6: Jakie są cechy Mavena?

Oto kilka kluczowych cech Mavena:

  1. Zachęca programistów do przestrzegania najlepszych praktyk programistycznych. To sprawia, że ​​tworzenie projektu jest prostsze i szybsze – nowy projekt można rozpocząć w kilka sekund.
  2. Umożliwia spójne użytkowanie, co oznacza, że ​​nie ma czasu na rozruch, gdy nowi programiści dołączają do projektu.
  3. Maven skutecznie zarządza zależnościami, co oznacza, że ​​aktualizacja odbywa się automatycznie, a zależności przechodnie są sortowane.
  4. Umożliwia jednoczesny dostęp do wielu projektów.
  5. Zawiera obszerne repozytorium bibliotek i metadanych. Istnieją również ustalenia umożliwiające dostęp do najnowszych i największych projektów Open Source w czasie rzeczywistym.
  6. Umożliwia kompatybilność z rozszerzeniami i pozwala użytkownikom pisać wtyczki w Javie lub innych językach skryptowych, takich jak Ruby, C# i Scala.
  7. Istnieje natychmiastowy dostęp do nowych wersji i funkcji, które nie wymagają dodatkowej konfiguracji.
  8. Korzystając z Maven, programiści mogą tworzyć liczne projekty imitujące predefiniowane typy danych wyjściowych, takie jak JAR, WAR. To prawie nie wymaga skryptów.
  9. Maven może wygenerować stronę internetową lub plik PDF przy użyciu tych samych metadanych, co kompilacja, w celu wygenerowania standardowych raportów dotyczących stanu rozwoju projektu.
  10. Przy prawie żadnych zmianach konfiguracyjnych można zintegrować system kontroli źródła. Maven umożliwi Ci wtedy zarządzanie wydaniem projektu na podstawie określonego tagu. Te dane mogą być również publikowane w lokalizacji dystrybucji, dzięki czemu mogą być używane w innych projektach.
  11. Centralne repozytoria plików JAR są wyjątkowo cenne i Maven zachęca do ich używania wraz z innymi zależnościami. Dzięki temu wszystkie pliki JAR potrzebne do zbudowania projektu można pobrać z centralnego repozytorium JAR. Jest to podobne do CPAN Perla i umożliwia ponowne wykorzystanie plików JAR w różnych projektach. Dzięki aktywnej komunikacji między projektami można wyeliminować wszelkie problemy z kompatybilnością wsteczną.

Pytanie 7: Jakie są fazy Czystego Cyklu Życia?

Fazy ​​czystego cyklu życia są następujące:

  1. wstępne czyszczenie
  2. czysty
  3. po czyszczeniu

Pytanie 8: Zdefiniuj POM.

POM (skrót od Project Object Model) to podstawowa jednostka pracy w Maven. Utworzony jako rozszerzenie XML, jest przechowywany w katalogu podstawowym przez pom.xml. Ten plik zawiera informacje dotyczące różnych konfiguracji wykonanych przez Mavena.

Pytanie 9: Jakie są fazy cyklu życia witryny?

Poniżej przedstawiono fazy cyklu życia witryny:

  1. wstępna strona
  2. teren
  3. post-site
  4. witryna-wdrażanie

Pytanie 10: Kiedy określono w POM, które elementy POM można modyfikować w profilu?

Następujące elementy POM mogą być modyfikowane:

<wtyczki>

<właściwości>

<moduły>

<raportowanie>

<repozytoria>

<Repozytoria wtyczek>

<zależności>

<zarządzanie zależnościami>

<Zarządzanie dystrybucją>

Pytanie 11: Wyjaśnij cykl życia kompilacji Mavena.

Logiczna sekwencja faz zdefiniowana w celu określenia kolejności realizacji celów jest określana jako cykl życia kompilacji. Każda faza jest wskazaniem etapu w cyklu życia.

Sprawdź: 10 najważniejszych pytań i odpowiedzi podczas wywiadu dotyczącego butów sprężynowych

Pytanie 12: Jakie są 3 cykle życia kompilacji Mavena?

Trzy cykle kompilacji Mavena to:

  1. Wyczyść: Ten etap polega na usunięciu wszelkich artefaktów pozostałych z poprzednich kompilacji. Cykl Clean Lifecycle składa się z trzech faz: czyszczenia wstępnego, czyszczenia i czyszczenia końcowego.
  2. Domyślny (lub kompilacja): Domyślny cykl kompilacji dotyczy miejsca kompilowania aplikacji.
  3. Witryna: w tej fazie generowana jest wszelka powiązana dokumentacja witryny. Cykl życia witryny składa się z czterech faz, a mianowicie: przed witryną, witryną, po witrynie i wdrożeniem witryny.

Pytanie 13: Wyjaśnij cel w Maven.

Cel oznacza konkretne zadanie, które jest integralną częścią budowy i zarządzania projektem. Cel może, ale nie musi być związany z fazami budowania. Ten, który jest powiązany z zerowymi fazami kompilacji, nie musi być wykonywany w cyklu życia kompilacji. można to zrobić poza nią przez bezpośrednie wywołanie.

Pytanie 14: Jaki jest cel następującego polecenia: mvn clean dependency:copy-dependencies pakiet?

Powyższe polecenie służy do czyszczenia projektu. Następnie skopiuje wszelkie zależności i wykona wszystkie fazy projektu.

Pytanie 15: Wyjaśnij profil kompilacji w terminologii Maven.

Profil kompilacji reprezentuje grupę wartości konfiguracyjnych, za pomocą których można ustawić lub zastąpić domyślne wartości kompilacji Maven. Profil kompilacji umożliwia dostosowanie kompilacji do różnych środowisk (np. środowisko produkcyjne lub programistyczne)

Pytanie 16: Wspomnij o trzech różnych profilach kompilacji.

  1. Na użytkownika: definiujesz profil kompilacji na użytkownika w pliku xml ustawień Maven (%USER_HOME%/.m2/settings.xml).
  2. Na projekt: Profil budowania na projekt jest zdefiniowany w jednym z tych dwóch plików — pliku POM, pom.xml.
  3. Globalny: ten profil kompilacji należy zdefiniować w pliku xml ustawień globalnych w Maven (%M2_HOME%/conf/settings.xml).

Pytanie 17: Jaka jest domyślna lokalizacja twojego lokalnego repozytorium?

Domyślna lokalizacja to: ~/m2./repository .

Pytanie 18: Napisz polecenie, aby zainicjować instalację pliku JAR w lokalnym repozytorium?

Polecenie to: mvn install

Pytanie 19: Opisz krótko różne wtyczki Maven.

Dwa rodzaje wtyczek Maven to:

  1. Wtyczki kompilacji: te wtyczki są wykonywane podczas procesu budowania. Należy je skonfigurować w elemencie <build/> pliku pom.xml.
  2. Wtyczki raportujące: są uruchamiane podczas generowania strony i muszą zostać skonfigurowane w elemencie <reporting/> pliku pom.xml.

Pytanie 20: Które polecenie służy do budowania projektu w trybie offline?

Używane jest następujące polecenie: mvn o pakiet

Pytanie 21: Jakie jest polecenie wykluczenia zależności?

Element wykluczenia służy do wykonywania zależności.

Pytanie 22. Jaki jest krok do automatycznego czyszczenia wtyczek podczas kompilacji?

Jeśli dodasz czystą wtyczkę do tagu wykonania w pliku pom.xml, wtyczka zostanie wyczyszczona.

Pytanie 23: Jak wygląda proces zatrzymywania propagacji wtyczek do POM-ów podrzędnych?

Użyj następującego polecenia: ustaw <dziedziczone> na false

Pytanie 24: Wyjaśnij użycie elementu wykonania w pliku pom?

Element <execution> w pliku pom zawiera informacje potrzebne do wykonania wtyczki.

Pytanie 25: Podaj w pełni kwalifikowaną nazwę artefaktu projektu.

W pełni kwalifikowana nazwa artefaktu projektu to: <identyfikator_grupy>:<identyfikator artefaktu>:<wersja>

Pytanie 26: Wspomnij kroki, aby odwołać się do ostatecznej właściwości w pliku pom.xml?

W tym celu nazwy elementów XML używane w definicji wartości są używane przez nazwę właściwości, w której „pom” może działać jako alias elementu projektu.

Oznacza to, że ${pom.name} to odwołanie do nazwy projektu, ${pom.version} wskazuje jego wersję, a ${pom.build.finalName} to ostateczna nazwa pliku utworzonego na opakowaniu budowanego projektu, i tak dalej.

To wszystko, co znajduje się w tej liście pytań i odpowiedzi na wywiad z Mavenem. Mamy nadzieję, że to się przyda!

Trzeba przeczytać: pytania i odpowiedzi Jenkinsa na wywiad 2021 dla świeżo upieczonych i doświadczonych

Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Obejmują one głównie trochę podstawową wiedzę Mavena, które mają na celu przygotowanie kogoś do rozmowy kwalifikacyjnej. Chociaż nie jest to wyczerpująca lista, stanowi podstawę do pozyskania rekruterów swoją wiedzą o Maven.

Jeśli chcesz dowiedzieć się więcej o Jenkins, oprogramowaniu do pełnego stosu, sprawdź program Executive PG UpGrad i IIIT-B w zakresie tworzenia pełnego stosu oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznego szkolenia, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Co to jest Maven?

Maven to narzędzie do automatyzacji kompilacji, które automatycznie pobiera zależności projektu, więc nie musisz tego robić sam. Jest w stanie budować, kompilować i testować projekty, więc jeśli pracujesz nad wieloma różnymi projektami, to narzędzie jest dla Ciebie. Po zainstalowaniu możesz używać prostych poleceń do zarządzania budowaniem i testowaniem swojego projektu, a także pobierze dla Ciebie zależności projektu, więc nie musisz tego robić ręcznie.

Co to jest Gradle?

Gradle to narzędzie do automatyzacji kompilacji. Narzędzie do budowania to aplikacja przeznaczona do automatyzacji tworzenia oprogramowania. Jego głównym celem jest zmniejszenie nakładu pracy potrzebnego do zbudowania produktu i zarządzania procesem budowy. Gradle to naturalny język kompilacji, którego można użyć do stworzenia elastycznego systemu kompilacji z obsługą skryptów. Gradle to projekt typu open source, który można zintegrować z procesem budowania firmy. Jest to narzędzie do budowania, które buduje szybciej i inteligentniej niż Ant, Maven i inne narzędzia. Został zaprojektowany z myślą o wieloprojektowych scenariuszach budowania i oparty na konwencji nad konfiguracją. Jest to narzędzie do automatyzacji kompilacji, które buduje, testuje i publikuje aplikacje na żądanie. Może też zająć się wszystkimi zależnościami.

Czym są narzędzia do automatyzacji kompilacji?

Narzędzia do automatyzacji kompilacji, takie jak Jenkins, TravisCI i CircleCI, służą do automatyzacji procesu kompilacji od początku do końca. Obejmuje to budowanie aplikacji, uruchamianie testów jednostkowych, integrację z systemem kontroli wersji (takim jak git), przesyłanie artefaktów do repozytorium prywatnego lub publicznego oraz generowanie raportu dla każdej kompilacji. Zaletą jest to, że narzędzia te można skonfigurować tak, aby automatycznie uruchamiały procesy kompilacji, testowania i wdrażania. Po skonfigurowaniu mogą zapewniać zespoły i usługi ciągłej integracji, co ułatwia ciągłe dostarczanie i są one zaprojektowane i wdrożone w celu zapewnienia solidnego i skalowalnego potoku kompilacji.