top 25 software engineering interview questions
Ofte stillede spørgsmål om grundlæggende og avanceret software-engineering-spørgsmål med detaljerede svar. Forbered dig med denne omfattende liste over almindelige tekniske spørgsmål til softwareingeniørinterviewspørgsmål til entry level og seniorprofessionelle:
IEEE er Software Engineering anvendelsen af en systematisk, disciplineret og kvantificerbar tilgang til udvikling, drift og vedligeholdelse af et softwareprodukt.
Det betyder at anvende en systematisk og veldefineret tilgang til udviklingen af et softwareprodukt.
I denne vejledning vil vi dække de hyppigst stillede spørgsmål om softwareingeniørinterview sammen med svarene i enkle vendinger for at gøre det let for dig.
Mest populære spørgsmål om softwareudvikling
Nedenfor er de hyppigst stillede spørgsmål til softwareingeniørinterview med svar.
Lad os udforske !!
Q # 1) Hvad er SDLC?
Svar: SDLC står for Software Development Life Cycle. Den definerer trin for trin tilgang til udvikling af software. SDLC involverer følgende faser, dvs. kravindsamling, systemanalyse, design, kodning, test, vedligeholdelse og dokumentation.
Nedenfor er den højtstående repræsentation af de forskellige faser involveret i SDLC.
(billede kilde )
Q # 2) Hvad er de forskellige modeller, der er tilgængelige i SDLC?
Svar: Der er flere modeller tilgængelige i SDLC til effektiv udførelse af softwareudvikling. Nogle af modellerne inkluderer Vandfaldsmodel , V-Model, Agile model osv.
Q # 3) Forklar udtrykket Baseline.
hvordan man kalder en metode ved hjælp af matrix af objekter i java
Svar: En basislinje er en milepæl på projektet, som normalt defineres af projektlederen. Baselines bruges til at spore projektets forløb fra tid til anden for at vurdere projektets generelle helbred.
Q # 4) Hvad er ansvaret for en softwareprojektleder?
Svar: En softwareprojektleder er ansvarlig for at føre projektet mod en vellykket afslutning. Det er softwareprojektlederens ansvar at sikre, at hele teamet følger en systematisk og veldefineret tilgang til udvikling af software.
En softwareprojektleder er også ansvarlig for følgende opgaver:
- Projekt planlægning
- Projektstatussporing
- Ressourcestyring
- Risikostyring
- Projektlevering inden for tid og budget.
Spørgsmål nr. 5) Hvad er samhørighed?
Svar: Samhørighed er den grad, hvor elementerne i et modul er indbyrdes relaterede til hinanden. Det er som en intern lim, der binder elementerne i et modul sammen. God software har høje niveauer af samhørighed.
Q # 6) Hvad er kobling?
Svar: Kobling er graden af indbyrdes afhængighed mellem modulerne. God software har lave niveauer af kobling.
Q # 7) Forklar begrebet modularisering.
Svar: Modularisering bruges til at opdele software i flere komponenter eller moduler. Hvert modul arbejdes på af et uafhængigt udviklings- og testteam. Det endelige resultat ville være at kombinere flere moduler i en enkelt arbejdskomponent.
Q # 8) Hvad er styring af softwarekonfiguration?
Svar: Styring af softwarekonfiguration er processen med at spore og kontrollere de ændringer, der opstår under softwareudviklings livscyklus. Enhver ændring foretaget under softwareudvikling skal spores gennem en veldefineret og kontrolleret proces.
Konfigurationsstyring sikrer, at ændringer foretaget under softwareudvikling styres gennem en veldefineret proces.
værktøjer til indsamling af krav, der bruges af forretningsanalytikere
Q # 9) Hvad er de forskellige faser af SDLC?
Svar: Følgende er de mest almindelige faser af SDLC.
- Kravsanalyse
- Design
- Kodning
- Testning
- Vedligeholdelse
Q # 10) Giv eksempler på projektledelsesværktøjer.
Svar: Nedenfor er nogle af de mest anvendte projektstyringsværktøjer, der er tilgængelige i branchen i dag.
- Gantt kort
- Tjeklister
- Statusrapporter
- Histogrammer
- Microsoft-projekt
Anbefalet Læs => Topværktøjer til projektstyring, som du bør kende
Q # 11) Hvad er CASE-værktøjer?
Svar: CASE står for Computer-Aided Software Engineering-værktøjer, der bruges til at understøtte og fremskynde de forskellige aktiviteter i Softwareudviklings livscyklus.
Spørgsmål nr. 12) Hvad er test af sort boks?
Svar: Black box-test involverer test af applikationen uden kendskab til den interne struktur eller implementering af kode. Testere ville kun bekymre sig om softwarens funktionalitet i test af sort boks snarere end datastrøm og kodeudførelse i bagenden.
Spørgsmål nr. 13) Hvad er testning af hvid boks?
Svar: White box test tester applikationen med viden om den interne struktur og implementering af kode. Denne test udføres normalt af udvikleren, der har skrevet koden i form af enhedstest.
Spørgsmål nr. 14) Hvad er en gennemførlighedsundersøgelse?
Svar: En gennemførlighedsundersøgelse udføres på et softwareprodukt for at vurdere, hvor praktisk og gavnlig udviklingen af softwareproduktet er for organisationen. Software analyseres grundigt for at forstå de økonomiske og tekniske aspekter af et softwareprodukt, der skal udvikles.
Spørgsmål nr. 15) Hvordan kan du måle projektudførelsen?
Svar: Projektudførelsesstatus kan overvåges ved hjælp af følgende teknikker.
- Statusrapporter
- Milepæls tjeklister
- Aktivitetsovervågning
Q # 16) Hvad er de funktionelle krav?
Svar: Funktionelle krav er de funktioner, som et udviklet softwareprodukt forventes at udføre. For eksempel, tilføjelse af en betalingsmulighed på et e-handelswebsted vil være et funktionelt krav.
Spørgsmål nr. 17) Hvad er ikke-funktionelle krav?
Svar: Ikke-funktionelle krav måler anvendeligheden af applikationen såsom brugergrænseflades udseende, sikkerhed, ydeevne, interoperabilitet, pålidelighed osv.
Spørgsmål nr. 18) Hvad er forskellen mellem kvalitetssikring og kvalitetskontrol?
Svar: Kvalitetssikring er at sikre, at den leverede software har mindst mulig fejl. Kvalitetskontrol er processen med at sikre, at produktets kvalitet opretholdes i det lange løb.
Kvalitetssikring udføres af testteamet i projektet, mens kvalitetskontrol normalt udføres af et dedikeret supportteam, der er ansvarlig for produktets kvalitet, selvom produktet er under vedligeholdelsesfasen af software engineering.
Læs også => Kvalitetssikring mod kvalitetskontrol
Spørgsmål nr. 19) Hvad er forskellen mellem verifikation og validering?
Svar: Verifikation er processen med at sikre, at produktet er bygget rigtigt, set fra et proces- og standardperspektiv.
Validering er processen med at sikre, at vi bygger det rigtige produkt ud fra et kundeperspektiv. Verifikation er en statisk testmetode, hvor produktet testes uden at udføre koden, mens validering er en dynamisk testmetode.
Værd at læse => Komplet undersøgelse af verifikation og validering
Spørgsmål nr. 20) Hvilken SDLC-model er bedst at vælge til et softwareprodukt?
Svar: Der er ingen regler som sådan, der angiver, hvilken specifik SDLC-model der skal bruges til et softwareprodukt. Det afhænger af typen af softwareprojekt, der bygges, og organisationens politikker og procedurer.
Spørgsmål nr. 21) Hvad mener du med softwareomfang?
Svar: Softwareomfang er listen over funktioner, der leveres af den udviklede software. Baseret på omfanget af softwaren kan estimater såsom tidsallokering, budget og ressourceallokering foretages.
Q # 22) Hvad er SRS?
Svar: SRS står for Software Requirement Specification (SRS) dokument. Det er et dokument, der fanger alle produktets funktionelle og ikke-funktionelle krav. Ikke alle SDLC-modeller skal følge SRS-dokumenter , nogle modeller indfanger krav i form af brugerhistorier, mens nogle modeller i form af excel-ark osv.
Q # 23) Hvad er SDLC-modellen, som du har brugt i dit tidligere projekt?
Svar: Svaret på dette spørgsmål afhænger af erfaringen fra en interviewkandidat. Hvis kandidaten svarer SDLC-modellen for at være Waterfall-modellen, vil intervieweren begynde at stille spørgsmål om Waterfall-modellen, og hvis han svarer den for at være Agile, vil intervieweren begynde at stille udtryk relateret til Agile-metodologi som Scrum, Sprint, etc.
Q # 24) Forklar vandfaldsmodellen i detaljer.
Svar: Det vandfald model er en sekventiel model, hvor den næste fase først starter, når den første fase er afsluttet. For eksempel, testfasen starter først, når udviklingsfasen er afsluttet, vedligeholdelsesfasen starter først, efter testfasen er afsluttet.
Nedenfor er de forskellige faser involveret i vandfaldsmodellen. Bemærk venligst, at antallet af faser og sekvenser af faser kan variere fra projekt til projekt.
- Krav
- Design
- Kodning
- Testning
- Vedligeholdelse
til) Krav: Dette er den fase, hvor systemet, der skal udvikles, er dokumenteret i form af SRS-dokument (Software Requirement Specification). Dette er den vigtigste fase af SDLC, da en klar forståelse af kravene fra klienten vil reducere omarbejdningen i de følgende faser.
b) Design: Dette er den fase, hvor arkitekturen i det system, der skal udvikles, er afsluttet. Arkitektur kan være i form af et design på højt niveau eller et lavt niveau design. Arkitektur skal også omfatte hardware- og softwarespecifikationerne for det system, der skal udvikles.
c) Kodning: Dette er den fase, hvor koden til systemet, der skal udvikles, skrives. Enhedstest og Integrationstest skal udføres af udviklerne på dette stadium, inden koden implementeres til test.
d) Testning: Dette er den fase, hvor det udviklede produkt testes af et uafhængigt testteam for at validere, hvis det opfylder kravene i softwarekravspecifikationen (SRS). Mangler, der er rejst i denne fase, skal rettes, inden produktet afmeldes.
e) Vedligeholdelse: Denne fase kommer, når testfasen er afsluttet. Den tager sig af eventuelle produktionsproblemer, der måtte opstå, efter at produktet er leveret til kunden. Varigheden af vedligeholdelsesfasen varierer fra projekt til projekt og en organisation til en anden.
Nedenfor er diagrammet til at skildre vandfaldsmodellen i form af faser.
bedste værktøj til at oprette rutediagram
Q # 25) Forklar V-Model i detaljer.
Svar: V-Model står for verifikations- og valideringsmodellen. V-model er en tilføjelse til vandfaldsmodellen i den forstand, at V-modellen også er en sekventiel model. I V-model er hver udviklingsfase forbundet med en tilsvarende testfase.
Billedet nedenfor viser de forskellige faser involveret i V-modellen.
Den venstre side af modellen er Softwareudviklingslivscyklus, mens den højre side af modellen er Software Testing Lifecycle. Da faserne udgør formen af bogstavet 'V', kaldes denne model V-model.
Forklaring:
Inden for V-modellen skal SDLC fortolkes fra top til bund, mens STLC skal fortolkes fra bund til top. Oprindeligt er krav samlet for at dokumentere det system, der skal udvikles i henhold til kundens krav. Testteamet udvikler systemtestplanen baseret på kravene.
Derefter kommer design på højt niveau og de detaljerede designfaser, hvor systemets arkitektur er forberedt. Testteamet forbereder planen for integrationstest i disse faser. Når kodningen er færdig på SDLC, starter STLC fra enhedstest efterfulgt af integrationstest og systemtest.
Konklusion
Vi håber, at denne artikel hjælper dig med at knække ethvert Software Engineer-interview med succes.
- Software Engineering er anvendelsen af en systematisk, disciplineret og kvantificerbar tilgang til udvikling, drift og vedligeholdelse af software.
- Der er ingen hårde og hurtige regler som sådan for typen af spørgsmål om Software Engineering-interview stillet af interviewere. Det varierer fra organisation til organisation, og hvilken type rolle interviewet gennemføres for.
Alt det bedste til dit softwareingeniørinterview !!
Anbefalet læsning
- SDLC (softwareudvikling livscyklus) faser, metoder, proces og modeller
- Hvad er SDLC Waterfall Model?
- 25 bedste projektledelsesværktøjer i 2021 (seneste rangliste)
- Hvad er STLC V-Model?
- Forskellen mellem kvalitetssikring og kvalitetskontrol (QA vs QC)
- White Box Testing: En komplet guide med teknikker, eksempler og værktøjer
- Black Box Testing: En grundig tutorial med eksempler og teknikker
- Interviewspørgsmål og svar