top 25 software engineering interview questions
Najčešće postavljana pitanja o osnovnom i naprednom softverskom inženjerstvu s detaljnim odgovorima. Pripremite se s ovim sveobuhvatnim popisom uobičajenih pitanja za intervjuiranje tehničkog softverskog inženjera za početnike i starije profesionalce:
Prema IEEE-u, softversko inženjerstvo je primjena sustavnog, discipliniranog i mjerljivog pristupa razvoju, radu i održavanju softverskog proizvoda.
Znači primijeniti sustavni i dobro definirani pristup razvoju softverskog proizvoda.
U ovom ćemo uputstvu pokriti najčešće postavljana pitanja za razgovore sa softverskim inženjerom, uz jednostavne odgovore za vaše lakše razumijevanje.
Najpopularnija pitanja o intervjuu za softversko inženjerstvo
U nastavku su navedena najčešće postavljana pitanja za intervju sa softverskim inženjerom s odgovorima.
Istražimo !!
P # 1) Što je SDLC?
Odgovor: SDLC označava životni ciklus razvoja softvera. Definira korak po korak pristup razvoju softvera. SDLC uključuje sljedeće faze, tj. prikupljanje zahtjeva, analizu sustava, dizajn, kodiranje, ispitivanje, održavanje i dokumentaciju.
Dolje je prikazan prikaz različitih faza uključenih u SDLC na visokoj razini.
(slika izvor )
P # 2) Koji su različiti modeli dostupni u SDLC-u?
Odgovor: U SDLC-u je dostupno nekoliko modela za učinkovito provođenje razvoja softvera. Neki od modela uključuju Model slapa , V-Model, Agile model itd.
P # 3) Objasnite pojam osnovno stanje.
kako lažirati e-adresu
Odgovor: Polazište je prekretnica na projektu koju obično definira voditelj projekta. Polazne crte se koriste za praćenje napretka projekta s vremena na vrijeme kako bi se procijenilo cjelokupno stanje projekta.
P # 4) Koje su odgovornosti voditelja softverskog projekta?
Odgovor: Voditelj softverskog projekta odgovoran je za vođenje projekta prema uspješnom završetku. Odgovornost je voditelja softverskog projekta osigurati da cijeli tim slijedi sustavni i dobro definirani pristup razvoju softvera.
Voditelj softverskog projekta također je odgovoran za sljedeće zadatke:
- Planiranje projekta
- Praćenje statusa projekta
- Upravljanje resursima
- Upravljanje rizicima
- Dostava projekta u roku i proračunu.
P # 5) Što je kohezija?
Odgovor: Kohezija je stupanj međusobne povezanosti elemenata modula. To je poput unutarnjeg ljepila koje povezuje elemente modula. Dobar softver ima visoku razinu kohezije.
Q # 6) Što je sprezanje?
Odgovor: Spajanje je stupanj međuovisnosti između modula. Dobar softver ima nisku razinu sprezanja.
P # 7) Objasnite koncept modularizacije.
Odgovor: Modularizacija se koristi za dijeljenje softvera na više komponenata ili modula. Na svakom modulu radi neovisni tim za razvoj i testiranje. Konačni rezultat bio bi kombiniranje više modula u jednu radnu komponentu.
P # 8) Što je upravljanje konfiguracijom softvera?
Odgovor: Upravljanje softverskom konfiguracijom postupak je praćenja i upravljanja promjenama koje se događaju tijekom životnog ciklusa razvoja softvera. Svaka promjena napravljena tijekom razvoja softvera mora se pratiti kroz dobro definiran i kontroliran postupak.
najbolji besplatni softver za sigurnosne kopije za mac
Upravljanje konfiguracijom osigurava da se sve promjene napravljene tijekom razvoja softvera kontroliraju kroz dobro definiran postupak.
P # 9) Koje su različite faze SDLC-a?
Odgovor: Slijede najčešće faze SDLC-a.
- Analiza zahtjeva
- Oblikovati
- Kodiranje
- Testiranje
- Održavanje
P # 10) Navedite primjere alata za upravljanje projektima.
Odgovor: Slijede neki od najčešće korištenih alata za upravljanje projektima koji su danas dostupni u industriji.
- Ganttov dijagram
- Kontrolne liste
- Izvješća o statusu
- Histogrami
- Microsoft Project
Preporučeno čitanje => Vrhunski alati za upravljanje projektima koje biste trebali znati
Q # 11) Što su CASE alati?
Odgovor: CASE je kratica za alate softverskog inženjerstva uz pomoć računala koji se koriste za podršku i ubrzanje različitih aktivnosti životnog ciklusa razvoja softvera.
P # 12) Što je testiranje crne kutije?
Odgovor: Testiranje crne kutije uključuje testiranje aplikacije bez znanja o unutarnjoj strukturi ili implementaciji koda. Testeri bi se samo brinuli oko funkcionalnosti softvera u testiranju crne kutije, a ne o protoku podataka i izvršavanju koda u pozadini.
P # 13) Što je testiranje bijele kutije?
Odgovor: White box testiranje je testiranje aplikacije sa znanjem o unutarnjoj strukturi i implementaciji koda. Ovo testiranje obično provodi programer koji je napisao kôd u obliku jediničnih testova.
P # 14) Što je studija izvodljivosti?
Odgovor: Studija izvedivosti provodi se na softverskom proizvodu kako bi se procijenilo koliko je razvoj softverskog proizvoda praktičan i koristan za organizaciju. Softver se temeljito analizira kako bi se razumjeli ekonomski i tehnički aspekti softverskog proizvoda koji će se razvijati.
P # 15) Kako možete izmjeriti izvršenje projekta?
Odgovor: Status izvršenja projekta može se pratiti pomoću sljedećih tehnika.
- Izvješća o statusu
- Kontrolni popisi prekretnica
- Praćenje aktivnosti
Q # 16) Koji su funkcionalni zahtjevi?
Odgovor: Funkcionalni zahtjevi su značajke koje se očekuje da razvije razvijeni softverski proizvod. Na primjer, dodavanje mogućnosti plaćanja na web mjestu e-trgovine bit će funkcionalni uvjet.
P # 17) Koji su nefunkcionalni zahtjevi?
Odgovor: Nefunkcionalni zahtjevi mjere uporabljivost aplikacije poput izgleda i izgleda korisničkog sučelja, sigurnosti, performansi, interoperabilnosti, pouzdanosti itd.
P # 18) Koja je razlika između osiguranja kvalitete i kontrole kvalitete?
Odgovor: Osiguranje kvalitete osigurava da isporučeni softver ima najmanji mogući broj nedostataka. Kontrola kvalitete postupak je kojim se osigurava dugoročno održavanje kvalitete proizvoda.
Osiguranje kvalitete vrši testni tim projekta, dok kontrolu kvalitete obično obavlja namjenski tim za podršku koji je odgovoran za kvalitetu proizvoda čak i ako je proizvod u fazi održavanja softverskog inženjerstva.
Također, pročitajte => Osiguranje kvalitete protiv kontrole kvalitete
P # 19) Koja je razlika između provjere i provjere valjanosti?
Odgovor: Provjera je postupak osiguranja ispravnosti izrade proizvoda, iz perspektive procesa i standarda.
Provjera valjanosti postupak je kojim se osigurava da gradimo pravi proizvod, iz perspektive kupca. Provjera je statička metodologija ispitivanja u kojoj se proizvod ispituje bez izvršavanja koda, dok je provjera valjanosti dinamička metodologija ispitivanja.
Vrijedno za čitanje => Kompletna studija provjere i provjere valjanosti
P # 20) Koji je SDLC model najbolje odabrati za softverski proizvod?
Odgovor: Ne postoje pravila kao takva koja navode koji se specifični SDLC model mora koristiti za softverski proizvod. Ovisi o vrsti softverskog projekta koji se izrađuje i politikama i postupcima organizacije.
P # 21) Što podrazumijevate pod opsegom softvera?
Odgovor: Opseg softvera popis je značajki koje pruža razvijeni softver. Na temelju opsega softvera mogu se izvršiti procjene poput raspodjele vremena, proračuna i raspodjele resursa.
Q # 22) Što je SRS?
Odgovor: SRS je kratica za dokument Specifikacija zahtjeva softvera (SRS). To je dokument koji obuhvaća sve funkcionalne i nefunkcionalne zahtjeve proizvoda. Ne moraju se slijediti svi SDLC modeli Dokumenti SRS-a , neki modeli bilježe zahtjeve u obliku korisničkih priča, dok neki modeli u obliku excel listova itd.
Q # 23) Koji je SDLC model koji ste koristili u svom prethodnom projektu?
Odgovor: Odgovor na ovo pitanje ovisi o iskustvu kandidata za intervju. Ako kandidat odgovori na model SDLC kao model vodopada, tada će ispitivač početi postavljati pitanja o modelu vodopada, a ako odgovori na to da je okretan, ispitivač će početi postavljati pojmove koji se odnose na agilnu metodologiju kao što su Scrum, Sprint, itd.
P # 24) Detaljno objasnite model Vodopada.
Odgovor: The slap model je sekvencijalni model u kojem sljedeća faza započinje tek nakon završetka prve faze. Na primjer, faza ispitivanja započet će tek nakon završetka razvojne faze, faza održavanja započet će tek nakon završetka faze ispitivanja.
kako pokrenuti datoteku .jar Windows 10
Ispod su razne faze uključene u model vodopada. Napominjemo da se broj faza i sljedova faza može razlikovati od pojedinog projekta do drugog.
- Zahtjevi
- Oblikovati
- Kodiranje
- Testiranje
- Održavanje
do) Zahtjevi: Ovo je faza u kojoj se sustav koji se razvija dokumentira u obliku dokumenta Specifikacija zahtjeva softvera (SRS). Ovo je najvažnija faza SDLC-a jer će jasno razumijevanje zahtjeva klijenta smanjiti preradu u sljedećim fazama.
b) Dizajn: Ovo je faza u kojoj se finalizira arhitektura sustava koji će se razvijati. Arhitektura može biti u obliku dizajna na visokoj ili niskoj razini. Arhitektura također mora uključivati hardverske i softverske specifikacije sustava koji će se razvijati.
c) kodiranje: Ovo je faza u kojoj se piše kod za sustav koji će se razviti. Jedinstveno ispitivanje i Ispitivanje integracije moraju izvršiti programeri u ovoj fazi prije postavljanja koda na testiranje.
d) Ispitivanje: Ovo je faza u kojoj razvijeni proizvod testira neovisni ispitni tim kako bi provjerio ispunjava li zahtjeve u Specifikaciji softverskih zahtjeva (SRS). Neispravnosti nastale u ovoj fazi moraju se otkloniti prije nego što se na proizvodu odjavi.
e) Održavanje: Ova faza dolazi nakon završetka faze ispitivanja. Vodi računa o svim proizvodnim problemima koji se mogu pojaviti nakon što se proizvod isporuči kupcu. Trajanje faze održavanja razlikuje se od projekta do projekta i od jedne organizacije do druge.
Ispod je dijagram koji prikazuje model vodopada u obliku faza.
P # 25) Objasnite V-model detaljno.
Odgovor: V-Model predstavlja model provjere i provjere valjanosti. V-model je dodatak modelu vodopada, u smislu da je V-model također sekvencijalni model. U V-modelu svaka je faza razvoja povezana s odgovarajućom fazom ispitivanja.
Sljedeća slika prikazuje različite faze uključene u V-model.
Lijeva strana modela je životni ciklus razvoja softvera, dok je desna strana modela životni ciklus testiranja softvera. Kako faze tvore oblik slova ‘V’, ovaj se model naziva V-model.
Obrazloženje:
Unutar V-modela, SDLC treba tumačiti odozdo prema dolje, dok će se STLC tumačiti odozdo prema gore. U početku se prikupljaju zahtjevi za dokumentiranje sustava koji će se razvijati prema zahtjevima klijenta. Test tim izrađuje plan ispitivanja sustava na temelju zahtjeva.
Zatim dolazi dizajn na visokoj razini i faze detaljnog projektiranja na razini gdje se priprema arhitektura sustava. Test tim priprema plan integracijskog ispitivanja u tim fazama. Nakon završetka kodiranja na SDLC-u, STLC započinje s jedinstvenim testiranjem, nakon čega slijedi integracijsko testiranje i testiranje sustava.
Zaključak
Nadamo se da će vam ovaj članak pomoći da uspješno razbijete bilo koji intervju softverskog inženjera.
- Softversko inženjerstvo je primjena sustavnog, discipliniranog i mjerljivog pristupa razvoju, radu i održavanju softvera.
- Ne postoje čvrsta pravila kao takva o vrsti pitanja za intervjue softverskog inženjerstva koje postavljaju anketari. Razlikuje se od organizacije do organizacije i vrste uloge za koju se intervju vodi.
Sve najbolje za vaš intervju softverskog inženjera !!
Preporučena literatura
- SDLC (životni ciklus razvoja softvera) faze, metodologije, procesi i modeli
- Što je SDLC model vodopada?
- 25 najboljih alata za upravljanje projektima u 2021. godini (najnovije rang liste)
- Što je STLC V-model?
- Razlika između osiguranja kvalitete i kontrole kvalitete (QA vs QC)
- Ispitivanje bijele kutije: cjelovit vodič s tehnikama, primjerima i alatima
- Testiranje crne kutije: produbljeni vodič s primjerima i tehnikama
- Intervjuirajte pitanja i odgovore