Fragen zum Software Engineering-Interview

Liebe Leser, diese Software Engineering Interview Questions wurden speziell entwickelt, um Sie mit der Art der Fragen vertraut zu machen, denen Sie während Ihres Interviews zum Thema begegnen können Software Engineering. Nach meiner Erfahrung hatten gute Interviewer kaum vor, während Ihres Interviews eine bestimmte Frage zu stellen. Normalerweise beginnen Fragen mit einem Grundkonzept des Themas und werden später auf der Grundlage weiterer Diskussionen und Ihrer Antworten fortgesetzt:

Q.What is computer software?

A. Computersoftware ist ein Komplettpaket, das ein Softwareprogramm, seine Dokumentation und eine Bedienungsanleitung zur Verwendung der Software enthält.

Q.Can you differentiate computer software and computer program?

A. Ein Computerprogramm ist ein Teil des Programmiercodes, der eine genau definierte Aufgabe ausführt, wobei die Software Programmiercode, dessen Dokumentation und Benutzerhandbuch enthält.

Q.What is software engineering?

A. Software Engineering ist ein Engineering-Zweig, der mit der Entwicklung von Softwaresystemen verbunden ist.

Q.When you know programming, what is the need to learn software engineering concepts?

A.Eine Person, die weiß, wie man eine Mauer baut, ist möglicherweise nicht gut darin, ein ganzes Haus zu bauen. Ebenso hat eine Person, die Programme schreiben kann, möglicherweise keine Kenntnisse über andere Konzepte des Software-Engineerings. Die Software-Engineering-Konzepte führen Programmierer in die Bewertung der Anforderungen des Endbenutzers ein, entwerfen die Algorithmen, bevor die eigentliche Codierung beginnt, erstellen Programme durch Codierung, testen den Code und seine Dokumentation.

Q.What is software process or Software Development Life Cycle (SDLC)?

A.Der Softwareentwicklungslebenszyklus oder Softwareprozess ist die systematische Entwicklung von Software, indem alle Phasen des Entwicklungsprozesses verfolgt werden, nämlich Anforderungserfassung, Systemanalyse, Design, Codierung, Test, Wartung und Dokumentation in dieser Reihenfolge.

Q.What are SDLC models available?

A. Es gibt verschiedene SDLC-Modelle wie das Wasserfallmodell, das iterative Modell, das Spiralmodell, das V-Modell und das Urknallmodell usw.

Q.What are various phases of SDLC?

A.Die allgemeinen Phasen von SDLC sind: Anforderungserfassung, Systemanalyse und -design, Codierung, Test und Implementierung. Die Phasen hängen von dem Modell ab, das wir für die Entwicklung von Software auswählen.

Q.Which SDLC model is the best?

A.SDLC-Modelle werden gemäß den Anforderungen des Entwicklungsprozesses übernommen. Es kann sehr Software-zu-Software sein, um sicherzustellen, welches Modell geeignet ist.

Wir können das beste SDLC-Modell auswählen, wenn die folgenden Antworten erfüllt sind:

  • Ist SDLC für ausgewählte Technologien zur Implementierung der Software geeignet?
  • Ist SDLC für die Anforderungen und Prioritäten des Kunden geeignet?
  • Ist das SDLC-Modell für Größe und Komplexität der Software geeignet?
  • Ist das SDLC-Modell für die Art der Projekte und das Engineering geeignet, die wir durchführen?
  • Ist der SDLC für geografisch lokalisierte oder verteilte Entwickler geeignet?

Q.What is software project management?

A. Software-Projektmanagement ist ein Prozess zur Verwaltung aller Aktivitäten wie Zeit-, Kosten- und Qualitätsmanagement, die mit der Softwareentwicklung verbunden sind.

Q.Who is software project manager?

A. Ein Softwareprojektmanager ist eine Person, die die Verantwortung für die Durchführung des Softwareprojekts übernimmt.

Q.What does software project manager do?

A. Der Software-Projektmanager ist mit Software-Management-Aktivitäten beschäftigt. Er ist verantwortlich für die Projektplanung, die Überwachung des Fortschritts, die Kommunikation zwischen den Stakeholdern, das Management von Risiken und Ressourcen, die reibungslose Durchführung der Entwicklung und die Lieferung des Projekts innerhalb von Zeit-, Kosten- und Qualitätsbeschränkungen.

Q.What is software scope?

A. Der Softwareumfang ist eine genau definierte Grenze, die alle Aktivitäten umfasst, die zur Entwicklung und Bereitstellung des Softwareprodukts durchgeführt werden.

