50 najboljših vprašanj in odgovorov za programski inženiring

Anonim

Prenesite PDF

1) Katere so pomembne kategorije programske opreme?

  • Sistemska programska oprema
  • Programska oprema
  • Vdelana programska oprema
  • Spletne aplikacije
  • Programska oprema za umetno inteligenco
  • Znanstvena programska oprema.

2) Kakšna je glavna razlika med računalniškim programom in računalniško programsko opremo?

Računalniški program je del programske kode. Izvaja natančno določeno nalogo. Po drugi strani pa programska oprema vključuje programsko kodo, dokumentacijo in uporabniški priročnik.

3) Kaj je preoblikovanje programske opreme?

Gre za proces razvoja programske opreme, ki se izvaja za izboljšanje vzdrževanja programskega sistema.

4) Na kratko opišite postopek razvoja programske opreme:

Razvoj programske opreme je življenjski cikel, sestavljen iz naslednjih stopenj:

  • Analiza zahtev
  • Specifikacija
  • Programska arhitektura
  • Izvajanje
  • Testiranje
  • Dokumentacija
  • Usposabljanje in podpora
  • Vzdrževanje

5) Kaj so na voljo modeli SDLC?

Waterfall Model, Spiral Model, Big-bag model, Iterative Model in V-Model so nekateri izmed znanih modelov SDLC.

6) Kaj je preverjanje in potrjevanje?

Preverjanje:

Preverjanje je izraz, ki se nanaša na sklop dejavnosti, ki zagotavljajo, da programska oprema izvaja določeno funkcijo.

Potrditev:

Nanaša se na sklop dejavnosti, ki zagotavljajo, da je bila programska oprema zgrajena glede na potrebe strank.

7) Kaj pomeni odpravljanje napak v procesu razvoja programske opreme?

Odpravljanje napak je postopek, ki povzroči odstranitev napake. To je zelo pomemben del uspešnega testiranja.

8) Kako lahko zagotovite, da je vaša koda varna in hitra?

Pri programski opremi je razvojna varnost vedno na prvem mestu. Torej, če je izvajanje programa potem počasno, bom poskusil ugotoviti vzrok in pot do njegove časovne zapletenosti.

9) Navedite dve orodji, ki se uporabljata za spremljanje zahtev programske opreme?

Obstaja veliko načinov za spremljanje zahtev.

Dva najpogosteje uporabljena sta:

  • Naredite dokument s specifikacijami zahtev, v katerem bodo navedene vse zahteve.
  • Ustvarite excel list, seznam navzdol glede na zahtevo, vrsto, odvisnost, prednost itd.

10) Kakšna je glavna razlika med škrbinami, posmehom?

Škrbina je minimalna izvedba vmesnika, ki na splošno vrne trdo kodirane podatke, medtem ko ponaredki običajno preverijo rezultate glede na pričakovanja. Ta pričakovanja so določena v testu.

11) V katerem jeziku najraje pišete algoritme za programiranje?

Vsak razvijalec ima svoja stališča glede izbire programskega jezika. Vendar bi morali imeti raje jezike na visoki ravni, ker so dinamični. Tako kot jezika C in C ++.

12) Kaj je računalniška programska oprema?

Računalniška programska oprema je paket, ki vključuje programsko opremo, njeno dokumentacijo in uporabniški priročnik za uporabo programske opreme.

13) Kateri model SDLC je po vašem mnenju najboljši?

Takšne razvrstitve ni, saj so SDLC modeli sprejeti glede na potrebo po razvojnem procesu. Od programske opreme do programske opreme se lahko razlikuje.

14) Kdo je vodja projektov programske opreme? Kakšna je njegova vloga?

Vodja projekta programske opreme je oseba, odgovorna za upravljanje projekta razvoja programske opreme.

Vodja projekta načrtuje, spremlja napredek, komunicira. Prav tako upravlja s tveganji in sredstvi za izvedbo projekta v času, stroških in omejitvah kakovosti.

15) Kaj pomeni obseg programske opreme?

Obseg programske opreme je natančno določena meja. Vključuje vse vrste dejavnosti, ki se izvajajo za razvoj in dostavo programskega izdelka.

Obseg programske opreme opredeljuje vse funkcionalnosti in predmete, ki jih je treba dostaviti kot del programske opreme. Obseg določa tudi, kaj bo izdelek naredil? Kaj ni del projekta? Kaj je ocena projekta?

Ta postopek je koristen za oceno različnih vidikov programskega izdelka. Za to oceno se lahko odločite s posvetovanjem s strokovnjaki ali z uporabo vnaprej določenih formul.

16) Kako najti velikost programskega izdelka?

Velikost programskega izdelka lahko izračunamo na dva načina

  • Štetje vrstic dostavljene kode
  • Štetje dostavljenih funkcijskih točk

17) Kaj so funkcijske točke?

Funkcijske točke so funkcije, ki jih ponuja programski izdelek. Šteje se kot najpomembnejša meritev velikosti programske opreme.

18) Kakšne tehnike ocenjevanja programskih projektov so na voljo?

Najbolj razširjene tehnike ocenjevanja so:

  • Tehnika razgradnje
  • Empirična tehnika

