Einführung in das Interview mit Spring Framework - Fragen und Antworten

Spring Framework ist eines der am häufigsten verwendeten Java-Frameworks. Kernideen des Frühlingsrahmens sind „Dependency Injection“ und „Aspect-Oriented Programming“. In traditionellen Java-Anwendungen wird häufig ein Federgerüst verwendet, um durch die Implementierung der Abhängigkeitsinjektion eine lose Kopplung zwischen völlig verschiedenen Elementen zu erreichen. Außerdem werden Querschnittsaufgaben wie Arbeiten und die Verwendung der Federunterstützung für die aspektorientierte Programmierung ausgeführt. Da es sich um ein Open-Source-Framework mit vielen Online-Ressourcen und aktiven Community-Mitgliedern handelt, ist es unkompliziert und macht gleichzeitig Spaß.

Hier ist eine umfassende Liste der Fragen und Antworten zum Frühjahrs-Rahmeninterview 2019:

Wenn Sie nun nach einem Job suchen, der mit Spring Framework zusammenhängt, müssen Sie sich auf die Interview-Fragen für Spring Framework 2019 vorbereiten. Es ist wahr, dass jedes Interview anders ist als die verschiedenen Jobprofile, aber um das Interview zu klären, müssen Sie über gute und klare Kenntnisse von Spring Framework verfügen. Hier haben wir die wichtigen Fragen und Antworten zum Spring Framework-Vorstellungsgespräch vorbereitet, die Ihnen helfen, Ihr Vorstellungsgespräch erfolgreich zu gestalten. Diese Liste von Fragen gliedert sich in zwei Teile:

  • Teil 1 - Interviewfragen zum Frühlingsrahmen (Grundkenntnisse)
  • Teil 2 - Frühlingsrahmen Interviewfragen (Fortgeschrittene)

Teil 1 - Interviewfragen zum Frühlingsrahmen (Grundkenntnisse)

Dieser erste Teil behandelt die grundlegenden Fragen und Antworten zum Spring-Framework-Interview

Q1.Was sind einige der wichtigsten Funktionen und Vorteile von Spring Framework?

Antworten:
Das Spring Framework basiert auf einer Fülle von zwei Stilideen - Abhängigkeitsinjektion und aspektorientierte Programmierung.
Einige der Vorteile der Verwendung von Spring Framework sind:

  • Da die direkten Abhängigkeiten zwischen völlig verschiedenen Appliance-Elementen verringert werden, ist die Spring IoC-Instrumentalität in der Regel dafür verantwortlich, Ressourcen oder Beans zu initialisieren und als Abhängigkeiten einzuspeisen.
  • Das Schreiben von Unit Cases ist im Spring Framework unkompliziert, da unsere Geschäftslogik keine direkten Abhängigkeiten zu den tatsächlichen Ressourcenimplementierungskategorien aufweist. Wir können einfach einen Blick auf die Konfiguration werfen und unsere Mock Beans zum Testen von Funktionen einschleusen.
  • Reduziert die Anzahl der Kesselplattencodes, z. B. das Initialisieren von Objekten, Öffnen / Schließen von Ressourcen. Ich bevorzuge JdbcTemplate-Kategorie-Heaps, da dies uns hilft, den gesamten Kessel-Code zu entfernen, der mit der JDBC-Programmierung geliefert wird.
  • Das Federgerüst ist in viele Module unterteilt und hilft uns, unsere Anwendung leicht zu halten.
  • Spring Framework unterstützt die meisten Java EE-Optionen und noch viel mehr. Die neuen Technologien sind ständig auf dem neuesten Stand. So gibt es beispielsweise ein Spring-Projekt für Android, mit dem wir höheren Code für native Android-Anwendungen schreiben können. Dies macht das Federgerüst zu einem Gesamtpaket, und wir müssen nicht gezwungen sein, uns um ein völlig anderes Gerüst für verschiedene Bedürfnisse zu kümmern.

F2.Was verstehen Sie unter Abhängigkeitsinjektion?

Antworten:
Das Abhängigkeitsinjektionsmuster ermöglicht es uns, die hartcodierten Abhängigkeiten zu beseitigen und unsere Anwendung lose gekoppelt, erweiterbar und reparabel zu erstellen. Wir sind in der Lage, Abhängigkeitsinjektionsmuster zu implementieren, um die Abhängigkeitsauflösung von der Kompilierungszeit zur Laufzeit zu verschieben.
Einige der Vorteile der Verwendung von Dependency Injection sind die Trennung von Problemen, die Reduzierung des Boilerplate-Codes, konfigurierbare Elemente und das einfache Testen von Einheiten.

Gehen wir zu den Interview-Fragen des nächsten Frühlingsrahmens über.

F3.Was sind die Vorteile von Spring Tool Suite?