Der Softwareumfang definiert klar alle Funktionen und Artefakte, die als Teil der Software geliefert werden sollen. Der Bereich gibt an, was das Produkt tun wird und was nicht, was das Endprodukt enthalten wird und was nicht.

Q.What is project estimation?

A.Es ist ein Prozess, verschiedene Aspekte des Softwareprodukts abzuschätzen, um die Entwicklungskosten in Bezug auf Aufwand, Zeit und Ressourcen zu berechnen. Diese Schätzung kann aus früheren Erfahrungen, durch Beratung von Experten oder unter Verwendung vordefinierter Formeln abgeleitet werden.

Q.How can we derive the size of software product?

A. Die Größe des Softwareprodukts kann mit einer von zwei Methoden berechnet werden:

  • Zählen der Zeilen des gelieferten Codes
  • Ausgelieferte Funktionspunkte zählen

Q.What are function points?

A.Funktionspunkte sind die verschiedenen Funktionen des Softwareprodukts. Es wird als Maßeinheit für die Softwaregröße betrachtet.

Q.What are software project estimation techniques available?

A. Es stehen viele Schätztechniken zur Verfügung. Die am häufigsten verwendeten sind -

  • Zerlegungstechnik (Zählen von Codezeilen und Funktionspunkten)
  • Empirische Technik (Putnam und COCOMO).

Q.What is baseline?

A.Die Basislinie ist eine Messung, die die Vollständigkeit einer Phase definiert. Nachdem alle mit einer bestimmten Phase verbundenen Aktivitäten abgeschlossen sind, ist die Phase abgeschlossen und dient als Basis für die nächste Phase.

Q.What is Software configuration management?

A. Das Software-Konfigurationsmanagement ist ein Prozess zum Verfolgen und Steuern der Änderungen an Software in Bezug auf Anforderungen, Design, Funktionen und Entwicklung des Produkts.

Q.What is change control?

A. Die Änderungskontrolle ist eine Funktion des Konfigurationsmanagements, das sicherstellt, dass alle am Softwaresystem vorgenommenen Änderungen konsistent sind und den organisatorischen Regeln und Vorschriften entsprechen.

Q.How can you measure project execution?

A. Wir können die Projektausführung mithilfe von Aktivitätsüberwachung, Statusberichten und Meilenstein-Checklisten messen.

Q.Mention some project management tools.

A.Es gibt verschiedene Projektmanagement-Tools, die gemäß den Anforderungen der Softwareprojekt- und Organisationsrichtlinien verwendet werden. Dazu gehören Gantt-Diagramm, PERT-Diagramm, Ressourcenhistogramm, Analyse kritischer Pfade, Statusberichte, Meilenstein-Checklisten usw.

Q.What are software requirements?

A.Die Softwareanforderungen sind eine Funktionsbeschreibung des vorgeschlagenen Softwaresystems. Als Anforderungen wird die Beschreibung des Zielsystems, seiner Funktionen und Merkmale angenommen. Anforderungen vermitteln die Erwartungen der Benutzer an das System.

Q.What is feasibility study?

A.Es ist eine Maßnahme, um zu bewerten, wie praktisch und vorteilhaft die Entwicklung von Softwareprojekten für eine Organisation sein wird. Der Software-Analysator führt eine gründliche Studie durch, um die wirtschaftliche, technische und betriebliche Machbarkeit des Projekts zu verstehen.

  • Economic - Ressourcentransport, Schulungskosten, Kosten für zusätzliche Dienstprogramme und Werkzeuge sowie Gesamtschätzung der Kosten und des Nutzens des Projekts.

  • Technical - Ist es möglich, dieses System zu entwickeln? Beurteilung der Eignung der Maschine (n) und des Betriebssystems (der Betriebssysteme), auf denen die Software ausgeführt werden soll, der Kenntnisse und Fähigkeiten der vorhandenen Entwickler, der Schulungen, Dienstprogramme oder Werkzeuge für das Projekt.

  • Operational - Kann sich die Organisation reibungslos an die Änderungen anpassen, die gemäß den Anforderungen des Projekts vorgenommen wurden? Lohnt es sich, das Problem zu lösen?

Q.How can you gather requirements?

A. Die Anforderungen können von den Benutzern durch Interviews, Umfragen, Aufgabenanalyse, Brainstorming, Domänenanalyse, Prototyping, Untersuchung vorhandener verwendbarer Softwareversionen und durch Beobachtung erfasst werden.

Q.What is SRS?

A.SRS oder Software Requirement Specification ist ein Dokument, das zum Zeitpunkt des Anforderungserfassungsprozesses erstellt wurde. Es kann auch als ein Prozess angesehen werden, bei dem Anforderungen verfeinert und dokumentiert werden.

