15 Must-Know-Fragen für MVC-Interviews im Frühjahr
Veröffentlicht: 2018-03-25Spring hat sich zu einem der am häufigsten verwendeten Java-Frameworks für die Entwicklung von Webanwendungen entwickelt. Alle neuen Java-Anwendungen verwenden standardmäßig Spring Core- und Spring MVC-Frameworks. Dank seiner wachsenden Popularität suchen Personalvermittler auf der ganzen Welt nach Kandidaten, die das Spring-Framework praktisch anwenden. Wenn Sie zu einem Vorstellungsgespräch für eine Java-Entwicklerrolle erscheinen, ist Spring MVC eines der ersten Dinge, mit denen Sie Ihr Wissen über Interviewfragen zum Spring-Framework auffrischen sollten – unabhängig davon, ob Sie ein Neuling oder jemand mit Erfahrung sind.
Schließlich ist das Spring MVC-Framework das am häufigsten verwendete Java-Framework, und Sie werden in jedem Java-Interview (oder jedem verwandten Interview), an dem Sie teilnehmen, Fragen in und um das gleiche stellen. Falls Sie es nicht wussten, Spring MVC ist ein robustes Java-basiertes Framework, das beim Erstellen von Webanwendungen hilft. Wie der Name schon sagt, verwendet es eine MVC-Architektur – Model, View, Controller. Spring MVC bietet eine elegante Möglichkeit, Spring mit dem MVC-Framework zu verwenden. Das im Jahr 2002 veröffentlichte Spring-Framework ist ein Open-Source-Framework, dh Entwickler auf der ganzen Welt können zur Entwicklung und zu weiteren Versionen des Frameworks beitragen.
Erfahren Sie, wie Sie Anwendungen wie Swiggy, Quora, IMDB und mehr erstellenDas bedeutet auch, dass es eine ständig aktive Community von Entwicklern gibt, die Ihnen bei Ihren Fragen helfen. Open-Source zu sein, trägt auch zu der Fülle von Vorteilen bei, die das Spring-Framework bietet. Besonders wenn Sie mit Ihrer Karriere in Java beginnen, benötigen Sie Anleitung, und die vielfältige Community von Java-Entwicklern stellt sicher, dass Ihnen bei der Arbeit mit Spring MVC keine Anleitung fehlt.
Bei so vielen Vorteilen sollte es keinen Zweifel geben, warum Spring MVC das Lieblingsthema eines Interviews ist, zu dem Sie befragt werden.
In diesem Artikel sprechen wir über 15 solcher Spring MVC Must-Know-Fragen, die Sie in jedem Interview, an dem Sie teilnehmen, erwarten können.
1. Was ist das Spring-Framework?
Spring ist ein Open-Source-Framework, das entwickelt wurde, um die Anwendungsentwicklung zu vereinfachen. Es hat eine geschichtete Struktur, die es dem Entwickler ermöglicht, die von ihm verwendeten Komponenten auszuwählen. Es besteht aus drei Hauptkomponenten – Spring Core, Spring AOP und Spring MVC.

