Top 50 pitanja i odgovora za intervju o programiranju koje morate znati
Tražite najbolja programska pitanja i odgovore koji će vam pomoći da dobijete intervju? Evo 50 najboljih.

Softverske tvrtke uvijek su u potrazi za dobrim talentima za programiranje, a telefonski i online intervjui često odlučuju o vašoj sudbini u samo nekoliko minuta.
Dobar programer treba biti što svestraniji – od razumijevanja sustava do općeg programiranja, različitih koncepata i tehnologija, kao i biti u tijeku.
Slijedi popis od 50 najboljih pitanja za razgovor o programiranju i odgovori na njih. Bacaju svjetlo na različite koncepte koje svaki početnik mora znati da bi bio odličan.
1. Što je računalno programiranje?
Računalno programiranje je proces kodiranja logičkih procesa koje treba izvršiti računalo. To se postiže korištenjem računalnog jezika koji sadrži potrebne upute.
Proces se dalje može podijeliti na dizajn, kodiranje, uklanjanje pogrešaka i ažuriranje.
2. Što je otklanjanje pogrešaka?
Debugging je proces otkrivanja i uklanjanja grešaka u softverskom izvoru računalnog programa. Postoje mnoge metode za to, ali većina razvojnih okruženja dolazi s integriranim debuggerom koji olakšava stvari.
3. Što je kompilator?
Kompajler je softverski program koji preuzima napisani program i pretvara ga u strojni kod koji računalo može razumjeti.
Međutim, tipični paket prevoditelja sastoji se od predprocesora, glavnog prevoditelja koji računalni jezik pretvara u asemblerski kod i asemblera.
4. Što je pretprocesor?
Pretprocesor je program koji analizira pisani računalni kod kako bi pronašao i zadovoljio njegove ovisnosti, kao što su potrebne biblioteke.
Nakon što se predprocesor uvjeri da je sve, uključujući okruženje za izvršavanje, u redu, kompajler tada može pretvoriti kod u asemblerski kod.
5. Što je asembler?
Asembler je program koji uzima najnižu razinu čovjeku čitljivog računalnog koda koji se zove asemblerski jezik i pretvara ga u strojni kod s kojim računalo može raditi.
Asemblerski jezik obično daje kompilator, iako se može kodirati i izravno. Program za sklapanje može uključivati kod kao što je:
MOV AH, 02H
ali kada ga prevedete u strojni kod, dobit ćete samo nule i jedinice (npr. 0110011110101010).
6. Kako se program izvršava?
Prvo, operativni sustav učitava navedeni program iz memorije tvrdog diska u sistemsku memoriju (RAM) i zatim mu dopušta izvršenje usmjeravajući CPU da nastavi s izvođenjem s prve memorijske adrese programa. CPU izvršava bilo koju naredbu koju vidi, zatim prelazi na sljedeću, često ponavljajući ovaj postupak milijune puta u sekundi.
32-bitni CPU-i izvršavaju 32-bitne (4-bajta, dvostruke riječi) instrukcije u pokretu, dok 64-bitni CPU-i izvršavaju 64-bitne (8-bajta, četiri riječi) instrukcije u pokretu. Ove su upute ugrađene u CPU i asembler je taj koji pretvara programski kod u binarne brojeve koji predstavljaju izvorne adrese CPU naredbi.
7. Definirajte a podrutina
Potprogram je niz instrukcija u programu koji se može pozvati i izvršiti u bilo kojem trenutku. Drugim riječima, potprogram može biti funkcija, metoda ili postupak koji se koristi za implementaciju određenih zadataka kao što je slanje e-pošte, otvaranje datoteke ili grubo forsiranje stranice za prijavu.
8. Definirajte Strojni kod
Strojni kod je niz binarnih brojeva koji sadrži naredbe za izvršavanje određenog mikroprocesora i njegove pridružene memorijske adrese.
Strojni kod tradicionalno ispisuje asembler koji je dizajniran za tu određenu obitelj mikroprocesora.
9. Objasnite Prevedeni vs interpretirani jezici
Prevedeni računalni jezik mora se pretvoriti u strojni kod prije nego što se izvrši na računalu, dok interpretirani jezik ne treba prethodnu kompilaciju.
Kada izvršavate interpretirani program, prvo ga obrađuje tumač, koji ga zatim kompilira i izvršava u hodu. Ovi dodatni koraci čine interpretirane jezike kao što je Python sporijima od prevedenih jezika kao što je C.
10. Što je petlja?
Petlja je struktura koda koja može ponavljati određene izjave dok se ne postigne određeni kriterij. Ovaj kriterij može uključivati fiksni broj ponavljanja ili promjenu definirane varijable.
11. Navedite popularne vrste petlji
Različiti računalni jezici tumačit će petlje na različite načine. Međutim, popularne vrste petlji C-obitelji uključuju:
- Dok() petlja – dopušta izvođenje određenog koda, sve dok je Booleov dok() uvjet je ispunjen.
Na primjer while(2>1){print(“yahoo!”)};. - Za(;;) Petlja – sadrži tri izraza (inicijalizacija; evaluacija; ažurirati) koji definiraju uvjete za testiranje, kao i fleksibilnu metodu za povećanje broja. Također će izvršiti kod barem jednom.
- Do{} While() petlja – ova vrsta petlje izvršava učiniti{} kodirajte barem jednom prije utvrđivanja je li dok() uvjet je još uvijek istinit.
12. Objasnite iteraciju vs Rekurzije
Iteracija je upotreba petlje za izvršavanje istih koraka koda, dok je rekurzija proces pozivanja same sebe iznova i iznova. Međutim, problem s rekurzijom je taj što možete doći samo do određene dubine dok ne naiđete na probleme s memorijom.
13. Objasnite poslove od Prekini i nastavi u petlji
A razbiti naredba završava izvođenje petlje i nastavlja s izvođenjem ostatka računalnog koda. A nastaviti naredba, s druge strane, nastavlja ponavljanje petlje od početka.
14. Što je OOP?
OOP je kratica za objektno orijentirano programiranje i to je paradigma programiranja koja implementira dizajn softvera oko podataka i objekata, a ne oko funkcija ili procedura.
15. Što je proceduralno programiranje?
Proceduralno programiranje je paradigma programiranja koja organizira računalni kod oko nizova ili koraka instrukcija koje treba izvršiti. Kao što naziv implicira, to je pristup odozgo prema dolje koji počinje kod od početne faze događaja i završava s očekivanim završetkom događaja.
16. Objasnite funkcionalno programiranje
Funkcionalno programiranje je paradigma računalnog programiranja koja pristupa razvoju softvera primjenom sekvencijalnih funkcija koje niti mutiraju stanje niti podatke dostavljenih argumenata.
Cilj je stvoriti robusnije programe koji proizvode očekivane rezultate bez nepredviđenih nuspojava.
17. Objasnite Jezik na visokoj razini
Programski jezik visoke razine računalni je jezik koji više privlači ljudsko razumijevanje nego specifičnosti ili prirodu računala.
Programske jezike visoke razine kao što su C i Python lako je razumjeti, dok asemblerski jezik niske razine može biti vrlo zbunjujući za početnike.
18. Popis Popularno Jezici niske razine
Postoje samo dva programska jezika niske razine: asemblerski i strojni kod.
19. Definirajte napad SQL injekcijom
Napad SQL injekcijom je proces unošenja SQL naredbi u polja za unos kao što su unos korisničkog imena ili adrese, u nadi da programer nije ispravno očistio unose tijekom programiranja. A kada je uspješan, takav napad omogućuje napadaču da dobije administratorski pristup poslužitelju.
20. Što je tablica u SQL-u?
Tablica u SQL-u odnosi se na skup podataka koji su grupirani u stupce i retke. Svaki stupac ima različitu vrstu podataka i možete imati više tablica u jednoj bazi podataka. Također možete postaviti upit za više od jedne tablice odjednom.
Kreirate tablicu sa:
CREATE TABLE ime_tablice(tip podataka stupca1, tip podataka stupca2, tip podataka stupca3, …);
21. Objasnite razliku između objekta i klase
Objekt je instanca klase, dok je klasa nacrt iz kojeg je stvoren objekt. Objekt može imati stanja i svojstva, kao što su boja, visina, težina, brzina i tako dalje.
Ta se svojstva ipak moraju definirati ili inicijalizirati barem zadanim vrijednostima.
22. Koliko bitova čini jedan megabajt?
Postoji 8,000,000 bitova u 1 megabajtu jer jedan bajt ima 8 bitova, a jedan mega 106.
23. Definirajte tip podataka Float
float je tip podataka koji predstavlja broj s decimalnim razlomcima. Koristi se u situacijama kada je potrebna viša razina preciznosti od one koju mogu pružiti standardni cijeli brojevi. Primjer plovka je:
0.013
or
25.932
24. Što znači HexaDecimal 0xFF?
0xFF označava decimalno 255 ili binarno 11111111. 0x označava bazu 16 ili heksadecimalni zapis, koji ide od 1 do 9, a zatim se nastavlja s A do F da predstavlja 15. Dakle, 0xF je decimalno 15, dok je 0xFF decimalno 255.
25. Imenovati vrste grešaka u programiranju
Postoje 3 glavne vrste grešaka u računalnim programima, a to su:
- Sintaktička pogreška
- Logička pogreška
- Runtime Error
26. Što je sintaktička pogreška?
Do sintaktičke pogreške dolazi kada postoji odstupanje od često stroge sintakse programskih jezika. To može biti rezultat jednostavnog pogrešnog postavljanja slova na pogrešne parametre koji se prosljeđuju funkciji. Većina prevoditelja uključit će broj retka izvornog koda u kojem se pogreška dogodila.
27. Što je logička pogreška?
Logička pogreška je pogreška koja proizlazi iz načina na koji program radi. Dakle, iako bi program mogao funkcionirati besprijekorno, ne uspijeva postići svoju svrhu. Logičke pogreške mogu se pojaviti na mnogo načina i biti uzrokovane mnogim razlozima.
28. Što je Runtime Error?
Runtime error je greška računalnog programa koja se javlja tijekom izvođenja programa i zbog nepredviđenih okolnosti. Dakle, iako program radi besprijekorno, na primjer, problemi s memorijom i mrežom mogu uzrokovati loše ponašanje programa.
29. Objasnite Jaki u odnosu na slabo tipizirane jezike
Strogo tipizirani jezik strog je u pogledu različitih tipova podataka i načina na koji ih možete pretvoriti, dok slabo tipizirani jezik postavlja manje ograničenja na tipove podataka i njihove definicije.
Mnogi slabo tipizirani jezici će automatski pretvoriti tipove podataka, dok jako tipizirani jezici često zahtijevaju eksplicitne konverzije.
30. Što je MVC arhitektura?
MVC se odnosi na Model-View-Controller i obrazac je za razvoj softvera za korisnička sučelja. Programsku logiku dijeli na 3 dijela.
The model dio obrađuje temeljnu logiku podataka dotičnih objekata, dok pogled upravlja prikazom informacija korisniku, i kontrolor upravlja protokom podataka između pogleda i modela. MVC dizajn se često koristi s objektno orijentiranim programiranjem.
31. Definirajte an Algoritam
Algoritam je slijed postupaka dizajniranih za rješavanje određenog problema. Ti su postupci obično podijeljeni u manje korake i računalo ih svaki put izvodi točno na taj način.
Primjeri algoritama uključuju prepoznavanje lica, Google pretraživanje, način na koji vežete cipele, kodiranje ili šifriranje podataka itd.
32. Što je Strojno učenje?
Strojno učenje ili ML dio je umjetne inteligencije koji se fokusira na pomoć sustavima da identificiraju obrasce i samostalno donose odluke putem potrošnje podataka.
To zatim poboljšava njihovu izvedbu ili učinkovitost. Sustavi strojnog učenja mogu biti nadzirani, nenadzirani i temeljeni na potkrepljivanju.
33. što su Regularni izrazi?
Regularni izraz ili Regex je niz koji se koristi za definiranje obrazaca pretraživanja u tekstualnim dokumentima. Različiti programski jezici implementiraju regularne izraze ili koriste popularne regex biblioteke. Primjer regularnog izraza za podudaranje svih znakova u tekstu je:
(.*)
dok sljedeće odgovara samo mp3 datotekama:
.+\.(mp3)$
34. Što radi operator modula (%)?
Operator modula % uzima dva operanda i dijeli prvi operand koristeći drugi. Zatim kao rezultat vraća ostatak operacije.
Često se koristi za testiranje parnih i neparnih brojeva dijeljenjem bilo kojeg cijelog broja s 2, gdje rezultat 0 znači paran broj, a 1 znači neparan broj.
35. Objasnite Proces račvanja
Forking dolazi od vilica () funkcija u Unix i Linux sustavima koju pokrenuti proces može koristiti za stvaranje svoje kopije. Dakle, račvanje procesa je dupliciranje procesa kako bi se stvorila dva slična procesa koji se istovremeno izvršavaju.
Dodatna vrsta račvanja odnosi se na uzimanje izvornog koda projekta otvorenog koda i stvaranje potpuno novog programa iz njega.
36. Objasnite Mriještenje niti
Stvaranje niti je proces stvaranja nove CPU niti za pokretanje procesa. Spawning često koriste računalno intenzivni programi za iskorištavanje procesorskih mogućnosti multi-threadinga, a njegov uspjeh ovisi o CPU-u na kojem radi, koliko jezgri ima i koliko niti po jezgri nudi.
37. Što učiniti Pridržane riječi Znači?
Rezervirane riječi su pojmovi koje ne smijete koristiti kao identifikator u programskom jeziku. To uključuje funkcije, varijable i oznake. Oni su rezervirani jer su već definirani i imaju određena značenja.
38. Navedite popularne rezervirane riječi
Različiti jezici imaju različite rezervirane riječi na temelju njihove sintakse. Evo najpopularnijih rezerviranih riječi u programiranju:
- IF
- TRUE
- FALSE
- SWITCH
- JOŠ
- Studije slučaja
- BOOLEAN
- POVRATAK
- FUNKCIJA
- BREAK
- GOTO
39. Što je niz?
Niz je niz znakova koji se često nalazi u nizu i koristi se za definiranje tekstualnih podataka. Najpopularniji niz je "hello world".
40. Što je varijabla?
Varijabla je svaka vrijednost koja se može promijeniti tijekom izvođenja programa. Varijabla može biti bilo koje vrste podataka, uključujući nizove i cijele brojeve. Na primjer, program se inicijalizira na sljedeći način:
int a = 0;
int b = 1;
tada se tijekom izvođenja vrše promjene:
b = a+b; //b je varirao
41. Što je konstanta?
Konstanta je varijabla za koju se ne očekuje da će se mijenjati tijekom izvođenja programa. Dobar primjer je brzina svjetlosti ili zvuka. Različiti programski jezici omogućuju definiranje konstanti na različite načine. Na primjer, u C:
const float middle_c = 261.62; //srednja tipka c na klaviru je 261.6255 Hz
42. Definirajte niz
Niz je vrsta varijable koja se koristi za pohranjivanje više vrijednosti u isto vrijeme. Mnogi jezici dopuštaju pohranjivanje vrijednosti samo sličnih tipova podataka, dok drugi jezici mogu rukovati nizovima s različitim tipovima. Također možete imati višedimenzionalne nizove, koji su nizovi nizova i mogu postati neuredni.
Definiranje polja u mql4 jednostavno je pomoću:
niz TextArray[100]; //niz od sto nizova
43. Što je Preopterećenje funkcija?
Preopterećenje funkcija je metoda koja razvojnom programeru omogućuje definiranje više funkcija koje dijele isto ime, ali imaju različite funkcionalnosti. To se postiže stvaranjem različitih verzija funkcija s različitim argumentima. Kompajler tada zna koja je funkcija potrebna prema vrsti i broju dostavljenih argumenata.
44. Definirajte a Poziv putem reference
Poziv prema referenci je metoda prosljeđivanja memorijske adrese argumenata funkciji, za razliku od standardne metode prosljeđivanja kopije vrijednosti argumenta. Cilj referentnih poziva je da funkcija izravno modificira argument.
45. Objasnite Aritmetički operatori
To su posebni znakovi koji služe za izvođenje aritmetičkih operacija u programskom jeziku. Aritmetički operatori uključuju:
- Dodatak ili unarni plus (+)
- Oduzimanje ili unarni minus (-)
- Množenje (*)
- Podjela (/)
- Modul (%).
46. Objasnite logički operatori
Logički operatori su riječi ili simboli koji se koriste za izvođenje operacija temeljenih na uvjetnoj logici. Većina jezika ima samo 3 logička operatora:
- I (&& u C, C++, JavaScript)
- OR (|| u C, C++, JavaScript)
- NE (! u C, C++, JavaScript)
47. Logički 1 I 0 =?
Logička operacija 1 I 0 će vam dati lažan jer je drugi operand 0 i trebate da oba operanda operacije AND budu 1 ili TRUE da biste dobili pozitivan izlaz.
48. Logički NIJE 1 =?
Logična NOT 1 operacija će vam dati lažan jer operator NOT negira sve što mu date, što znači da pretvara 1 u 0 i 0 u 1. Dakle, davanje 1 ili TRUE operanda rezultira 0 ili FALSE.
49. Logički 1 NAND 1 =?
Logička 1 NAND 1 operacija će proizvesti lažan jer su oba operanda TRUE i operator NAND uvijek negira dva slična ulaza da proizvede suprotni izlaz.
Dakle, ako je operacija bila 0 NAND 0, tada bi izlaz bio 1 ili TRUE.
50. Logički 1 XOR 1 =?
Logička 1 XOR 1 operacija će proizvesti lažan jer dok će normalna operacija ILI proizvesti TRUE na jednom ili oba ulaza koji su TRUE, operacija XOR (isključivo ILI) daje TRUE samo kada je samo jedan ulaz, a ne drugi, TRUE.
Zaključak
Došli smo do kraja ovog popisa od 50 najvažnijih pitanja za intervju o programiranju koje morate znati i njihovih odgovora. I kao što vidite, svijet programiranja je golem, ali uzbudljiv.
Ne postoje dva ista intervjua. Dakle, dok vas ovaj popis upućuje na prave smjernice za temu, trebali biste također pokušati bolje razumjeti svako pitanje.