Q.What are functional requirements?

A. Funktionale Anforderungen sind funktionale Merkmale und Spezifikationen, die Benutzer von dem vorgeschlagenen Softwareprodukt erwarten.

Q.What are non-functional requirements?

A. Nicht funktionale Anforderungen sind implizit und beziehen sich auf Sicherheit, Leistung, Erscheinungsbild der Benutzeroberfläche, Interoperabilität, Kosten usw.

Q.What is software measure?

A. Software-Maßnahmen können als ein Prozess zur Quantifizierung und Symbolisierung verschiedener Attribute und Aspekte von Software verstanden werden.

Q.What is software metric?

A.Software-Metriken bieten Messwerte für verschiedene Aspekte des Softwareprozesses und des Softwareprodukts. Sie sind unterteilt in -

  • Anforderungsmetriken: Längenanforderungen, Vollständigkeit
  • Produktmetriken: Codezeilen, objektorientierte Metriken, Entwurfs- und Testmetriken
  • Prozessmetriken: Bewerten und verfolgen Sie Budget, Zeitplan und Personal.

Q.What is modularization?

A. Die Modularisierung ist eine Technik zum Aufteilen eines Softwaresystems in mehrere diskrete Module, von denen erwartet wird, dass sie Aufgaben unabhängig voneinander ausführen.

Q.What is concurrency and how it is achieved in software?

A.Parallelität ist die Tendenz, dass Ereignisse oder Aktionen gleichzeitig stattfinden. Wenn in der Software zwei oder mehr Prozesse gleichzeitig ausgeführt werden, werden sie als gleichzeitige Prozesse bezeichnet.

Beispiel

Während Sie den Druckbefehl starten und der Druckvorgang startet, können Sie eine neue Anwendung öffnen.

Parallelität wird implementiert, indem die Software in mehrere unabhängige Ausführungseinheiten, nämlich Prozesse und Threads, aufgeteilt und parallel ausgeführt wird.

Q.What is cohesion?

A. Die Kohäsion ist ein Maß, das den Grad der Intra-Zuverlässigkeit zwischen den Elementen des Moduls definiert.

Q.What is coupling?

A. Die Kopplung ist eine Maßnahme, die den Grad der gegenseitigen Zuverlässigkeit zwischen Modulen eines Programms definiert.

Q.Mentions some software analysis & design tools?

A. Dies können sein: DFDs (Datenflussdiagramme), strukturierte Diagramme, strukturiertes Englisch, Datenwörterbuch, HIPO-Diagramme (Hierarchical Input Process Output), ER-Diagramme (Entity Relationship) und Entscheidungstabellen.

Q.What is level-0 DFD?

A. DFD mit der höchsten Abstraktionsebene ist als DFD der Ebene 0 bekannt und wird auch als DFD auf Kontextebene bezeichnet. Dabei wird das gesamte Informationssystem als ein Diagramm dargestellt, in dem alle zugrunde liegenden Details verborgen sind.

Q.What is the difference between structured English and Pseudo Code?

A. Strukturiertes Englisch ist eine englische Muttersprache, die zum Schreiben der Struktur eines Programmmoduls mithilfe von Schlüsselwörtern für Programmiersprachen verwendet wird, während Pseudocode der Programmiersprache näher kommt und muttersprachliche englische Wörter oder Sätze zum Schreiben von Codeteilen verwendet.

Q.What is data dictionary?

A.Das Datenwörterbuch wird als Metadaten bezeichnet. Das heißt, es ist ein Repository von Daten über Daten. Das Datenwörterbuch wird verwendet, um die Namen und ihre Referenzen, die im System verwendet werden, wie z. B. Objekte und Dateien, zusammen mit ihren Namenskonventionen zu organisieren.

Q.What is structured design?

A.Strukturiertes Design ist eine Konzeptualisierung des Problems in mehrere gut organisierte Lösungselemente. Es geht um das Lösungsdesign und basiert auf der Strategie „Teilen und Erobern“.

Q.What is the difference between function oriented and object oriented design?

A.Funktionsorientiertes Design besteht aus vielen kleineren Teilsystemen, die als Funktionen bekannt sind. Jede Funktion kann wichtige Aufgaben im System ausführen. Objektorientiertes Design arbeitet mit den realen Objekten (Entitäten), ihren Klassen (Kategorien) und Methoden, die mit Objekten (Funktionen) arbeiten.

Q.Briefly define top-down and bottom-up design model.