19) Kaj je upravljanje konfiguracije programske opreme?

Upravljanje konfiguracije programske opreme je postopek sledenja in nadzora sprememb, ki se zgodijo v programski opremi.

Nadzor sprememb je funkcija, ki zagotavlja, da so vse spremembe programskega sistema skladne in ustvarjene z uporabo organizacijskih pravil in predpisov.

20) Kako lahko izmerite izvedbo projekta?

Izvedbo projekta lahko merimo s pomočjo spremljanja dejavnosti, poročil o stanju in mejnih kontrolnih seznamov.

21) Povej mi nekaj orodij za upravljanje projektov.

Glede na potrebe po programskem projektu se uporablja veliko vrst orodij za upravljanje. Nekateri med njimi so Pert Chart, Gantt Chart, Histogram virov, Poročila o stanju itd.

22) Kakšne so zahteve glede programske opreme?

Zahteve za programsko opremo so funkcionalni opis predlaganega programskega sistema. Predpostavlja se, da gre za opis ciljnega sistema, njegovih funkcionalnosti in lastnosti.

23) Kaj je študija izvedljivosti?

To je ukrep, s katerim ugotovimo, kako praktičen in koristen bo razvoj organizacije programske opreme za organizacijo. Analizator programske opreme izvede študijo, da bi ugotovil ekonomsko, tehnično in operativno izvedljivost projekta.

  1. Ekonomsko: Vključuje stroške usposabljanja, stroške dodatnih in orodij ter splošno oceno stroškov in koristi projekta.

  2. Tehnično: ovrednoti tehnični vidik. Ali je mogoče ta sistem razviti? Ocena primernosti strojev in OS, na katerih se bo izvajala programska oprema, poznavanje razvoja programske opreme in orodij, ki so na voljo za ta projekt.

  3. Operativno: Tu mora analitik oceniti, da se bo organizacija lahko gladko prilagodila spremembam, ki so bile narejene glede na povpraševanje po projektu. Ali je težavo vredno rešiti s predvidenimi stroški?

Po preučitvi vsega tega se ustvari končno poročilo o izvedljivosti.

24) Kaj so funkcionalne in nefunkcionalne zahteve?

Funkcionalne zahteve so funkcionalne funkcije, ki jih uporabniki pričakujejo od predlaganega programskega izdelka.

Nefunkcionalne zahteve so povezane z varnostjo, zmogljivostjo, videzom in občutkom uporabniškega vmesnika.

25) Kaj je metrika programske opreme?

Metrika programske opreme ponuja ukrepe za različne vidike programske opreme, ki so razdeljeni na:

  1. Meritve zahtev: Zahteve glede dolžine, popolnost
  2. Meritve izdelkov: Število vrst kodiranja, Objektno usmerjene metrike, meritve zasnove in preizkusa.

26) Kaj je modularizacija?

Modularizacija je tehnika, ki se uporablja za razdelitev programskega sistema na različne diskretne module. To naj bi naloge opravljalo samostojno.

27) Kaj je kohezija?

Kohezija je ukrep, ki opredeljuje medsebojno zanesljivost elementov modula.

28) omenja nekatera orodja za analizo in oblikovanje programske opreme?

Nekatera najpomembnejša orodja za analizo in oblikovanje programske opreme so:

  • Diagrami pretoka podatkov
  • Strukturirane karte
  • Strukturirana angleščina
  • Podatkovni slovar
  • Hierarhični vhodni proces Izhodni diagrami
  • Diagrami odnosov entitet in tabele odločitev

29) Kaj pomeni diagram diagrama toka ravni 0?

Najvišja stopnja abstrakcije se imenuje stopnja 0 DFD. Imenuje se tudi DFD na ravni konteksta. Celoten informacijski sistem prikazuje kot en diagram.

30) Kakšna je glavna razlika med strukturirano angleščino in psevdo kodo?

Strukturirana angleščina je materni angleški jezik. Uporablja se za pisanje strukture programskega modula. Uporablja ključne besede programskega jezika. Po drugi strani je Pseudo Code bolj podoben programskemu jeziku brez sintakse katerega koli določenega jezika.

31) Kaj je strukturirano oblikovanje?

Strukturirano načrtovanje je konceptualizacija problema. Imenuje se tudi oblikovanje rešitev in temelji na strategiji »deli in vladaj«.

32) Kaj je funkcionalno programiranje?

Gre za programsko metodo, ki uporablja koncepte matematične funkcije. Zagotavlja sredstva za računanje kot matematične funkcije, ki dajejo tudi rezultate ne glede na stanje programa.

33) Kaj je zagotavljanje kakovosti in nadzor kakovosti?

Zagotavljanje kakovosti preverja, ali se med razvojem programske opreme upošteva ustrezen postopek, medtem ko se nadzor kakovosti ukvarja z vzdrževanjem kakovosti programskega izdelka.

34) Kaj so orodja CASE?

CASE pomeni računalniško podprto programsko inženirstvo. V njih so na voljo avtomatizirani programski programi, ki se uporabljajo za podporo, izboljšanje in krepitev dejavnosti SDLC.

