50 tarkvaratehnoloogia intervjuu küsimust ja vastust
Tarkvaraarendaja intervjuu küsimused ja vastused värsketele
1) Millised on tarkvara olulised kategooriad?
- Süsteemi tarkvara
- Rakendustarkvara
- Manustatud tarkvara
- Veebirakendused
- Tehisintellekti tarkvara
- Teaduslik tarkvara.
👉 Tasuta PDF-vormingus allalaadimine: tarkvaratehnoloogia intervjuu küsimused ja vastused
2) Mis on peamine erinevus arvutiprogrammi ja arvutitarkvara vahel?
Arvutiprogramm on programmeerimiskoodi tükk. See täidab täpselt määratletud ülesannet. Teisest küljest sisaldab tarkvara programmeerimiskoodi, dokumentatsiooni ja kasutusjuhendit.
3) Mis on tarkvara ümberprojekteerimine?
See on tarkvara arendusprotsess, mille eesmärk on parandada tarkvarasüsteemi hooldatavust.
4) Kirjeldage lühidalt tarkvara arendusprotsessi:
Tarkvaraarendus on elutsükkel, mis koosneb järgmistest etappidest:
- Nõuete analüüs
- spetsifikatsioon
- Tarkvara arhitektuur
- Täitmine
- Testimine
- dokumentatsioon
- Koolitus ja tugi
- Hooldus
5) Millised SDLC mudelid on saadaval?
Juga mudel, spiraalmudel, suure koti mudel, iteratiivne mudel ja V-mudel on mõned kuulsad SDLC mudelid.
6) Mis on kontrollimine ja kinnitamine?
Kontrollimine:
Verifitseerimine on termin, mis viitab tegevuste kogumile, mis tagab, et tarkvara rakendab teatud funktsiooni.
Kinnitamine:
See viitab tegevuste kogumile, mis tagab, et tarkvara on ehitatud vastavalt klientide vajadustele.
7) Mida tähendab tarkvaraarendusprotsessis silumine?
Silumine on protsess, mille tulemuseks on vea eemaldamine. See on eduka testimise väga oluline osa.
8) Kuidas saate veenduda, et teie kood on nii turvaline kui ka kiire?
Tarkvaras on arendusturvalisus alati esikohal. Nii et kui programmi täitmine on aeglane, proovin välja selgitada selle ajalise keerukuse põhjused.
9) Nimeta kaks tööriista, mida kee jaoks kasutatakse.ping track tarkvaranõudeid?
On palju viise, kuidas hoida track nõuetest.
Kaks tavaliselt kasutatavat on:
- Koostage nõuete spetsifikatsioonide dokument, et loetleda kõik nõuded.
- Looge Exceli leht, kus on loetletud nõuded, tüüp, sõltuvus, prioriteet jne.
10) Mis on peamine erinevus stub'i ja pila vahel?
Tünn on liidese minimaalne teostus, mis tavaliselt tagastab kõvakodeeritud andmed, samas kui pilk kontrollib tavaliselt väljundeid ootustele vastamata. Need ootused on testis paika pandud.
11) Mis keeles sulle programmeerimisalgoritme kirjutada meeldib?
Igal arendajal on programmeerimiskeele valiku osas oma arvamus. Siiski tuleks eelistada kõrgetasemelisi keeli, kuna need on dünaamilised. Nagu C ja C++ keeled.
12) Mis on arvutitarkvara?
Arvutitarkvara on pakett, mis sisaldab tarkvaraprogrammi, selle dokumentatsiooni ja tarkvara kasutamise kasutusjuhendit.
13) Milline SDLC mudel on teie arvates parim?
Sellist järjestust ei ole, kuna SDLC mudelid võetakse kasutusele vastavalt arendusprotsessi vajadustele. See võib tarkvarati erineda.
14) Kes on tarkvara projektijuht? Mis on tema roll?
Tarkvaraprojektijuht on isik, kes vastutab tarkvaraarendusprojekti juhtimise eest.
Projektijuht tegeleb projekti planeerimisega, edenemise jälgimisega, suhtlemisega. Ta juhib ka riske ja ressursse, et viia projekt ellu aja-, kulude- ja kvaliteedipiirangute piires.
15) Mida tähendab tarkvara ulatus?
Tarkvara ulatus on täpselt määratletud piir. See hõlmab igasuguseid tegevusi, mida tehakse tarkvaratoote arendamiseks ja tarnimiseks.
Tarkvara ulatus määratleb kõik tarkvara osana tarnitavad funktsioonid ja artefaktid. Reguleerimisala määrab ka selle, mida toode teeb? Mis ei ole projekti osa? Mis on projekti hindamine?
See protsess aitab hinnata tarkvaratoote erinevaid aspekte. Selle hinnangu saab teha kas ekspertidega konsulteerides või eelnevalt määratletud valemeid kasutades.
16) Kuidas leida tarkvaratoote suurust?
Tarkvaratoote suurust saab arvutada kahe meetodi abil
- Edastatud koodi ridade loendamine
- Edastatud funktsioonipunktide loendamine
17) Mis on funktsioonipunktid?
Funktsioonipunktid on funktsioonid, mida tarkvaratoode pakub. Seda peetakse tarkvara suuruse kõige olulisemaks mõõtmiseks.
18) Millised on tarkvaraprojektide hindamise tehnikad?
Kõige laialdasemalt kasutatavad hindamismeetodid on:
- Lagundamise tehnika
- Empiiriline tehnika
19) Mis on tarkvara konfiguratsioonihaldus?
Tarkvara konfiguratsioonihaldus on protsess, mis hõlmab trackuningas ja tarkvaras toimuvate muudatuste kontrollimine.
Muudatuste juhtimine on funktsioon, mis tagab, et kõik tarkvarasüsteemis tehtavad muudatused on järjepidevad ja loodud organisatsiooni reeglite ja eeskirjade alusel.
20) Kuidas mõõta projekti täitmist?
Saame mõõta projekti täitmist tegevuse jälgimise, olekuaruannete ja verstaposti kontrollnimekirjade abil.
21) Rääkige mõnest projektijuhtimise tööriistast.
Vastavalt tarkvaraprojekti vajadustele kasutatakse mitut tüüpi haldustööriistu. Mõned neist on Perti diagramm, Gantti diagramm, ressursside histogramm, olekuaruanded jne.
22) Mis on tarkvaranõuded?
Tarkvaranõuded on kavandatava tarkvarasüsteemi funktsionaalne kirjeldus. Eeldatakse, et see on sihtsüsteemi, selle funktsioonide ja funktsioonide kirjeldus.
23) Mis on tasuvusuuring?
See on meede, mille eesmärk on välja selgitada, kui otstarbekas ja kasulik tarkvaraprojekti arendamine organisatsioonile osutub. Tarkvaraanalüsaator viib läbi uuringu, et teada saada projekti majanduslikku, tehnilist ja operatiivset teostatavust.
- Majanduslik: See sisaldab koolituskulusid, lisa- ja tööriistade maksumust ning projekti kulude ja tulude üldhinnangut.
- Tehniline: See hindab tehnilist aspekti. Kas seda süsteemi on võimalik arendada? Masina(te) ja OS-i sobivuse hindamine, millel tarkvara käivitatakse, teadmised selle projekti jaoks saadaolevatest tarkvaraarendusest ja tööriistadest.
- Operatinglik: Siin peab analüütik hindama, kas organisatsioon suudab sujuvalt kohaneda tehtud muudatustega vastavalt projekti nõudlusele. Kas probleem on hinnangulise maksumusega lahendamist väärt?
Pärast seda kõike uurides koostatakse lõplik teostatavusaruanne.
24) Mis on funktsionaalsed ja mittefunktsionaalsed nõuded?
Funktsionaalsed nõuded on funktsionaalsed funktsioonid, mida kasutajad pakutud tarkvaratootelt ootavad.
Mittefunktsionaalsed nõuded on seotud kasutajaliidese turvalisuse, jõudluse, välimuse ja tunnetusega.
25) Mis on tarkvara mõõdik?
Software Metrics pakub meetmeid tarkvaraprotsessi erinevate aspektide jaoks, mis jagunevad:
- Nõuete mõõdikud: Pikkusnõuded, täielikkus
- Tootemõõdikud: kodeerimisridade arv, objektorienteeritud mõõdikud, disaini- ja testimõõdikud.
26) Mis on modulariseerimine?
Modulariseerimine on tehnika, mida kasutatakse tarkvarasüsteemi jagamiseks erinevateks diskreetseteks mooduliteks. See eeldab ülesannete iseseisvat täitmist.
27) Mis on ühtekuuluvus?
Ühtekuuluvus on meede, mis määratleb mooduli elementide sisemise töökindluse.
28) Mainib mõnda tarkvara analüüsi ja disaini tööriistu?
Mõned kõige olulisemad tarkvara analüüsi ja kujundamise tööriistad on järgmised:
- Andmevoo diagrammid
- Struktureeritud diagrammid
- Struktureeritud inglise keel
- Andmesõnastik
- Hierarhiline sisendprotsess Väljunddiagrammid
- Olemisuhete diagrammid ja otsustustabelid
29) Mida tähendab taseme-0 andmevoo diagramm?
Kõrgeim kõhulihastracSeda taset nimetatakse DFD 0. tasemeks. Seda nimetatakse ka kontekstitaseme DFD-ks. See kujutab kogu infosüsteemi ühe diagrammina.
30) Mis on peamine erinevus struktureeritud inglise keele ja pseudoinglise keele vahel? Code?
Struktureeritud inglise keel on inglise emakeel. Seda kasutatakse programmi mooduli struktuuri kirjutamiseks. See kasutab programmeerimiskeele märksõnu. Teisest küljest on pseudo-inglise keel... Code on pigem sarnane programmeerimiskeelega ilma ühegi konkreetse keele süntaksita.
Tarkvaratehnoloogia viva küsimused ja vastused kogenud inimestele
31) Mis on struktureeritud disain?
Struktureeritud disain on probleemi kontseptualiseerimine. Seda nimetatakse ka lahenduste disainiks ja mis põhineb "jaga ja valluta" strateegial.
32) Mis on funktsionaalne programmeerimine?
See on programmeerimismeetod, mis kasutab matemaatilise funktsiooni mõisteid. See pakub arvutusvahendeid matemaatiliste funktsioonidena, mis annab ka tulemusi olenemata programmi olekust.
33) Mis on kvaliteedi tagamine vs kvaliteedikontroll?
Kvaliteedi tagamine kontrollib, kas arendusprotsessi järgitakse õigestiping tarkvara, samas kui kvaliteedikontroll tegeleb tarkvaratoote kvaliteedi säilitamisega.
34) Mis on CASE tööriistad?
CASE tähendab arvuti abil Tarkvaraarendus. Need on automatiseeritud tarkvararakendused, mida kasutatakse SDLC tegevuste toetamiseks, täiustamiseks ja tugevdamiseks.
35) Milline protsessimudel eemaldab vead enne, kui tarkvara hätta satub?
Puhta ruumi tarkvaratehnoloogia meetod kõrvaldab vead enne, kui tarkvara hätta satub.
36) Lahendage see probleem
Ühes pimedas toas on sahtlis kakskümmend erinevat kahte tüüpi sokki. Kui suur on minimaalne sokkide arv, mida peate võtma, et tagada sobiv paar?
Kui võtate kolm sokki, võivad need olla sama tüüpi, isegi kui koefitsient on 50%. Tõenäosus ei ole kunagi võrdne reaalsus. Seetõttu on ainus viis, kuidas tagada, et teil on sobiv paar, koguda vähemalt 11 lööki.
37) Kuidas saate veenduda, et teie kirjutatud kood suudab käsitleda mitmesuguseid veaolukordi?
Oskan kirjutada teste, mis määratlevad eeldatavad veaolukorrad.
38) Selgitage lõime ja protsessi erinevusi?
Protsess on arvutiprogrammi eksemplar. Ühes programmis võib olla üks või mitu lõime.
39) Ütle mulle, mis vahe on EXE-l ja DLL-il?
Exe on käivitatav programm, samas kui DLL on fail, mida programmid saavad dünaamiliselt laadida ja käivitada. See on programmide väline koodihoidla. Kuna mõlemad on erinevad programmid, kasutage sama DLL-i selle asemel, et see kood failis oleks. See vähendab ka vajalikku salvestusruumi.
40) Mis on tugevus?ping ja nõrkping? Kumba eelistatakse? Miks?
Tugev tüüpping kontrollib muutujate tüüpe kompileerimise ajal. Teisest küljest, nõrk typing kontrollib süsteemi tüüpe käitusajal. Nende hulgas on tugev tüüpping on alati eelistatud, sest see minimeerib vigu.
41) Kirjeldage erinevust liidesele orienteeritud, objektorienteeritud ja aspektile orienteeritud programmeerimisel.
- Liidese programmeerimine on pettustract-põhine.
- Objektorienteeritud on viis, kuidas kirjutada granuleeritud objekte, millel on üks eesmärk.
- Aspekt-orienteeritud programmeerimine on koodi eraldamine nii, et põhiülesandeid kannavad erinevad objektid ja kõrvalülesandeid sõltumatud objektid.
42) Miks on püügi (erand) kasutamine alati halb mõte?
See on halb mõte, sest:
- Kuna muutujat pole määratletud, pole erandit võimalik lugeda
- Erandeid on hea kasutada siis, kui on teada erandi tüübid.
43) Mis tüüpi andmeid edastatakse HTTP päiste kaudu?
HTTP-päiste kaudu edastatud skript ja metaandmed.
44) Kuidas seate nõuded tähtsuse järjekorda?
Esiteks peate süsteemi kujundama, hinnates andmestruktuuri. Seejärel peaksite liikuma selle toetamiseks vajaliku koodistruktuuri juurde.
45) Andke mulle erinevused objektorienteeritud ja komponendipõhise disaini vahel?
Objektorienteeritud disaini saab hõlpsasti teatud määral kapseldada komponendipõhisesse disaini.
46) Millal te kasutate polümorfismi?
Polümorfismi kasutatakse siis, kui klassi pärimisel on vaja ülekirjutusfunktsiooni. See puudutab jagatud klasse ja jagatud päringuid.tracts.
47) Mis vahe on virnal ja järjekorral?
- Järjekord on alati esimene sisse, esimene välja
- Stack on alati Last In, First Out
48) Mis on koodi kvaliteedi testimiseks hädavajalik?
Minu arvates on ühikutestimise raamistik koodi kvaliteedi testimiseks hädavajalik.
49) Kas tarkvara ülalpidamine on teie arvates kallis?
Minu arvates ei lähe tarkvara hooldused kunagi kalliks, kui kasutame õiget arendusprotsessi.
50) Andke mulle siltide ja harude erinevused?
Sildid on mõeldud versioonide loomiseks, mis on ajutised hoidmiskohad selliste asjade tegemiseks. Kuid harud kustutatakse, kui need muudatused liidetakse pagasiruumi.
51) Kus on kaitstud klassitaseme muutuja saadaval?
Kaitstud klassitaseme muutujad on saadaval igale baasklassist tuletatud alamklassile.
52) Kas ühe proovilause jaoks on võimalik käivitada mitu püüdmisplokki?
Jah. Ühe proovilause jaoks saab käivitada mitu püüdmisplokki.
53) Millal on vaja klass deklareerida abs-klassina?tract?
Peaksime klassi deklareerima kui abstract järgmistel juhtudel:
- Kui klass pärineb kõhulihastelttract-klass, aga mitte kõik kõhulihasedtract-meetodid on tühistatud.
- Juhul kui vähemalt üks klassi meetoditest on deklareeritud abs-meetodinatract.
54) Töötage välja algoritm, mis väljastab teie praeguse asukoha ja selle piirkonna sularahaautomaatide asukohtade loendi. Saate oma asukohale lähimad K sularahaautomaadid.
Looge meetod getDistance(a, b), mis arvutab kauguse a ja b vahel.
Code:
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;
}
}
Need intervjuu küsimused aitavad ka teie viva (suuline)