A. Das Top-Down-Modell beginnt mit einer verallgemeinerten Ansicht des Systems und zerlegt es in spezifischere, während das Bottom-Up-Modell zuerst mit den spezifischsten und grundlegendsten Komponenten beginnt und die Komponenten weiter zusammensetzt, um einen höheren Abstraktionsgrad zu erzielen.

Q.What is the basis of Halstead’s complexity measure?

A. Das Komplexitätsmaß von Halstead hängt von der tatsächlichen Implementierung des Programms ab und berücksichtigt die im Programm verwendeten Token als Grundlage für das Maß.

Q.Mention the formula to calculate Cyclomatic complexity of a program?

A. Die zyklomatische Komplexität verwendet die Formel der Graphentheorie: V (G) = e - n + 2

Q.What is functional programming?

A.Funktionale Programmierung ist ein Stil der Programmiersprache, der die Konzepte der mathematischen Funktion verwendet. Es bietet Berechnungsmittel als mathematische Funktionen, die unabhängig vom Programmstatus Ergebnisse liefern.

Q.Differentiate validation and verification?

A. Die Validierung prüft, ob das Produkt gemäß den Benutzeranforderungen hergestellt wurde, während die Überprüfung prüft, ob die richtigen Schritte zur Entwicklung des Produkts befolgt werden.

Die Validierung bestätigt das richtige Produkt und die Überprüfung bestätigt, ob das Produkt richtig aufgebaut ist.

Q.What is black-box and white-box testing?

A.Beim Black-Box-Test wird geprüft, ob die gewünschten Ausgaben erzeugt werden, wenn gültige Eingabewerte angegeben werden. Die tatsächliche Implementierung des Programms wird nicht überprüft.

White-Box-Tests prüfen nicht nur die gewünschte und gültige Ausgabe, wenn eine gültige Eingabe bereitgestellt wird, sondern auch, ob der Code korrekt implementiert ist.

Kriterien Black-Box-Test White-Box-Test
Kenntnisse in Software, Design und Struktur sind unerlässlich Nein Ja
Kenntnisse der Software-Implementierung sind unerlässlich Nein Ja
Wer führt diesen Test mit Software durch? Mitarbeiter für Softwaretests Softwareentwickler
Basisreferenz für Tester Anforderungsspezifikationen Design- und Strukturdetails

Q.Quality assurance vs. Quality Control?

A. Die Qualitätssicherung überwacht, ob bei der Softwareentwicklung der Software der ordnungsgemäße Ablauf eingehalten wird.

Die Qualitätskontrolle befasst sich mit der Aufrechterhaltung der Qualität von Softwareprodukten.

Q.What are various types of software maintenance?

A. Wartungsarten sind: korrigierend, anpassungsfähig, perfektivierend und vorbeugend.

  • Corrective

    Von Benutzern entdeckte Fehler entfernen

  • Adaptive

    Bewältigung der Änderungen in der Hardware- und Softwareumgebung, in der die Software funktioniert

  • Perfective maintenance

    Implementierung von Änderungen an bestehenden oder neuen Anforderungen des Benutzers

  • Preventive maintenance

    geeignete Maßnahmen ergreifen, um zukünftige Probleme zu vermeiden

Q.What is software re-engineering?

A.Software-Re-Engineering ist ein Prozess zum Aktualisieren der Technologie, auf der die Software basiert, ohne die Funktionalität der Software zu ändern. Dies geschieht, um die Software auf dem neuesten Stand der Technik zu halten.

Q.What are CASE tools?

A.CASE steht für Computer Aided Software Engineering. CASE-Tools bestehen aus automatisierten Softwareanwendungsprogrammen, mit denen die SDLC-Aktivitäten unterstützt, beschleunigt und geglättet werden.

Was kommt als nächstes?

Außerdem können Sie Ihre früheren Aufgaben, die Sie mit dem Thema erledigt haben, durchgehen und sicherstellen, dass Sie sicher darüber sprechen können. Wenn Sie frischer sind, erwartet der Interviewer nicht, dass Sie sehr komplexe Fragen beantworten, sondern Sie müssen Ihre grundlegenden Konzepte sehr stark machen.

Zweitens ist es wirklich nicht wichtig, wenn Sie nicht wenige Fragen beantworten können, aber es ist wichtig, dass Sie alles, was Sie beantwortet haben, mit Zuversicht beantwortet haben müssen. Fühlen Sie sich während Ihres Interviews einfach sicher. Wir von tutorialspoint wünschen Ihnen viel Glück, einen guten Interviewer zu haben und alles Gute für Ihre zukünftigen Bemühungen. Prost :-)