Außerdem können Sie über Ihre Erfahrungen mit Spring sprechen, falls vorhanden. Das wird Ihrer Antwort viel Gewicht verleihen.
Warum Unternehmen nach Full-Stack-Entwicklern suchen2. Was sind die Hauptmerkmale des Spring-Frameworks?
Das Spring-Framework bietet viele Funktionen, um das Leben des Entwicklers zu vereinfachen. Einige von ihnen sind:
- Leichtgewicht: Spring ist extrem leichtgewichtig, die Basisversion ist etwa 1 MB groß, mit vernachlässigbarem Verarbeitungsaufwand.
- Inversion of Control (IoC): Dependency Injection oder Inversion of Control ist eine der wichtigsten Funktionen von Spring. Mit IoC müssen die Entwickler keine vollständige Umgebung für das Objekt und seine Abhängigkeiten erstellen; Sie können einfach das Objekt erstellen und testen, das sie zu einem bestimmten Zeitpunkt handhaben. Objektabhängigkeiten werden einbezogen oder bei Bedarf aufgerufen.
- Aspektorientierte Programmierung: Spring unterstützt aspektorientierte Programmierung. AOP isoliert sekundäre Funktionen von der Geschäftslogik des Programmierers. Dies sorgt nicht nur für Modularität, sondern macht den Code auch wartbar.
- MVC-Architektur: Spring enthält ein MVC-Framework für Webanwendungen. Dieses Framework ist mit verschiedenen Technologien wie JSP, Tiles, iText und POI hochgradig konfigurierbar.
- JDBC-Ausnahmebehandlung: Spring wird mit einer vordefinierten JDBC-Abstraktionsschicht geliefert, die den gesamten Ausnahmebehandlungsprozess vereinfacht.
3. Erklären Sie etwas mehr über Dependency Injection.
Inversion of Control oder Dependency Injection zielt darauf ab, den Prozess der Objekterstellung zu vereinfachen, indem einem einfachen Konzept gefolgt wird – erstelle keine Objekte, sondern beschreibe nur, wie sie erstellt werden sollen. Unter Verwendung von IoC werden den Objekten ihre Abhängigkeiten zur Erstellungszeit von einer externen Entität zugewiesen, die für die Koordination jedes Objekts im System verantwortlich ist. Im Wesentlichen injizieren wir Abhängigkeiten in Objekte mit IOC oder Dependency Injection.
4. Erklären Sie die verschiedenen Arten von Abhängigkeitsinjektionen im Frühling? Wann verwende ich welche?
Spring bietet den Entwicklern die folgenden zwei Arten von Abhängigkeitsinjektionen:
- Konstruktorbasiertes DI: Konstruktorbasiertes DI wird erreicht, indem eine Reihe von Argumenten (von denen jedes eine Abhängigkeit von einer anderen Klasse darstellt) an den Konstruktor einer Klasse übergeben werden. Abhängigkeiten werden einfach in Form von Konstruktorparametern angegeben.
- Setter-basierte DI: Wenn Sie mit einem No-Argument-Konstruktor arbeiten, legen Sie Werte fest, indem Sie Argumente durch die Setter-Funktion übergeben, um die betreffende Bean zu instanziieren. Dies wird Setter-basierte Abhängigkeitsinjektion genannt.
Wann Sie welches davon verwenden, hängt von Ihren Anforderungen ab. Es wird jedoch empfohlen, Setter-basierte DI für optionale Abhängigkeiten und Konstruktor-basierte DI für obligatorische Abhängigkeiten zu verwenden.
Interview mit Farooq Adam, Mitbegründer von Fynd
5. Was ist das Spring MVC-Framework?
Spring MVC ist eine der Kernkomponenten des Spring-Frameworks. Es enthält gebrauchsfertige Komponenten und Elemente, mit denen Entwickler flexible und robuste Webanwendungen erstellen können. Wie der Name schon sagt, trennt die MVC-Architektur die verschiedenen Aspekte der Anwendung – Eingabelogik, Geschäftslogik und UI-Logik. Es stellt auch eine lose Kopplung zwischen M, V und C der Anwendung bereit.
6. Welche Vorteile bietet das Spring MVC-Framework gegenüber anderen MVC-Frameworks?
Das Spring MVC-Framework hat einige klare Vorteile gegenüber anderen Frameworks. Einige der Vorteile sind:
- Klare Rollentrennung – Für jede Rolle gibt es ein spezialisiertes Objekt und damit eine klare Rollentrennung.
- Wiederverwendbarer Geschäftscode – Mit Spring MVC müssen Sie Ihren Code nicht duplizieren. Sie können Ihre vorhandenen Objekte als Befehle verwenden, anstatt sie zu spiegeln, um eine bestimmte Framework-Basisklasse zu erweitern.
- Anpassbare Bindung und Validierung
- Anpassbare Gebietsschema- und Themenauflösung
- Anpassbare Handler-Zuordnung und Ansichtsauflösung
- Ab Spring 2.0 enthält das Framework eine JSP-Formular-Tag-Bibliothek, die das Schreiben von Formularen in JSP-Seiten erheblich vereinfacht.
7. Was ist DispatcherServlet?
Das Spring MVC-Framework ist anforderungsgesteuert und basiert auf einem zentralen Servlet, das alle HTTP-Anforderungen und -Antworten verarbeitet. Das DispatcherServlet leistet jedoch noch viel mehr als nur das. Es lässt sich nahtlos in den IoC-Container integrieren und ermöglicht Ihnen die Nutzung aller Funktionen von Spring.
Beim Empfang einer HTTP-Anforderung konsultiert das DispatcherServlet HandlerMapping (dies sind die Konfigurationsdateien), um den entsprechenden Controller aufzurufen. Dann ruft der Controller geeignete Dienstmethoden auf, um die Modelldaten festzulegen. Es gibt auch den Ansichtsnamen an DispatcherServlet zurück. DispatcherServlet nimmt mit Hilfe von ViewResolver die definierte Ansicht für die Anfrage auf. Sobald die Ansicht abgeschlossen ist, übergibt das DispatcherServlet die Modelldaten an View – wo sie schließlich im Browser gerendert werden.
Was ist testgetriebene Entwicklung: Ein Leitfaden für Anfänger
8. Was ist die Front-Controller-Klasse des Spring MVC?
Ein Front-Controller ist ein Controller, der alle Anfragen für eine Webanwendung bearbeitet. Wenn es um Spring MVC geht, ist DispatcherServlet dieser Front-Controller. Wenn eine Webanforderung an eine Spring MVC-Anwendung gesendet wird, kümmert sich das DIspatcherServlet um alles. Zuerst nimmt es die Anfrage. Dann organisiert es die verschiedenen Komponenten wie Request-Handler, Controller, View-Resolver und dergleichen – alles, was zur Bearbeitung der Anfrage benötigt wird. Und schließlich rendert es den Inhalt im Browser.