Antworten:
Wir können Plugins in Eclipse installieren, um alle Optionen der Spring Tool Suite zu nutzen. Es kommt mit den notwendigen Dingen wie geschickter Unterstützung, Schablonen für die Herstellung verschiedener Arten von Federn, die mit Spring-Anwendungen eine höhere Leistung bringen.
Ich mag STS, weil es die Federelemente hervorhebt und wenn Sie AOP-Punktschnitte und Ratschläge verwenden, dann zeigt es deutlich, dass Wege unter den genauen Punktschnitt zurückkehren können. Daher verwende ich STS lieber, anstatt alles selbst zu erledigen, nachdem ich Spring-basierte Anwendungen entwickelt habe.

Q4.Nennen Sie einige der wichtigsten Frühlingsmodule?

Antworten:
Dies ist der übliche Frühlingsrahmen Interview-Fragen, die in einem Interview gestellt werden. Einige der erforderlichen Spring Framework-Module sind:

  • Federkontext - für die Abhängigkeitsinjektion.
  • Spring AOP - für aspektorientierte Programmierung.
  • Spring DAO - für Informationsoperationen mit DAO-Muster
  • Spring JDBC - für JDBC- und DataSource-Unterstützung.
  • Spring ORM - Unterstützung für ORM-Tools wie Hibernate
  • Federnetzmodul - zum Erstellen von Netzanwendungen.
  • Spring MVC - Model-View-Controller-Implementierung zur Erstellung von Netzanwendungen, Netzdiensten usw.

F5.Was sind die Argumente für Aspekt, Beratung, Pointcut, JointPoint und Beratung in AOP?

Antworten:

Aspekt : Aspekt ist eine Kategorie, die Querschnittsthemen wie das Gruppenaktionsmanagement implementiert. Aspekte sind häufig eine Standardkategorie, die dann in der Spring Bean-Konfigurationsdatei organisiert wird, oder wir können die Unterstützung von Spring AspectJ verwenden, um eine Kategorie mit @Aspect-Annotation als Aspekt zu deklarieren.

Hinweis : Empfehlung ist, dass die Maßnahme für einen bestimmten Zweck ergriffen wurde. In Bezug auf die Programmierung handelt es sich um Methoden, die zum Erliegen kommen, sobald ein bestimmter Zweck mit passendem Pointcut innerhalb der Anwendung erreicht wird.

Pointcut : Pointcut sind reguläre Ausdrücke, die als Teil von Punkten abgeglichen werden, um herauszufinden, ob eine Empfehlung tot sein muss oder nicht. Pointcut verwendet völlig unterschiedliche Formen von Ausdrücken, die mit einem Teil von Punkten abgeglichen werden. Spring Framework verwendet die Pointcut-Ausdruckssprache von AspectJ, um Teil der Punkte zu sein, wenn Empfehlungen angewendet werden.

Verknüpfungspunkt: Ein Teil des Zwecks ist, dass der spezifische Zweck der Anwendung wie die Ausführung von Techniken, die Behandlung von Ausnahmen, sich ständig ändernde Objektvariablenwerte usw. In Spring AOP ist ein Teil von Punkten oft die Ausführung einer Technik.

Hinweis Argumente: Wir sind in der Lage, Argumente innerhalb der empfohlenen Wege weiterzugeben. Wir können den Ausdruck args () innerhalb des PointCuts verwenden, um ihn auf jede Technik anzuwenden, die mit dem Argumentmuster übereinstimmt. Wenn wir dazu neigen, dies zu verwenden, möchten wir den konstanten Namen innerhalb der Empfehlungstechnik verwenden, von wo immer die Argumentart festgelegt ist.

Teil 2 - Frühlingsrahmen Interviewfragen (Fortgeschrittene)

Lassen Sie uns nun einen Blick auf die erweiterten Interview-Fragen zum Frühlingsrahmen werfen.

Q6.Was ist der Unterschied zwischen Spring AOP und AspectJ AOP?

Antworten:
AspectJ ist die branchenübliche Implementierung für aspektorientierte Programmierung, während Spring in einigen Fällen AOP implementiert. Hauptvarianten zwischen Spring AOP und AspectJ sind:

  • Spring AOP ist einfacher zu verwenden als AspectJ, da wir uns in der Regel keine Sorgen um die Webmethode machen müssen.
  • Spring AOP unterstützt AspectJ-Annotationen. Wenn Sie also mit AspectJ vertraut sind, ist die Arbeit mit Spring AOP weniger kompliziert.
  • Spring AOP unterstützt ausschließlich Proxy-basiertes AOP, daher wird es häufig nur für die Ausführung von Techniken angewendet, die Teil von Punkten sind. AspectJ unterstützt alle Arten von Pointcuts.
  • Einer der Mängel von Spring AOP ist, dass es häufig nur auf die Beans angewendet wird, die mit Spring Context erstellt wurden.

