Laadige alla PDF
1) Mis on tarkvara olulised kategooriad?
- Süsteemi tarkvara
- Rakendustarkvara
- Manustatud tarkvara
- Veebirakendused
- Tehisintellekti tarkvara
- Teaduslik tarkvara.
2) Mis on peamine erinevus arvutiprogrammi ja arvutitarkvara vahel?
Arvutiprogramm on jupp programmeerimiskoodi. See täidab täpselt määratletud ülesannet. Teiselt poolt sisaldab tarkvara programmeerimiskoodi, dokumentatsiooni ja kasutusjuhendit.
3) Mis on tarkvara ümberehitamine?
See on tarkvaraarenduse protsess, mida tehakse tarkvarasüsteemi hooldatavuse parandamiseks.
4) Kirjeldage tarkvara arendamise protsessi lühidalt:
Tarkvaraarendus koosneb elutsüklist, mis koosneb järgmistest etappidest:
- Nõuete analüüs
- Spetsifikatsioon
- Tarkvara arhitektuur
- Rakendamine
- Testimine
- Dokumentatsioon
- Koolitus ja tugi
- Hooldus
5) Millised on saadaval SDLC mudelid?
Jugamudel, spiraalmudel, suure koti mudel, iteratiivne mudel ja V-mudel on mõned kuulsamad SDLC-mudelid.
6) Mis on kontrollimine ja kinnitamine?
Kontrollimine:
Kontrollimine on mõiste, mis viitab tegevuste kogumile, mis tagab tarkvara konkreetse funktsiooni rakendamise.
Valideerimine:
See viitab tegevuste komplektile, mis tagab tarkvara, mis on ehitatud vastavalt klientide vajadustele.
7) Mida tähendab silumine tarkvaraarendusprotsessis?
Silumine on protsess, mille tulemusel eemaldatakse viga. 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 käivitamine on aeglane, siis proovin välja selgitada põhjused selle aja keerukuse saavutamiseks.
9) Nimetage kaks tööriista, mida kasutatakse tarkvaranõuete jälgimiseks?
Nõuete jälgimiseks on palju võimalusi.
Kaks tavaliselt kasutatavat on:
- Kõigi nõuete loetlemiseks koostage nõuete spetsifikatsioonide dokument.
- Looge Exceli leht, kus on loetletud nõue, tüüp, sõltuvus, prioriteet jne.
10) Mis on põhiline erinevus kännu, mõnitamise vahel?
Pistik on liidese minimaalne rakendamine, mis tavaliselt tagastab kõvakodeeritud andmed, samal ajal kui pilk kontrollib väljundeid tavaliselt ootustega. Need ootused on testis paika pandud.
11) Mis keeles meeldib programmeerimisalgoritme kirjutada?
Igal arendajal on oma vaated programmeerimiskeele valikute osas. Eelistada tuleks siiski 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 kasutusjuhendit tarkvara kasutamiseks.
13) Milline SDLC mudel on teie arvates parim?
Sellist järjestust pole, kuna SDLC-mudelid võetakse kasutusele vastavalt arendusprotsessi vajadusele. See võib tarkvariti erineda.
14) Kes on tarkvara projektijuht? Mis on tema roll?
Tarkvara projektijuht on tarkvaraarendusprojekti juhtimise eest vastutav isik.
Projektijuht teeb projekti planeerimist, jälgib edenemist, suhtleb. Ta haldab ka riske ja ressursse projekti elluviimiseks aja, kulude ja kvaliteedi 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 edastatavad funktsioonid ja artefaktid. Reguleerimisala määratleb ka selle, mida toode teeb? Mis ei ole projekti osa? Mis on projekti hindamine?
See protsess on abiks tarkvaratoote erinevate aspektide hindamisel. Selle hinnangu saab otsustada kas konsulteerides ekspertidega või kasutades eelnevalt määratletud valemeid.
16) Kuidas leida tarkvaratoote suurus?
Tarkvaratoote suuruse saab arvutada, kasutades kahte meetodit
- Edastatud koodi ridade loendamine
- Edastatud funktsioonipunktide loendamine
17) Mis on funktsioonipunktid?
Funktsioonipunktid on tarkvaratoote pakutavad funktsioonid. Seda peetakse tarkvara suuruse kõige olulisemaks mõõtmiseks.
18) Millised on saadaval tarkvaraprojektide hindamise tehnikad?
Enimkasutatavad hindamismeetodid on:
- Lagunemistehnika
- Empiiriline tehnika
19) Mis on tarkvara konfiguratsioonihaldus?
Tarkvara konfiguratsiooni haldamine on tarkvaras toimuvate muudatuste jälgimise ja kontrollimise protsess.
Muudatuste juhtimine on funktsioon, mis tagab, et kõik tarkvarasüsteemis tehtud muudatused on järjepidevad ja loodud organisatsiooniliste reeglite ja määruste abil.
20) Kuidas saate mõõta projekti täitmist?
Saame mõõta projekti täitmist, kasutades tegevuste jälgimist, olekuraporteid ja verstapostide kontroll-loendeid.
21) Räägi mulle mõnest projektijuhtimise tööriistast.
Tarkvaraprojekti vajaduse järgi kasutatakse mitut tüüpi haldustööriistu. Mõned neist on Pert Diagramm, Gantti diagramm, Ressursside histogramm, Olekuraportid jne.
22) Millised on tarkvaranõuded?
Tarkvaranõuded on kavandatud tarkvarasüsteemi funktsionaalne kirjeldus. Eeldatakse, et see on sihtsüsteemi, selle funktsionaalsuse ja omaduste kirjeldus.
23) Mis on tasuvusuuring?
See on meede, et teada saada, kui praktiline ja kasulik tarkvara projekti arendamine organisatsioonile osutub. Tarkvara analüsaator viib läbi uuringu, et teada saada projekti majanduslikku, tehnilist ja operatiivset teostatavust.
-
Majanduslik: see sisaldab koolituskulusid, lisakulude ja tööriistade maksumust ning projekti kulude ja tulude üldhinnangut.
-
Tehniline: see hindab tehnilist aspekti. Kas seda süsteemi on võimalik arendada? Hinnates masina (te) ja operatsioonisüsteemi sobivust, milles tarkvara käivitatakse, teadmisi tarkvaraarenduse ja selle projekti jaoks saadaolevate tööriistade kohta.
-
Operatiivne: siin peab analüütik hindama, kas organisatsioon suudab sujuvalt kohaneda tehtud muudatustega vastavalt projekti nõudmisele. Kas probleem on väärt lahendamist hinnangulise hinnaga?
Pärast seda kõike luuakse lõplik teostatavusaruanne.
24) Millised on funktsionaalsed ja mittefunktsionaalsed nõuded?
Funktsionaalsed nõuded on funktsionaalsed omadused, mida kasutajad eeldavad kavandatavast tarkvaratoost.
Mittefunktsionaalsed nõuded on seotud kasutajaliidese turvalisuse, jõudluse, välimuse ja tunnetusega.
25) Mis on tarkvara mõõdik?
Tarkvara mõõdikud pakuvad tarkvaraprotsessi erinevate aspektide jaoks meetmeid, mis jagunevad:
- Nõuete mõõdikud: pikkusenõuded, täielikkus
- Toote mõõdikud: kodeerivate ridade arv, objektile suunatud mõõdikud, kujunduse ja testide mõõdikud.
26) Mis on modulariseerimine?
Modulariseerimine on tehnika, mida kasutatakse tarkvarasüsteemi jagamiseks erinevateks varjatud mooduliteks. Eeldatakse, et see täidab ülesandeid iseseisvalt.
27) Mis on ühtekuuluvus?
Ühtekuuluvus on meede, mis määratleb mooduli elementide vahelise sõltumatuse.
28) Kas mainite mõnda tarkvara analüüsimise ja kujundamise tööriista?
Mõned kõige olulisemad tarkvara analüüsimise ja kujundamise tööriistad on:
- Andmevoogude skeemid
- Struktureeritud diagrammid
- Struktureeritud inglise keel
- Andmesõnastik
- Hierarhilised sisendprotsessi väljunddiagrammid
- Üksuse seose skeemid ja otsustabelid
29) Mida tähendab nivoo 0 andmete vooskeem?
Kõrgeimat abstraktsioonitaset nimetatakse DFD tasemeks 0. Seda nimetatakse ka kontekstitaseme DFD-ks. See kujutab kogu infosüsteemi ühe diagrammina.
30) Mis on peamine erinevus struktureeritud inglise ja pseudokoodeksi vahel?
Struktureeritud inglise keel on emakeel. Seda kasutatakse programmimooduli struktuuri kirjutamiseks. See kasutab programmeerimiskeele märksõnu. Teiselt poolt sarnaneb pseudokood pigem programmeerimiskeelele, kus pole ühtegi konkreetset keelt.
31) Mis on struktureeritud disain?
Struktureeritud disain on probleemi kontseptualiseerimine. Seda nimetati ka lahenduste kujundamiseks ja see põhineb "jaga ja võida" strateegial.
32) Mis on funktsionaalne programmeerimine?
See on programmeerimismeetod, mis kasutab matemaatilise funktsiooni mõisteid. See pakub arvutamise vahendeid matemaatiliste funktsioonidena, mis annab ka tulemusi olenemata programmi olekust.
33) Mis on kvaliteedi tagamine vs kvaliteedikontroll?
Kvaliteedi tagamine kontrollib, kas tarkvara arendamisel järgitakse õiget protsessi, samas kui kvaliteedikontroll tegeleb tarkvaratoote kvaliteedi säilitamisega.
34) Mis on CASE tööriistad?
CASE tähendab arvutipõhist tarkvaratehnikat. Need on automatiseeritud tarkvararakendusprogrammide komplekt, mida kasutatakse SDLC-tegevuste toetamiseks, täiustamiseks ja tugevdamiseks.
35) Milline protsessimudel eemaldab defektid enne tarkvara hätta sattumist?
Puhta ruumi tarkvara väljatöötamise meetod kõrvaldab defektid enne tarkvara hätta sattumist.
36) Lahenda see probleem
Ühes pimedas toas on sahtlis paarkümmend erinevat kahte tüüpi sokki. Mis on minimaalne sokkide arv, mida peate võtma, et teil oleks sobiv paar? "
Kui võtate kätte kolm sokki, võivad need olla sama tüüpi, isegi kui koefitsient on 50%. Koefitsiendid pole kunagi võrdsed. Seetõttu on ainus viis "tagada, et teil on sobiv paar", korjata vähemalt 11 lööki.
37) Kuidas saate veenduda, et teie kirjalik kood, mis suudab lahendada mitmesuguseid veaolukordi?
Oskan kirjutada teste, mis määratlevad eeldatavad veaolukorrad.
38) Selgitage lõime ja protsessi erinevusi?
Protsess on arvutiprogrammi eksemplar. Ühes programmis on võimalik omada ühte või mitut lõime.
39) Räägi 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 faili uuesti selle asemel, et seda koodi oleks, kasutada sama DLL-i. See vähendab ka vajalikku salvestusruumi.
40) Mis on jõuline ja nõrk kirjutamine? Kumb on eelistatud? Miks?
Tugev tippimine kontrollib muutujate tüüpe kompileerimise ajal. Teisest küljest kontrollib nõrk tippimine süsteemi tüüpe käitamise ajal. Nende hulgas on alati eelistatud tugev kirjutamine, kuna see vähendab vigu.
41) Kirjeldage liidese-, objekti- ja aspektile orienteeritud programmeerimise erinevust.
- Liidese programmeerimine on lepingupõhine.
- Objektorienteeritud on viis kirjutada detailseid objekte, millel on üks eesmärk.
- Aspektile orienteeritud programmeerimine on koodi eraldamine nii, et mitmesugused objektid kannavad põhiülesandeid ja kõrvalülesandeid kannavad sõltumatud objektid.
42) Miks on püügi (erand) kasutamine alati halb mõte?
See on halb idee, sest:
- Kuna ühtegi muutujat pole määratletud, pole erandit võimalik lugeda
- Hea on kasutada erandit, kui teil on teada eranditüüpe.
43) Mis tüüpi andmeid edastatakse HTTP-päiste kaudu?
HTTP päiste kaudu edastatud skript ja metaandmed.
44) Kuidas prioriteerida nõudeid?
Esiteks peate kujundama süsteemi, hinnates andmestruktuuri. Seejärel peaksite liikuma selle toetamiseks vajaliku koodistruktuuri juurde.
45) Kas anda mulle erinevusi objektorienteeritud ja komponendipõhise disaini vahel?
Objektorienteeritud disaini saab mingil määral hõlpsasti kapseldada komponendipõhisesse kujundusse.
46) Millal te kasutate polümorfismi?
Polümorfismi kasutatakse siis, kui klassi pärimisel on vaja funktsionaalsuse alistamist. See on jagatud klasside ja jagatud lepingute kohta.
47) Mis vahe on virna ja järjekorra vahel?
- Järjekord on alati esimene sisse, esimene välja
- Stack on alati viimane sisse, esimene välja
48) Mis on koodi kvaliteedi testimiseks hädavajalik?
Minu sõnul on üksuse testimise raamistik koodi kvaliteedi testimiseks hädavajalik.
49) Kas arvate, et tarkvara ülalpidamine on kallis?
Minu sõnul ei ole tarkvara hooldamine kunagi kallis, kui kasutame nõuetekohast arendusprotsessi.
50) Kas anda mulle erinevusi siltide ja harude vahel?
Sildid on mõeldud väljaannete versioonimiseks, mis on ajutised hoiukohad sellise tegevuse tegemiseks. Filiaalid kustutatakse siis, kui need muudatused pagasiruumi ühendatakse.
51) Kust on saadaval kaitstud klassitaseme muutuja?
Kaitstud klassitaseme muutujad on saadaval igale alamklassile, mis on tuletatud baasklassist.
52) Kas ühe proovilause jaoks on võimalik käivitada mitu püüdmisblokki?
Jah. Ühe proovilause jaoks saab käivitada mitu püüdmisplokki.
53) Millal peate klassi abstraktseks kuulutama?
Peaksime kuulutama klassi abstraktseks järgmistes olukordades:
- Kui klass on päritud abstraktsest klassist, kuid kõiki abstraktseid meetodeid pole alistatud.
- Juhul, kui vähemalt üks klassi meetoditest on deklareeritud abstraktsena.
54) Töötage välja algoritm, mis väljastab teie praeguse asukoha, ja nimekiri selle piirkonna sularahaautomaatidest. Viige oma asukohale lähimad K sularahaautomaadid.
Looge meetod getDistance (a, b), mis arvutab kauguse a ja b vahel.
Kood:
import java.util.HashMap;import java.util.Map;import java.util.PriorityQueue;public class PrioRQueueExample {public static void main(String[] args){PriorityQueuepq = new PriorityQueue ((x,y)-> {Double z = y-x;return z.intValue(); });PrioRQueueExample pqe = new PrioRQueueExample();//Number of ATMs to return i.e. Kint num_ATMs = 3;double curr_loc = 0.00;Map nallATMLocs = new HashMap ();//Map of ATM names and their distance co-ordinatesnallATMLocs.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;}}