9. Was ist ein Viewresolver-Muster und wie funktioniert es in MVC?
View Resolver ist ein J2EE-Muster, das es den Anwendungen ermöglicht, die Technologie zum Rendern der Daten im Browser (View) dynamisch auszuwählen. Jede Technologie wie HTML, JSP, Tapestry, XSLT, JSF oder jede andere derartige Technologie kann für View verwendet werden. Das View Resolver-Muster enthält die Zuordnung verschiedener Ansichten. Der Controller gibt den Namen der Ansicht zurück, der dann an den View Resolver zur Auswahl der geeigneten Technologie weitergegeben wird.
10. Wie bietet Spring MVC Validierungsunterstützung?
Spring unterstützt hauptsächlich zwei Arten von Validierungen:
- Die Verwendung von JSR-303-Anmerkungen und einer beliebigen Referenzimplementierung, z. B. Hibernate Validator oder
- Implementieren der org.springframework.validation.Validator-Schnittstelle.
11. Ein Benutzer erhält beim Aktivieren eines Kontrollkästchens einen Validierungsfehler in anderen Feldern, woraufhin er es deaktiviert. Was wäre der aktuelle Auswahlstatus im Befehlsobjekt des Spring MVC? Wie werden Sie dieses Problem beheben?
Dies ist eine der kniffligeren Fragen, die zu beantworten ist, wenn Sie sich des HTTP-Post-Verhaltens in Spring MVC nicht bewusst sind.
Wenn Sie das Kontrollkästchen während des HTTP-Postings deaktivieren, enthält HTTP keinen Anforderungsparameter für das Kontrollkästchen – was bedeutet, dass die aktualisierte Auswahl nicht übernommen wird. Um dies zu beheben, können Sie ein verstecktes Formularfeld verwenden, das mit '_' beginnt.
Wie Sie in Ihrem ersten Job in der Softwareentwicklung erfolgreich sind
12. Wie werden Sie das MVC-Framework mit der dreischichtigen Architektur vergleichen?
Eine dreischichtige Architektur ist ein Architekturstil, während MVC ein Entwurfsmuster ist.
Allerdings bildet MVC in größeren Anwendungen die Präsentationsebene einer dreischichtigen Architektur. Das Modell, die Ansicht und der Controller befassen sich nur mit der Präsentation – sie verwenden die mittlere Ebene, um ihre Modelle zu füllen.
13. Wie sollten wir JDBC in Spring verwenden, um die Leistung zu optimieren?
Spring bietet eine Vorlagenklasse namens JDBCTemplate . Die Verwendung von JDBC mit dieser Vorlage verleiht den Manifolds eine bessere Leistung.
14. Was meinen Sie mit einer „Bean“ im Kontext des Spring-Frameworks?
Jede Klasse, die vom IoC-Container initialisiert wird, wird in Spring als Bean bezeichnet. Der Lebenszyklus einer Spring Bean wird von Spring IoC Container verwaltet.
15. Was ist ein „Geltungsbereich“ in Bezug auf Spring Beans?
Spring Beans enthält die folgenden fünf Bereiche:
- Prototyp : Immer wenn eine Bean angefordert wird, wird jedes Mal ein separater Prototyp erstellt.
- Anfrage : Es ist wie der vorherige Geltungsbereich, aber nur für webbasierte Anwendungen. Für jede HTTP-Anforderung erstellt Spring eine neue Bean-Instanz.
- Singleton : Für jeden Container wird nur eine Bean erstellt, die als Standardbereich dieser Bean fungiert. In all diesen Fällen können die Beans keine gemeinsam genutzte Instanzvariable verwenden, da dies zu Dateninkonsistenzen führen kann.
- Sitzung : Für jede HTTP-Sitzung wird eine Bean erstellt
- Global-session : Für Portlet-Anwendungen wird eine globale Sitzung erstellt.
Das Spring-Framework ist erweiterbar, d. h. Sie können auch Ihren eigenen Bereich erstellen. Das Attribut „scope“ des Bean-Elements wird verwendet, um den Geltungsbereich zu definieren.
So werden Sie Full-Stack-Entwickler
Abschluss…
Hier drehte sich alles um die wichtigsten Spring-Interviewfragen und -antworten rund um das Spring-Framework – und Spring MVC, um genau zu sein. Wenn Sie ein Java-Entwickler sind, der mit Spring beginnen möchte, könnte es keinen besseren Zeitpunkt geben! Lesen Sie mehr, wenn Sie nach Java-Interviewfragen suchen.
Verbringen Sie einen Teil Ihrer kostbaren Zeit damit, Fragen zu Java Spring-Interviews in die Hände zu bekommen, und schon kann es losgehen. Unternehmen halten Ausschau nach Entwicklern, die dieses Framework gut beherrschen – dank der Funktionen, die es zu bieten hat.

Melden Sie sich für Software Engineering-Kurse an den besten Universitäten der Welt an. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