Q7.Was ist ein Spring Bean?

Antworten:
Jede traditionelle Java-Kategorie, die von Spring IoC initialisiert wird, heißt Spring Bean. Wir neigen dazu, Spring ApplicationContext zu verwenden, um die Spring Bean-Instanz zu drängen.
Spring IoC verwaltet den Lebenszyklus von Spring Bean, die Bean-Bereiche und fügt alle erforderlichen Abhängigkeiten in die Bean ein.

Gehen wir zu den Interview-Fragen des nächsten Frühlingsrahmens über.

Q8). Was sind die verschiedenen Bereiche von Spring Bean?

Antworten:
Es gibt 5 Bereiche für Spring Beans.

  1. Singleton : Für jede Instrumentalität wird nur eine Instanz der Bean erstellt. Dies kann der Standardbereich für die Spring Beans sein. Stellen Sie bei Verwendung dieses Bereichs sicher, dass Spring Beans keine gemeinsam genutzten Instanzvariablen haben, da dies sonst zu Problemen mit der Informationskonsistenz führen würde, da es nicht threadsicher ist.
  2. Prototyp : Bei jeder Anforderung der Bean wird eine Ersatzinstanz erstellt.
  3. request : Dies kann derselbe sein wie der Paradigmenbereich, aber er soll für Netzanwendungen verwendet werden. Für jede HTTP-Anforderung wird eine Ersatzinstanz der Bean erstellt.
  4. session : Von der Instrumentalität wird für jede HTTP-Sitzung ein Ersatz-Bean erstellt.
  5. International-Session: Hiermit können Sie gewohnt sein, globale Session-Beans für Portlet-Anwendungen zu erstellen.

Spring Framework ist erweiterbar und wir werden auch unsere eigenen Gültigkeitsbereiche produzieren, aber die meisten Tage sind wir mit den Gültigkeitsbereichen des Frameworks vernünftig.

Um Spring-Bean-Bereiche festzulegen, können Sie das Attribut "scope" im Bean-Teil oder in der @Scope-Annotation für annotationsbasierte Konfigurationen verwenden.

Um Spring-Bean-Bereiche festzulegen, können Sie das Attribut "scope" im Bean-Element oder die @Scope-Annotation für annotationsbasierte Konfigurationen verwenden.

Q9. Was ist der Spring Bean-Lebenszyklus?

Antworten:
Dies ist die häufig gestellte Frage zum Frühlingsrahmen-Interview in einem Interview. Spring Beans werden durch Spring-Instrumentalität initialisiert und allen Abhängigkeiten injiziert. Sobald ein Kontext zerstört ist, werden zusätzlich alle initialisierten Beans zerstört. Dies funktioniert in den meisten Fällen gut. In der Regel möchten wir jedoch alternative Ressourcen initialisieren oder eine Validierung durchführen, bevor wir unsere Beans erstellen, die verwendet werden können. Das Spring Framework bietet Unterstützung für die Nachinitialisierung und für die Vorzerstörung von Methoden in Spring Beans.
Wir können dies auf zwei Arten tun: durch Implementieren der Schnittstellen InitializingBean und DisposableBean oder durch Verwenden des Attributs init-method und destroy-method in Spring-Bean-Konfigurationen.

Q10. Bietet Spring Bean Gewindesicherheit?

Antworten:
Der Standardbereich von Spring Bean ist ein Singleton, daher gibt es nur eine Instanz pro Kontext. Dies bedeutet, dass jeder Benutzer, der eine Variable auf Kategorieebene hat, die von einem Thread aktualisiert wird, inkonsistente Informationen verursachen kann. Daher scheinen Spring Beans im Standardmodus nicht threadsicher zu sein.
Wir sind jedoch in der Lage, den Gültigkeitsbereich von Spring Beans nach Wunsch, Muster oder Sitzung zu ändern, um Threadsicherheit zum Wert der Leistung zu erzielen. Es ist eine Designentscheidung und unterstützte die Projektanforderungen.

Empfohlener Artikel

Dies war ein Leitfaden für die Liste der Fragen und Antworten zu Spring Framework-Vorstellungsgesprächen, damit der Kandidat diese Fragen zu Spring Framework-Vorstellungsgesprächen leicht durchgreifen kann. Hier in diesem Beitrag haben wir uns mit den wichtigsten Fragen zum Spring Framework-Vorstellungsgespräch befasst, die häufig in Interviews gestellt werden. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Fragen im Vorstellungsgespräch bei Spring Boot
  2. Fragen im Vorstellungsgespräch bei J2EE
  3. Fragen in Vorstellungsgesprächen bei PHP OOP
  4. Fragen in Vorstellungsgesprächen mit Typescript
  5. Frühling gegen Winterschlaf: Was sind die Unterschiede
  6. Spring vs Struts: Eigenschaften