top 25 software engineering interview questions
Am häufigsten gestellte Fragen zum Vorstellungsgespräch für grundlegende und fortgeschrittene Softwareentwickler mit detaillierten Antworten. Bereiten Sie sich mit dieser umfassenden Liste gängiger Interviewfragen für technische Softwareentwickler für Einsteiger und Senioren vor:
Nach IEEE ist Software Engineering die Anwendung eines systematischen, disziplinierten und quantifizierbaren Ansatzes für die Entwicklung, den Betrieb und die Wartung eines Softwareprodukts.
Es bedeutet, einen systematischen und klar definierten Ansatz für die Entwicklung eines Softwareprodukts anzuwenden.
In diesem Tutorial werden die am häufigsten gestellten Fragen zum Software Engineer-Interview zusammen mit den Antworten in einfachen Worten behandelt, damit Sie sie leichter verstehen.
Die beliebtesten Fragen zum Software Engineering-Interview
Nachfolgend sind die am häufigsten gestellten Fragen zum Software Engineer-Interview mit Antworten aufgeführt.
Lass uns erforschen!!
F # 1) Was ist SDLC?
Antworten: SDLC steht für Software Development Life Cycle. Es definiert den schrittweisen Ansatz für die Entwicklung von Software. SDLC umfasst die folgenden Phasen, d. h. Anforderungserfassung, Systemanalyse, Design, Codierung, Test, Wartung und Dokumentation.
Nachstehend ist die allgemeine Darstellung der verschiedenen an SDLC beteiligten Phasen aufgeführt.
(Bild Quelle ))
F # 2) Welche verschiedenen Modelle sind in SDLC verfügbar?
Antworten: In SDLC stehen verschiedene Modelle zur effizienten Durchführung der Softwareentwicklung zur Verfügung. Einige der Modelle enthalten die Wasserfall-Modell , V-Modell, Agiles Modell usw.
F # 3) Erläutern Sie den Begriff Baseline.
c ++ Fragen und Antworten
Antworten: Eine Baseline ist ein Meilenstein im Projekt, der normalerweise vom Projektmanager definiert wird. Baselines werden verwendet, um den Fortschritt des Projekts von Zeit zu Zeit zu verfolgen und den Gesamtzustand des Projekts zu bewerten.
Q # 4) Welche Aufgaben hat ein Software-Projektmanager?
Antworten: Ein Software-Projektmanager ist dafür verantwortlich, das Projekt zum erfolgreichen Abschluss zu bringen. Es liegt in der Verantwortung des Software-Projektmanagers, sicherzustellen, dass das gesamte Team einen systematischen und klar definierten Ansatz für die Entwicklung von Software verfolgt.
Ein Software-Projektmanager ist auch für die folgenden Aufgaben verantwortlich:
- Projektplanung
- Projektstatusverfolgung
- Ressourceneinteilung
- Risikomanagement
- Projektabwicklung innerhalb von Zeit und Budget.
F # 5) Was ist Zusammenhalt?
Antworten: Kohäsion ist der Grad, in dem die Elemente eines Moduls miteinander in Beziehung stehen. Es ist wie ein interner Kleber, der die Elemente eines Moduls zusammenhält. Gute Software hat einen hohen Zusammenhalt.
Q # 6) Was ist Kopplung?
Antworten: Die Kopplung ist der Grad der gegenseitigen Abhängigkeit zwischen den Modulen. Gute Software hat eine geringe Kopplung.
F # 7) Erklären Sie das Konzept der Modularisierung.
Antworten: Die Modularisierung wird verwendet, um Software in mehrere Komponenten oder Module zu unterteilen. Jedes Modul wird von einem unabhängigen Entwicklungs- und Testteam bearbeitet. Das Endergebnis wäre, mehrere Module zu einer einzigen Arbeitskomponente zu kombinieren.
Q # 8) Was ist Softwarekonfigurationsmanagement?
Antworten: Beim Softwarekonfigurationsmanagement werden die Änderungen verfolgt und gesteuert, die während des Softwareentwicklungslebenszyklus auftreten. Jede während der Softwareentwicklung vorgenommene Änderung muss durch einen genau definierten und kontrollierten Prozess verfolgt werden.
Das Konfigurationsmanagement stellt sicher, dass alle während der Softwareentwicklung vorgenommenen Änderungen durch einen genau definierten Prozess gesteuert werden.
F # 9) Was sind die verschiedenen Phasen von SDLC?
Antworten: Das Folgende sind die häufigsten Phasen der SDLC.
- Anforderungsanalyse
- Design
- Codierung
- Testen
- Instandhaltung
F # 10) Geben Sie Beispiele für Projektmanagement-Tools an.
Antworten: Im Folgenden sind einige der am häufigsten verwendeten Projektmanagement-Tools aufgeführt, die heute in der Branche verfügbar sind.
- Gantt-Diagramm
- Checklisten
- Statusberichte
- Histogramme
- Microsoft Projekt
Empfohlenes Lesen => Top-Projektmanagement-Tools, die Sie kennen sollten
Q # 11) Was sind CASE-Tools?
Was sollten Sie bei der Fehlerbehebung bei einem Live-Netzwerkkabel verwenden?
Antworten: CASE steht für Computer-Aided Software Engineering Tools, mit denen die verschiedenen Aktivitäten des Software Development Lifecycle unterstützt und beschleunigt werden.
F # 12) Was ist ein Black-Box-Test?
Antworten: Beim Black-Box-Testen wird die Anwendung ohne Kenntnis der internen Struktur oder der Code-Implementierung getestet. Tester würden sich nur beim Black-Box-Testen um die Funktionalität der Software kümmern, nicht um den Datenfluss und die Codeausführung im Back-End.
F # 13) Was ist ein White-Box-Test?
Antworten: Beim White-Box-Testen wird die Anwendung mit dem Wissen über die interne Struktur und die Code-Implementierung getestet. Diese Tests werden im Allgemeinen von dem Entwickler durchgeführt, der den Code in Form von Komponententests geschrieben hat.
F # 14) Was ist eine Machbarkeitsstudie?
Antworten: An einem Softwareprodukt wird eine Machbarkeitsstudie durchgeführt, um zu bewerten, wie praktisch und vorteilhaft die Entwicklung des Softwareprodukts für das Unternehmen ist. Software wird gründlich analysiert, um die wirtschaftlichen und technischen Aspekte eines zu entwickelnden Softwareprodukts zu verstehen.
F # 15) Wie können Sie die Projektausführung messen?
Antworten: Der Projektausführungsstatus kann mithilfe der folgenden Techniken überwacht werden.
- Statusberichte
- Meilenstein-Checklisten
- Aktivitätsüberwachung
Q # 16) Was sind die funktionalen Anforderungen?
Antworten: Funktionale Anforderungen sind die Merkmale, die von einem entwickelten Softwareprodukt erwartet werden. Beispielsweise, Das Hinzufügen einer Zahlungsoption auf einer E-Commerce-Website ist eine funktionale Voraussetzung.
F # 17) Was sind nicht funktionale Anforderungen?
Antworten: Nicht funktionale Anforderungen messen die Benutzerfreundlichkeit der Anwendung, wie z. B. das Erscheinungsbild der Benutzeroberfläche, Sicherheit, Leistung, Interoperabilität, Zuverlässigkeit usw.
F # 18) Was ist der Unterschied zwischen Qualitätssicherung und Qualitätskontrolle?
Antworten: Durch die Qualitätssicherung wird sichergestellt, dass die gelieferte Software die geringstmögliche Anzahl von Fehlern aufweist. Bei der Qualitätskontrolle wird sichergestellt, dass die Qualität des Produkts langfristig erhalten bleibt.
Die Qualitätssicherung wird vom Testteam des Projekts durchgeführt, während die Qualitätskontrolle normalerweise von einem engagierten Support-Team durchgeführt wird, das für die Qualität des Produkts verantwortlich ist, auch wenn sich das Produkt in der Wartungsphase des Software-Engineerings befindet.
Lesen Sie auch => Qualitätssicherung gegen Qualitätskontrolle
F # 19) Was ist der Unterschied zwischen Verifizierung und Validierung?
Antworten: Bei der Überprüfung wird sichergestellt, dass das Produkt aus Prozess- und Standardsicht richtig gebaut wird.
Bei der Validierung wird sichergestellt, dass wir aus Kundensicht das richtige Produkt herstellen. Die Verifizierung ist eine statische Testmethode, bei der das Produkt ohne Ausführung des Codes getestet wird, während die Validierung eine dynamische Testmethode ist.
Lesenswert => Vollständige Studie zur Überprüfung und Validierung
F # 20) Welches SDLC-Modell ist für ein Softwareprodukt am besten geeignet?
Antworten: Es gibt keine Regeln als solche, die angeben, welches spezifische SDLC-Modell für ein Softwareprodukt verwendet werden muss. Dies hängt von der Art des zu erstellenden Softwareprojekts und den Richtlinien und Verfahren des Unternehmens ab.
beste kostenlose Zeitschaltuhr für Mitarbeiter
F # 21) Was meinst du mit Software Scope?
Antworten: Der Softwarebereich ist die Liste der Funktionen, die von der entwickelten Software bereitgestellt werden. Basierend auf dem Umfang der Software können Schätzungen wie Zeitzuweisung, Budget- und Ressourcenzuweisung vorgenommen werden.
Q # 22) Was ist SRS?
Antworten: SRS steht für SRS-Dokument (Software Requirement Specification). Es ist ein Dokument zur Erfassung aller funktionalen und nicht funktionalen Anforderungen eines Produkts. Nicht alle SDLC-Modelle müssen folgen SRS-Dokumente Einige Modelle erfassen Anforderungen in Form von User Stories, während einige Modelle in Form von Excel-Tabellen usw. vorliegen.
Q # 23) Welches SDLC-Modell haben Sie in Ihrem vorherigen Projekt verwendet?
Antworten: Die Antwort auf diese Frage hängt von der Erfahrung eines Interviewkandidaten ab. Wenn der Kandidat das SDLC-Modell als Wasserfallmodell beantwortet, stellt der Interviewer Fragen zum Wasserfallmodell. Wenn er es als agil beantwortet, fragt der Interviewer nach Begriffen, die sich auf die agile Methodik beziehen, wie z. B. Scrum, Sprint, usw.
Q # 24) Erklären Sie das Wasserfallmodell im Detail.
Antworten: Das Wasserfall Modell ist ein sequentielles Modell, bei dem die nächste Phase erst nach Abschluss der ersten Phase beginnt. Beispielsweise, Die Testphase beginnt erst nach Abschluss der Entwicklungsphase, die Wartungsphase erst nach Abschluss der Testphase.
Nachfolgend sind die verschiedenen Phasen des Wasserfallmodells aufgeführt. Bitte beachten Sie, dass die Anzahl der Phasen und Phasenfolgen von Projekt zu Projekt unterschiedlich sein können.
- Bedarf
- Design
- Codierung
- Testen
- Instandhaltung
zu) Bedarf: In dieser Phase wird das zu entwickelnde System in Form eines SRS-Dokuments (Software Requirement Specification) dokumentiert. Dies ist die wichtigste Phase von SDLC, da ein klares Verständnis der Anforderungen des Kunden die Nacharbeit in den folgenden Phasen reduziert.
b) Design: In dieser Phase wird die Architektur des zu entwickelnden Systems fertiggestellt. Architektur kann in Form eines Entwurfs auf hoher Ebene oder eines Entwurfs auf niedriger Ebene vorliegen. Die Architektur muss auch die Hardware- und Softwarespezifikationen des zu entwickelnden Systems enthalten.
c) Codierung: In dieser Phase wird der Code für das zu entwickelnde System geschrieben. Unit Testing und Integrationstests muss zu diesem Zeitpunkt von den Entwicklern ausgeführt werden, bevor der Code zum Testen bereitgestellt wird.
d) Testen: In dieser Phase wird das entwickelte Produkt von einem unabhängigen Testteam getestet, um zu überprüfen, ob es die Anforderungen der Software Requirement Specification (SRS) erfüllt. In dieser Phase aufgetretene Fehler müssen behoben werden, bevor das Produkt abgemeldet werden kann.
e) Wartung: Diese Phase tritt ein, sobald die Testphase abgeschlossen ist. Es kümmert sich um alle Produktionsprobleme, die auftreten können, nachdem das Produkt an den Kunden geliefert wurde. Die Dauer der Wartungsphase ist von Projekt zu Projekt und von Organisation zu Organisation unterschiedlich.
Unten sehen Sie das Diagramm zur Darstellung des Wasserfallmodells in Form von Phasen.
F # 25) Erklären Sie das V-Modell im Detail.
Antworten: V-Model steht für das Verifizierungs- und Validierungsmodell. V-Modell ist eine Ergänzung zum Wasserfallmodell in dem Sinne, dass das V-Modell auch ein sequentielles Modell ist. Im V-Modell ist jede Entwicklungsphase einer entsprechenden Testphase zugeordnet.
Das folgende Bild zeigt die verschiedenen Phasen des V-Modells.
Die linke Seite des Modells ist der Software Development Lifecycle, während die rechte Seite des Modells den Software Testing Lifecycle ist. Da die Phasen die Form des Buchstabens „V“ bilden, wird dieses Modell als V-Modell bezeichnet.
Erläuterung:
Innerhalb des V-Modells ist SDLC von oben nach unten zu interpretieren, während STLC von unten nach oben zu interpretieren ist. Zunächst werden Anforderungen gesammelt, um das zu entwickelnde System gemäß den Kundenanforderungen zu dokumentieren. Das Testteam entwickelt den Systemtestplan basierend auf den Anforderungen.
Dann folgen das High-Level-Design und die detaillierten Level-Design-Phasen, in denen die Architektur des Systems vorbereitet wird. Das Testteam erstellt in diesen Phasen den Integrationstestplan. Sobald die Codierung in SDLC abgeschlossen ist, beginnt STLC mit Unit-Tests, gefolgt von Integrationstests und Systemtests.
Fazit
Wir hoffen, dass dieser Artikel Ihnen dabei hilft, ein Software Engineer-Interview erfolgreich zu knacken.
- Software Engineering ist die Anwendung eines systematischen, disziplinierten und quantifizierbaren Ansatzes für die Entwicklung, den Betrieb und die Wartung von Software.
- Es gibt keine festen Regeln für die Art der Software Engineering-Interviewfragen, die von Interviewern gestellt werden. Es variiert von Organisation zu Organisation und von der Art der Rolle, für die das Interview geführt wird.
Alles Gute für Ihr Software-Ingenieur-Interview !!
Literatur-Empfehlungen
- SDLC-Phasen (Software Development Life Cycle), Methoden, Prozesse und Modelle
- Was ist das SDLC-Wasserfallmodell?
- 25 besten Projektmanagement-Tools im Jahr 2021 (neueste Rangliste)
- Was ist das STLC V-Modell?
- Unterschied zwischen Qualitätssicherung und Qualitätskontrolle (QA vs QC)
- White-Box-Tests: Eine vollständige Anleitung mit Techniken, Beispielen und Werkzeugen
- Black-Box-Test: Ein ausführliches Tutorial mit Beispielen und Techniken
- Interview Fragen und Antworten