35) Kateri model postopka odpravi napake, preden programska oprema zaide v težave?

Metoda programskega inženiringa Clean room odstrani napake, preden programska oprema zaide v težave.

36) Rešite to težavo

V predalu v eni temni sobi je dvajset različnih nogavic dveh vrst. Kakšno je najmanjše število nogavic, ki jih morate vzeti, da imate ustrezen par? "

Če vzamete tri nogavice, so lahko iste vrste, tudi če je verjetnost 50%. Verjetnost ni nikoli enaka resničnost. Zato je edini način, da "zagotovite, da imate ustrezen par", da sprejmete vsaj 11 število udarcev.

37) Kako se lahko prepričate, da je vaša napisana koda, ki lahko obravnava različne vrste napak?

Znam pisati teste, ki opredeljujejo pričakovane napake.

38) Pojasnite razlike med nitjo in postopkom?

Proces je primerek računalniškega programa. V enem programu je mogoče imeti eno ali več niti.

39) Povejte mi razliko med EXE in DLL?

Exe je izvedljiv program, medtem ko je DLL datoteka, ki jo lahko programi dinamično naložijo in izvedejo. Je zunanje skladišče kode za programe. Ker sta oba različna programa, ponovno uporabite isto DLL, namesto da bi imeli to kodo v svoji datoteki. Prav tako zmanjša potreben prostor za shranjevanje.

40) Kaj je močno tipkanje in šibko tipkanje? Kateri je najprimernejši? Zakaj?

Močno tipkanje preverja vrste spremenljivk v času prevajanja. Po drugi strani šibko tipkanje preverja vrste sistema med izvajanjem. Med njimi je vedno najprimernejše močno tipkanje, ker zmanjšuje napake.

41) Opišite razliko med vmesniško usmerjenim, objektno usmerjenim in aspektno usmerjenim programiranjem.

  • Programiranje vmesnikov temelji na pogodbi.
  • Objektno usmerjen je način za zapisovanje zrnatega predmeta, ki ima en sam namen.
  • Aspektno usmerjeno programiranje je ločevanje kode na tak način, da imajo različni predmeti glavne naloge, pomožne naloge pa neodvisni predmeti.

42) Zakaj je uporaba ulova (izjema) vedno slaba ideja?

To je slaba ideja, ker:

  • Ker ni definirane spremenljivke, izjeme ni mogoče prebrati
  • Dobro je uporabiti izjemo, če poznate vrste izjem.

43) Katere vrste podatkov posredujejo glave HTTP?

Skript in metapodatki se posredujejo prek glav HTTP.

44) Kako določite prednostne zahteve?

Najprej morate sistem oblikovati z oceno strukture podatkov. Nato nadaljujte s strukturo kode, ki je potrebna za njeno podporo.

45) Ali naj navedem razlike med objektno in komponentno zasnovo?

Predmetno zasnovano oblikovanje je mogoče do neke mere enostavno vključiti v zasnovo, ki temelji na komponentah.

46) Kdaj uporabljate polimorfizem?

Polimorfizem se uporablja, kadar je pri dedovanju razreda potrebna funkcionalnost preglasitve. Gre za skupne razrede in skupne pogodbe.

47) Kakšna je razlika med skladom in čakalno vrsto?

  • Čakalna vrsta je vedno prvi vhod, prvi izhod
  • Stack je vedno zadnji vhod, prvi izhod

48) Kaj je bistvenega pomena za preizkušanje kakovosti kode?

Po mojem mnenju je okvir preskušanja enot bistven za preizkušanje kakovosti kode.

49) Ali menite, da je vzdrževanje programske opreme drago?

Po mojem mnenju vzdrževanje programske opreme nikoli ne bo drago, če uporabljamo ustrezen razvojni postopek.

50) Ali mi povejte razlike med oznakami in vejami?

Oznake so namenjene izdajam različic, ki so začasna mesta za takšno početje. Vendar se veje izbrišejo, ko se te spremembe združijo v deblo.

51) Kje je na voljo zaščitena spremenljivka na ravni razreda?

Zaščitene spremenljivke na ravni razreda so na voljo vsakemu podrazredu, ki izhaja iz osnovnega razreda.

52) Ali je mogoče izvesti več blokov ulova za en stavek?

Da. Za en stavek try lahko izvedemo več blokov catch.

53) Kdaj morate razred razglasiti za abstraktnega?

Razred bi morali razglasiti za abstraktnega v naslednjih primerih:

  1. Ko je razred podedovan iz abstraktnega razreda, vendar niso bile razveljavljene vse abstraktne metode.
  2. V primeru, ko je najmanj ena od metod v razredu razglašena za abstraktno.

54) Razvijte algoritem za prikaz trenutne lokacije in seznam lokacij bankomatov na tem območju. Priskrbite vam najbližje bankomate K do vaše lokacije.

Ustvarite metodo getDistance (a, b), ki izračuna razdaljo med a in b.

Koda:

import java.util.HashMap;import java.util.Map;import java.util.PriorityQueue;public class PrioRQueueExample {public static void main(String[] args){PriorityQueue pq = 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;}}