50 Intervjufrågor och svar för programvaruteknik
Intervjufrågor och svar för mjukvaruutvecklare för nybörjare
1) Vilka är de viktiga kategorierna av programvara?
- Systemmjukvara
- Programvara
- Inbyggd programvara
- Webapplikationer
- Artificiell intelligens programvara
- Vetenskaplig programvara.
👉 Gratis PDF-nedladdning: Programvaruteknikintervjufrågor och svar
2) Vad är den största skillnaden mellan ett datorprogram och datorprogram?
Ett datorprogram är en bit programmeringskod. Den utför en väldefinierad uppgift. Å andra sidan innehåller programvaran programmeringskod, dokumentation och användarguide.
3) Vad är mjukvaruutveckling?
Det är en process för mjukvaruutveckling som görs för att förbättra underhållet av ett mjukvarusystem.
4) Beskriv mjukvaruutvecklingsprocessen i korthet:
Mjukvaruutvecklingen är en livscykel som består av följande steg:
- Kravsanalys
- Specifikation
- Programvaruarkitektur
- Genomförande
- Testning
- Dokumentation
- Träning och support
- Underhåll
5) Vilka SDLC-modeller finns tillgängliga?
Vattenfallsmodell, spiralmodell, storpåsemodell, iterativ modell och V-modell är några av de kända SDLC-modeller.
6) Vad är verifiering och validering?
Verifiering:
Verifiering är en term som hänvisar till den uppsättning aktiviteter som säkerställer att programvaran implementerar en specifik funktion.
Godkännande:
Det hänvisar till den uppsättning aktiviteter som säkerställer att mjukvara som har byggts efter kundernas behov.
7) Vad är meningen med felsökning i mjukvaruutvecklingsprocessen?
Felsökning är den process som resulterar i att fel tas bort. Det är en mycket viktig del av den framgångsrika testningen.
8) Hur kan du se till att din kod är både säker och snabb?
I mjukvaran är utvecklingssäkerhet alltid först. Så om exekveringen av programmet är långsam kommer jag att försöka identifiera orsaken till dess tidskomplexitet.
9) Nämn två verktyg som används för att hålla reda på mjukvarukrav?
Det finns många l sätt att hålla reda på kraven.
Två vanligt använda är:
- Gör ett kravspecifikationsdokument för att lista alla krav.
- Skapa ett excel-ark listan ned krav, typ, beroende, prioritet, etc.
10) Vad är den största skillnaden mellan en stubb, en hån?
En stubb är en minimal implementering av ett gränssnitt som vanligtvis returnerar hårdkodad data medan mock vanligtvis verifierar utdata mot förväntningarna. De förväntningarna sätts i testet.
11) Vilket språk gillar du att skriva programmeringsalgoritmer?
Varje utvecklare har sina åsikter när det gäller val av programmeringsspråk. Men man bör föredra språk på hög nivå eftersom de är dynamiska. Som C och C++ språk.
12) Vad är datorprogramvara?
Datorprogramvara är ett paket som innehåller ett program, dess dokumentation och användarguide om hur du använder programvaran.
13) Vilken SDLC-modell är bäst enligt dig?
Det finns ingen sådan rankning, eftersom SDLC-modeller antas enligt behovet av utvecklingsprocessen. Det kan skilja sig från mjukvara till mjukvara.
14) Vem är projektledare för programvara? Vad är hans roll?
En mjukvaruprojektledare är en person som ansvarar för att hantera mjukvaruutvecklingsprojektet.
Projektledaren gör projektplaneringen, övervakar framstegen, kommunikation. Han eller hon hanterar också risker och resurser för att leverera projektet inom tids-, kostnads- och kvalitetsbegränsningar.
15) Vad menas med mjukvaruomfattning?
Programvaruomfattning är en väldefinierad gräns. Det inkluderar alla typer av aktiviteter som görs för att utveckla och leverera mjukvaruprodukten.
Programvaruomfattningen definierar alla funktioner och artefakter som ska levereras som en del av programvaran. Omfattningen identifierar också vad produkten kommer att göra? Vad är inte delen av projektet? Vad är projektuppskattning?
Denna process är användbar för att uppskatta olika aspekter av mjukvaruprodukten. Denna uppskattning kan göras antingen genom att konsultera experter eller genom att använda fördefinierade formler.
16) Hur hittar man storleken på en mjukvaruprodukt?
Storleken på mjukvaruprodukten kan beräknas med hjälp av två metoder
- Räknar raderna med levererad kod
- Räknar levererade funktionspoäng
17) Vad är funktionspunkter?
Funktionspunkter är de funktioner som tillhandahålls av mjukvaruprodukten. Det anses vara ett mycket viktigt mått för programvarans storlek.
18) Vilka tekniker för uppskattning av mjukvaruprojekt finns tillgängliga?
De mest använda uppskattningsteknikerna är:
- Nedbrytningsteknik
- Empirisk teknik
19) Vad är mjukvarukonfigurationshantering?
Programvarukonfigurationshantering är en process för att spåra och kontrollera förändringar som sker i programvaran.
Ändringskontroll är en funktion som säkerställer att alla ändringar som görs i mjukvarusystemet är konsekventa och skapade med hjälp av organisatoriska regler och föreskrifter.
20) Hur kan du mäta projektgenomförande?
Vi kan mäta projektgenomförande med hjälp av aktivitetsövervakning, statusrapporter och milstolpar.
21) Berätta om några projektledningsverktyg.
Det finns många typer av hanteringsverktyg som används enligt behovet av ett programvaruprojekt. Några av dem är Pert-diagram, Gantt-diagram, Resurshistogram, Statusrapporter, etc.
22) Vilka är mjukvarukraven?
Programvarukrav är en funktionsbeskrivning av ett föreslaget programvarusystem. Det antas vara beskrivningen av målsystemet, dess funktioner och funktioner.
23) Vad är förstudie?
Det är en åtgärd för att ta reda på hur praktiskt och fördelaktigt mjukvaruprojektutvecklingen kommer att visa sig för organisationen. Mjukvaruanalysatorn genomför en studie för att känna till projektets ekonomiska, tekniska och operativa genomförbarhet.
- Ekonomisk: Det inkluderar kostnaden för utbildning, kostnader för ytterligare och verktyg och övergripande uppskattning av kostnader och fördelar med projektet.
- Teknisk: Det utvärderar teknisk aspekt. Är det möjligt att utveckla detta system? Bedömning av lämpligheten hos maskin(er) och OS som programvaran kommer att köras på, kunskap om mjukvaruutvecklingen och tillgängliga verktyg för detta projekt.
- Operational: Här måste analytikern bedöma att organisationen kommer att kunna anpassa sig smidigt till de förändringar som görs enligt efterfrågan på projektet. Är problemet värt att lösa till den beräknade kostnaden?
Efter att ha studerat allt detta skapas den slutliga genomförbarhetsrapporten.
24) Vad är funktionella och icke-funktionella krav?
Funktionskrav är funktionella egenskaper som förväntas av användare från den föreslagna mjukvaruprodukten.
Icke-funktionella krav är relaterade till säkerhet, prestanda, utseende och känsla för användargränssnittet.
25) Vad är mjukvarumått?
Software Metrics erbjuder mått för olika aspekter av mjukvaruprocesser som är indelade i:
- Kravmått: Längdkrav, fullständighet
- Produktmått: Antal kodningslinjer, Objektorienterade mätvärden, design- och testmått.
26) Vad är modularisering?
Modularisering är en teknik som används för att dela upp ett mjukvarusystem i olika diskreta moduler. Som förväntas utföra uppgifterna självständigt.
27) Vad är sammanhållning?
Sammanhållning är ett mått som definierar intern pålitlighet mellan elementen i modulen.
28) Nämner några verktyg för mjukvaruanalys och design?
Några av de viktigaste verktygen för programvaruanalys och design är:
- Dataflödesdiagram
- Strukturerade diagram
- Strukturerad engelska
- Data ordbok
- Hierarkisk ingångsprocess Utgångsdiagram
- Entitetsrelationsdiagram och beslutstabeller
29) Vad menas med nivå-0 Dataflödesdiagram?
Högsta abstraktionsnivå kallas nivå 0 av DFD. Det kallas också för kontextnivå DFD. Den skildrar hela informationssystemet som ett diagram.
30) Vad är den största skillnaden mellan strukturerad engelska och pseudokod?
Strukturerad engelska är engelska som modersmål. Den används för att skriva strukturen för en programmodul. Den använder nyckelord för programmeringsspråk. Å andra sidan är Pseudo Code mer likt programmeringsspråket utan syntax för något specifikt språk.
Software Engineering viva Frågor och svar för erfarna
31) Vad är strukturerad design?
Strukturerad design är en konceptualisering av problem. Det kallas också för lösningsdesign och som bygger på 'dela och härska'-strategi.
32) Vad är funktionell programmering?
Det är en programmeringsmetod som använder begreppen för en matematisk funktion. Den tillhandahåller beräkningsmedel som matematiska funktioner, som också ger resultat oavsett programtillstånd.
33) Vad är kvalitetssäkring kontra kvalitetskontroll?
Kvalitetssäkring kontrollerar om korrekt process följs under utveckling av programvaran medan kvalitetskontroll handlar om att upprätthålla kvaliteten på mjukvaruprodukten.
34) Vad är CASE-verktyg?
CASE betyder datorstödd Mjukvaruutveckling. De är uppsättningar av automatiserade programvaruapplikationer som används för att stödja, förbättra och stärka SDLC-aktiviteterna.
35) Vilken processmodell tar bort defekter innan programvara hamnar i problem?
Renrumsmjukvaruteknik tar bort defekter innan programvara hamnar i problem.
36) Lös detta problem
Det ligger tjugo olika strumpor av två typer i en låda i ett mörkt rum. Vad är det minsta antalet strumpor du behöver ta för att säkerställa att du har ett matchande par?”
Plockar du upp tre strumpor kan de vara av samma typ även om oddsen är 50%. Odds aldrig en jämlik verklighet. Därför är det enda sättet att "säkra att du har ett matchande par" att fånga upp minst 11 antal stötar.
37) Hur kan du säkerställa att din skrivna kod som kan hantera olika typer av felsituationer?
Jag kan skriva tester som definierar de förväntade felsituationerna.
38) Förklara skillnaderna mellan en tråd och en process?
En process är en instans av datorprogrammet. I ett enda program är det möjligt att ha en eller flera trådar.
39) Berätta för mig skillnaden mellan en EXE och en DLL?
En exe är ett körbart program medan en DLL är en fil som kan laddas och köras av program dynamiskt. Det är ett externt kodlager för program. Eftersom båda är olika program, återanvänd samma DLL istället för att ha den koden i sin fil. Det minskar också det nödvändiga lagringsutrymmet.
40) Vad är starkt och svagt skrivande? Vilket är att föredra? Varför?
Stark typning kontrollerar typerna av variabler vid kompilering. Å andra sidan kontrollerar svag typning typen av systemet vid körning. Bland dem är Stark typning alltid att föredra eftersom det minimerar buggarna.
41) Beskriv skillnaden mellan gränssnittsorienterad, objektorienterad och aspektorienterad programmering.
- Gränssnittsprogrammering är kontraktsbaserad.
- Objektorienterat är ett sätt att skriva granulära objekt som har ett enda syfte.
- Aspektorienterad programmering är att separera koden på ett sådant sätt att olika objekt bär huvuduppgifterna, och de underordnade uppgifterna bärs av oberoende objekt.
42) Varför är det alltid en dålig idé att använda catch (undantag)?
Det är en dålig idé eftersom:
- Eftersom det inte finns någon variabel definierad är det inte möjligt att läsa undantaget
- Det är bra att använda ett undantag när du har känt till undantagstyper.
43) Vilken typ av data skickas via HTTP Headers?
Skript och metadata skickas via HTTP-rubriker.
44) Hur prioriterar du krav?
Först måste du designa ett system genom att utvärdera datastrukturen. Sedan bör du gå vidare till kodstrukturen som behövs för att stödja den.
45) Ge mig skillnader mellan objektorienterad och komponentbaserad design?
Objektorienterad design kan lätt inkapslas till viss del i komponentbaserad design.
46) När använder du polymorfism?
Polymorfism används när det finns behov av åsidosättande funktionalitet vid ärvning av klass. Det handlar om delade klasser och delade kontrakt.
47) Vad är skillnaden mellan stack och kö?
- Kön är alltid först in, först ut
- Stack är alltid sist in, först ut
48) Vad är viktigt för att testa kodens kvalitet?
Enligt mig är enhetstestningsramverket väsentligt för att testa kodens kvalitet.
49) Tycker du att underhållet av programvara är dyrt?
Enligt mig kommer underhåll av mjukvara aldrig att bli dyrt om vi använder en korrekt utvecklingsprocess.
50) Ge mig skillnader mellan taggar och grenar?
Taggar är för versionsversioner som är tillfälliga lagringsplatser för att göra sådant. Men grenar raderas när dessa ändringar slås samman i stammen.
51) Var finns en skyddad klassnivåvariabel tillgänglig?
Skyddade variabler på klassnivå är tillgängliga för alla underklasser som härrör från basklassen.
52) Är det möjligt att köra flera catch-blocks för en enda try-sats?
Ja. Flera catch-block kan köras för en enda försökssats.
53) När behöver du deklarera en klass som abstrakt?
Vi bör deklarera en klass som abstrakt i följande situationer:
- När klassen ärvs från en abstrakt klass, men inte alla abstrakta metoder har åsidosatts.
- I det fall då minst en av metoderna i klassen deklareras som ett abstrakt.
54) Utveckla en algoritm som matar ut din nuvarande plats och en lista över uttagsautomater i det området. Skaffa dig de närmaste K-uttagsautomaterna till din plats.
Skapa en metod getDistance(a, b) som beräknar avståndet mellan a och b.
Koda:
import java.util.HashMap; import java.util.Map; import java.util.PriorityQueue; public class PrioRQueueExample { public static void main(String[] args){ PriorityQueue<Double> pq = new PriorityQueue<Double>((x,y)-> {Double z = y-x;return z.intValue(); }); PrioRQueueExample pqe = new PrioRQueueExample(); //Number of ATMs to return i.e. K int num_ATMs = 3; double curr_loc = 0.00; Map<String,Double> nallATMLocs = new HashMap<String,Double>(); //Map of ATM names and their distance co-ordinates nallATMLocs.put("atm1",45.0); nallATMLocs.put("atm2",78.0); nallATMLocs.put("atm3",54.0); nallATMLocs.put("atm4",64.0); nallATMLocs.put("atm5",35.0); nallATMLocs.put("atm6",42.0); nallATMLocs.put("atm7",57.0); nallATMLocs.put("atm7",1.00); nallATMLocs.forEach((atm,dist) ->{if(pq.size() < num_ATMs){ pq.add(pqe.getLocation(curr_loc,dist));} else{ if( pq.peek() > pqe.getLocation(curr_loc,dist)){ pq.poll(); pq.add(pqe.getLocation(curr_loc,dist)); } } }); pq.forEach(atmLoc -> System.out.println(atmLoc)); } private double getLocation(double curr,double atm){ return atm - curr; } }
Dessa intervjufrågor kommer också att hjälpa dig i din viva (orals)