50 populārākie programmēšanas intervijas jautājumi un atbildes

Vai meklējat populārākos programmēšanas jautājumus un atbildes, lai palīdzētu jums izveidot interviju? Šeit ir 50 labākie.

Programmatūras uzņēmumi vienmēr meklē labus programmēšanas talantus, un telefona un tiešsaistes intervijas bieži vien izšķir jūsu likteni dažu minūšu laikā.

Labam programmētājam ir jābūt pēc iespējas daudzpusīgākam – no sistēmu izpratnes līdz vispārējai programmēšanai, dažādām koncepcijām un tehnoloģijām, kā arī jābūt lietas kursā.

Tālāk ir saraksts ar 50 populārākajiem programmēšanas intervijas jautājumiem un atbildēm uz tiem. Tie izgaismo daudzveidīgos jēdzienus, kas jāzina katram iesācējam, lai gūtu panākumus.

Saturs slēpt

1. Kas ir datorprogrammēšana?

Datorprogrammēšana ir loģisku procesu kodēšanas process, kas jāizpilda datoram. To panāk, izmantojot datorvalodu, kurā ir ietverti nepieciešamie norādījumi.

Procesu var sīkāk iedalīt projektēšanā, kodēšanā, atkļūdošanā un atjaunināšanā.

2. Kas ir atkļūdošana?

Atkļūdošana ir datorprogrammas programmatūras avota kļūdu atklāšanas un novēršanas process. Šim nolūkam ir daudz metožu, taču lielākajai daļai izstrādes vidi ir integrēts atkļūdotājs, kas atvieglo darbu.

3. Kas ir kompilators?

Kompilators ir programmatūra, kas ņem rakstīto programmu un pārvērš to mašīnkodā, ko var saprast dators.

Tomēr tipiska kompilatora pakotne sastāv no priekšprocesora, galvenā kompilatora, kas pārvērš datora valodu montāžas kodā, un montētāja.

4. Kas ir priekšapstrādātājs?

Priekšprocesors ir programma, kas analizē rakstīto datora kodu, lai atrastu un apmierinātu tā atkarības, piemēram, nepieciešamās bibliotēkas.

Kad priekšprocesors ir pārliecinājies, ka viss, tostarp izpildes vide, ir kārtībā, kompilators var pārveidot kodu montāžas kodā.

5. Kas ir montētājs?

Asambleris ir programma, kas izmanto zemāko cilvēkam lasāmā datora koda līmeni, ko sauc par montāžas valodu, un pārvērš to mašīnkodā, ar kuru var strādāt dators.

Montāžas valodu parasti izvada kompilators, lai gan var arī kodēt tieši. Montāžas programmā var būt ietverts tāds kods kā:

MOV AH, 02H

bet, kad jūs to kompilējat mašīnkodā, jūs saņemat tikai nulles un vieniniekus (piem., 0110011110101010).

6. Kā programma tiek izpildīta?

Pirmkārt, operētājsistēma ielādē norādīto programmu no cietā diska krātuves sistēmas atmiņā (RAM) un pēc tam ļauj tai izpildīt, liekot centrālajam procesoram turpināt tās izpildi no programmas pirmās atmiņas adreses. CPU izpilda jebkuru komandu, ko tas redz, un pēc tam pāriet uz nākamo, bieži atkārtojot šo procedūru miljoniem reižu sekundē.

32 bitu centrālie procesori izpilda 32 bitu (4 baitu, divvārdu) instrukcijas, savukārt 64 bitu CPU izpilda 64 bitu (8 baitu, četrvārdu) instrukcijas. Šīs instrukcijas ir iebūvētas centrālajā procesorā, un tieši montētājs pārvērš programmēšanas kodu bināros skaitļos, kas apzīmē CPU vietējās komandu adreses.

7. Definējiet a Apakšprogramma

Apakšprogramma ir instrukciju secība programmā, kuru var izsaukt un izpildīt jebkurā laikā. Citiem vārdiem sakot, apakšprogramma var būt funkcija, metode vai procedūra, ko izmanto, lai īstenotu konkrētus uzdevumus, piemēram, e-pasta sūtīšanu, faila atvēršanu vai pieteikšanās lapas brutālu piespiešanu.

8. Definējiet Mašīnas kods

Mašīnas kods ir bināru skaitļu secība, kurā ir noteikta mikroprocesora izpildes instrukcijas un ar to saistītās atmiņas adreses.

Mašīnas kodu tradicionāli izvada montētājs, kas ir paredzēts šai konkrētajai mikroprocesoru saimei.

9. Paskaidrojiet Sastādītās un tulkotās valodas

Kompilētā datorvaloda ir jāpārvērš mašīnkodā, pirms tā tiek izpildīta datorā, savukārt tulkotajai valodai nav nepieciešama iepriekšēja kompilācija.

Kad jūs izpildāt interpretētu programmu, to vispirms apstrādā tulks, kas pēc tam to apkopo un izpilda lidojuma laikā. Šīs papildu darbības padara tulkotās valodas, piemēram, Python, lēnākas nekā kompilētās valodas, piemēram, C.

10. Kas ir cilpa?

Cilpa ir koda struktūra, kas var atkārtot konkrētus paziņojumus, līdz tiek sasniegts noteikts kritērijs. Šis kritērijs var ietvert fiksētu atkārtojumu skaitu vai noteikta mainīgā lieluma maiņu.

11. Uzskaitiet populāros cilpu veidus

Dažādas datoru valodas interpretēs cilpas dažādos veidos. Tomēr populāri C ģimenes cilpas veidi ietver:

  1. While() Cilpa - tas ļauj izpildīt noteiktu kodu, ja vien ir Būla kods kamēr () nosacījums ir izpildīts.
    Piemēram while(2>1){print("yahoo!")};.
  2. For(;;) cilpa - satur trīs izteiksmes (inicializācija; vērtēšana; atjaunināt), kas nosaka testējamos nosacījumus, kā arī elastīgu metodi skaita palielināšanai. Tas arī izpildīs kodu vismaz vienu reizi.
  3. Veiciet{} While() cilpu – šāda veida cilpa izpilda darīt{} kods vismaz vienu reizi, pirms nosaka, vai kamēr () nosacījums joprojām ir patiess.

12. Izskaidrojiet iterāciju vs Rekursijas

Iterācija ir cilpas izmantošana, lai izpildītu vienas un tās pašas koda darbības, savukārt rekursija ir process, kurā funkcija atkal un atkal izsauc sevi. Tomēr problēma ar rekursiju ir tāda, ka jūs varat sasniegt tikai noteiktu dziļumu, līdz rodas atmiņas problēmas.

13. Izskaidrojiet darbavietas Pārtraukt un turpināt cilpā

A pārtraukums paziņojums beidz cilpas izpildi un turpina izpildīt pārējo datora kodu. A turpināt no otras puses, paziņojums turpina cilpas atkārtošanu no sākuma.

14. Kas ir OOP?

OOP apzīmē objektu orientētu programmēšanu, un tā ir programmēšanas paradigma, kas ievieš programmatūras dizainu ap datiem un objektiem, nevis funkcijām vai procedūrām.

15. Kas ir procesuālā programmēšana?

Procesuālā programmēšana ir programmēšanas paradigma, kas organizē datora kodu ap izpildāmo instrukciju secībām vai soļiem. Kā norāda nosaukums, tā ir lejupejoša pieeja, kas sāk kodu no notikumu sākuma fāzes un beidzas ar paredzamo notikumu beigām.

16. Izskaidrojiet funkcionālo programmēšanu

Funkcionālā programmēšana ir datorprogrammēšanas paradigma, kas tuvojas programmatūras izstrādei, izmantojot secīgas funkcijas, kas nematē ne stāvokli, ne sniegto argumentu datus.

Mērķis ir izveidot spēcīgākas programmas, kas rada gaidītos rezultātus bez neparedzētām blakusparādībām.

17. Paskaidrojiet Augsta līmeņa valoda

Augsta līmeņa programmēšanas valoda ir datora valoda, kas vairāk piesaista cilvēka izpratni, nevis datora specifiku vai raksturu.

Augsta līmeņa programmēšanas valodas, piemēram, C un Python, ir viegli saprotamas, savukārt zema līmeņa montāžas valoda var būt ļoti mulsinoša pirmreizējiem.

18. Saraksts Populārs Zema līmeņa valodas

Ir tikai divas zema līmeņa programmēšanas valodas: montāžas un mašīnas kods.

19. Definējiet SQL injekcijas uzbrukumu

SQL injekcijas uzbrukums ir process, kurā tiek ievadīti SQL priekšraksti ievades laukos, piemēram, lietotājvārda vai adreses ievadē, cerot, ka izstrādātājs programmēšanas laikā nav pareizi notīrījis ievades. Un, ja tas ir veiksmīgs, šāds uzbrukums ļauj uzbrucējam iegūt administratora piekļuvi serverim.

20. Kas ir tabula SQL?

SQL tabula attiecas uz datu kolekciju, kas ir sagrupēta kolonnās un rindās. Katrai kolonnai ir atšķirīgs datu tips, un vienā datu bāzē var būt vairākas tabulas. Varat arī pieprasīt vairāk nekā vienu tabulu vienlaikus.

Jūs izveidojat tabulu ar:

CREATE TABLE tabulas_nosaukums(1. kolonnas datu tips, 2. kolonnas datu tips, 3. kolonnas datu tips, …);

21. Izskaidrojiet atšķirību starp objektu un klasi

Objekts ir klases gadījums, savukārt klase ir projekts, no kura tiek izveidots objekts. Objektam var būt stāvokļi un īpašības, piemēram, krāsa, augstums, svars, ātrums utt.

Šie rekvizīti ir jādefinē vai jāinicializē ar vismaz noklusējuma vērtībām.

22. Cik biti veido vienu megabaitu?

8,000,000 megabaitā ir 1 8 10 bitu, jo viens baits ir XNUMX biti un viens mega ir XNUMX6.

23. Definējiet peldošo datu tipu

Pludiņš ir datu tips, kas apzīmē skaitli ar decimāldaļskaitļiem. To izmanto situācijās, kad ir nepieciešams augstāks precizitātes līmenis, nekā var nodrošināt standarta veseli skaitļi. Pludiņa piemērs ir:

0.013 

or 

25.932

24. Ko nozīmē HexaDecimal 0xFF?

0xFF apzīmē decimālo 255 vai bināro 11111111. 0x apzīmē base16 jeb heksadecimālo apzīmējumu, kas sākas no 1 līdz 9 un pēc tam turpinās ar A līdz F, lai apzīmētu 15. Tātad 0xF ir decimālskaitlis 15, bet 0xFF ir decimāls 255.

25. Nosaukums Programmēšanas kļūdu veidi

Datorprogrammā ir 3 galvenie kļūdu veidi, tie ir:

  1. Sintakses kļūda
  2. Loģiska kļūda
  3. Runtime Error

26. Kas ir sintakses kļūda?

Sintakses kļūda rodas, ja ir novirze no bieži stingras programmēšanas valodu sintakses. To var izraisīt vienkārša burtu nepareiza izvietošana uz nepareiziem parametriem, kas tiek nodoti funkcijai. Lielākā daļa kompilatoru ietvers avota koda rindas numuru, kurā radās kļūda.

27. Kas ir loģiskā kļūda?

Loģikas kļūda ir kļūda, kas rodas no programmas darbības veida. Tātad, lai gan programma var darboties nevainojami, tā nesasniedz savu mērķi. Loģiskās kļūdas var rasties dažādos veidos, un tās var izraisīt daudzi iemesli.

28. Kas ir izpildlaika kļūda?

Izpildlaika kļūda ir datorprogrammas kļūda, kas rodas programmas izpildes laikā un neparedzētu apstākļu dēļ. Tātad, lai gan programma darbojas nevainojami, piemēram, atmiņas un tīkla problēmas var izraisīt programmas nepareizu darbību.

29. Paskaidrojiet Spēcīgas un vāji ievadītas valodas

Stingri drukāta valoda stingri nosaka dažādus datu tipus un veidus, kā tos konvertēt, savukārt vāji drukātā valodā datu tipiem un to definīcijām ir mazāk ierobežojumu.

Daudzas vāji ievadītas valodas automātiski pārveidos datu tipus, savukārt valodām, kurās ir vāji drukāts teksts, bieži vien ir nepieciešama nepārprotama pārveidošana.

30. Kas ir MVC arhitektūra?

MVC attiecas uz Model-View-Controller un ir programmatūras izstrādes modelis lietotāja saskarnēm. Tas sadala programmas loģiku 3 daļās.

The modelis daļa apstrādā attiecīgo objektu pamatā esošo datu loģiku, savukārt skats apstrādā informācijas parādīšanu lietotājam un kontrolieris apstrādā datu plūsmu starp skatiem un modeļiem. MVC dizains bieži tiek izmantots ar objektorientētu programmēšanu.

31. Definējiet an Algoritms

Algoritms ir procedūru secība, kas paredzēta konkrētas problēmas risināšanai. Šīs procedūras parasti tiek sadalītas mazākos posmos, un dators katru reizi tās veic tieši tā.

Algoritmu piemēri ietver sejas atpazīšanu, Google meklēšanu, apavu piesiešanas veidu, datu kodēšanu vai šifrēšanu un tā tālāk.

32. Kas ir Mašīnmācība?

Mašīnmācība jeb ML ir mākslīgā intelekta sadaļa, kuras mērķis ir palīdzēt sistēmām noteikt modeļus un pašas pieņemt lēmumus, izmantojot datus.

Tas uzlabo to veiktspēju vai efektivitāti. Mašīnmācīšanās sistēmas var būt uzraudzītas, neuzraudzītas un balstītas uz pastiprināšanu.

33. Kas ir Regulāras izteiksmes?

Regulārā izteiksme jeb Regex ir virkne, ko izmanto, lai definētu meklēšanas modeļus teksta dokumentos. Dažādas programmēšanas valodas ievieš regulāras izteiksmes vai izmanto populāras regulārās izteiksmes bibliotēkas. Parastā izteiksmes piemērs, kas atbilst visām teksta rakstzīmēm, ir šāds:

(.*)

savukārt tālāk norādītais atbilst tikai mp3 failiem:

.+\.(mp3)$

34. Ko dara moduļa (%) operators?

Moduļa operators % ņem divus operandus un dala pirmo operandu, izmantojot otro. Pēc tam tā atgriež atlikušo operācijas daļu.

To bieži izmanto, lai pārbaudītu nepāra un pāra skaitļus, dalot jebkuru veselu skaitli ar 2, kur 0 rezultāts nozīmē pāra skaitli un 1 nozīmē nepāra skaitli.

35. Paskaidrojiet Process Forking

Forking nāk no dakša () funkcija Unix un Linux sistēmās, ko var izmantot darbīgs process, lai izveidotu sevis kopiju. Tātad procesa dakšošana ir procesa dublēšana, lai izveidotu divus līdzīgus un vienlaikus izpildošus procesus.

Papildu dakšošanas veids attiecas uz atvērtā pirmkoda projekta pirmkoda paņemšanu un pilnīgi jaunas programmas izveidi no tā.

36. Paskaidrojiet Pavedienu nārstošana

Pavedienu izveidošana ir process, kurā tiek izveidots jauns CPU pavediens, lai palaistu procesu. Spawning bieži izmanto skaitļošanas ietilpīgas programmas, lai izmantotu procesora vairākpavedienu iespējas, un tās panākumi ir atkarīgi no CPU, kurā tas darbojas, cik kodolu tajā ir un cik pavedienu uz kodolu tas piedāvā.

37. Ko darīt Rezervēti vārdi Tas nozīmē?

Rezervētie vārdi ir termini, kurus jums nav atļauts izmantot kā identifikatoru programmēšanas valodā. Tas ietver funkcijas, mainīgos un etiķetes. Tie ir rezervēti, jo tie jau ir definēti un tiem ir īpaša nozīme.

38. Uzskaitiet populāros rezervētos vārdus

Dažādām valodām ir dažādi rezervētie vārdi, pamatojoties uz to sintakse. Šeit ir populārākie rezervētie vārdi programmēšanā:

  1. IF
  2. TRUE
  3. FALSE
  4. SWITCH
  5. VĒL
  6. CASE
  7. BULA
  8. RETURN
  9. FUNKCIJA
  10. BREAK
  11. Goto

39. Kas ir virkne?

Virkne ir rakstzīmju secība, kas bieži atrodas masīvā un tiek izmantota teksta datu definēšanai. Populārākā virkne ir “hello world”.

40. Kas ir mainīgais?

Mainīgais ir jebkura vērtība, kas var mainīties programmas izpildes laikā. Mainīgais var būt jebkura veida datu, ieskaitot virknes un veselus skaitļus. Piemēram, programma tiek inicializēta šādi:

int a = 0;

int b = 1;

tad izpildes laikā tiek veiktas izmaiņas:

b = a+b; //b ir mainījies

41. Kas ir konstante?

Konstante ir mainīgais, kas nav paredzams, ka tas mainīsies programmas izpildes laikā. Labs piemērs ir gaismas vai skaņas ātrums. Dažādas programmēšanas valodas ļauj definēt konstantes dažādos veidos. Piemēram, C valodā:

const float middle_c = 261.62; //klavieru vidējais taustiņš c ir 261.6255 Hz

42. Definējiet masīvu

Masīvs ir mainīgā veids, ko izmanto, lai vienlaikus saglabātu vairākas vērtības. Daudzas valodas ļauj saglabāt tikai līdzīgu datu tipu vērtības, savukārt citas valodas var apstrādāt dažādu veidu masīvus. Var būt arī daudzdimensiju masīvi, kas ir masīvu masīvi un var kļūt netīri.

Masīva definēšana mql4 ir vienkārša ar:

string TextArray[100]; //simts virkņu masīvs

43. Kas ir Funkciju pārslodze?

Funkciju pārslodze ir metode, kas ļauj izstrādātājam definēt vairākas funkcijas, kurām ir vienāds nosaukums, bet kurām ir atšķirīgas funkcijas. Tas tiek panākts, izveidojot dažādas funkciju versijas ar dažādiem argumentiem. Pēc tam kompilators zina, kura funkcija ir nepieciešama, ņemot vērā sniegto argumentu veidu un skaitu.

44. Definējiet a Zvanīt pēc atsauces

Izsaukums ar atsauci ir metode argumentu atmiņas adreses nodošanai funkcijai pretstatā standarta metodei argumenta vērtības kopijas nodošanai. Atsauces izsaukumu mērķis ir nodrošināt, lai funkcija tieši mainītu argumentu.

45. Paskaidrojiet Aritmētiskie operatori

Tās ir īpašas rakstzīmes, kas darbojas, lai programmēšanas valodā veiktu aritmētiskās darbības. Aritmētiskie operatori ietver:

  1. Saskaitījums vai vienreizējs plus (+)
  2. Atņemšana vai unārais mīnuss (-)
  3. Reizināšana (*)
  4. Divīzija (/)
  5. Modulis (%).

46. Paskaidrojiet loģiskos operatorus

Loģiskie operatori ir vārdi vai simboli, ko izmanto, lai veiktu darbības, kuru pamatā ir nosacījuma loģika. Lielākajai daļai valodu ir tikai 3 loģiskie operatori:

  1. UN (&& valodās C, C++, JavaScript)
  2. OR (|| C, C++, JavaScript)
  3. NAV (! valodās C, C++, JavaScript)

47. Loģiskais 1 UN 0 =?

Loģiska darbība 1 UN 0 dos jums nepatiess jo otrais operands ir 0 un jums ir nepieciešams, lai abi operācijas UN operandi būtu 1 vai TRUE, lai iegūtu pozitīvu izvadi.

48. Loģiski NAV 1 =?

Loģiska darbība NOT 1 dos jums nepatiess jo operators NOT noliedz visu, ko jūs tam dodat, tas nozīmē, ka tas pārvērš 1 par 0 un 0 par 1. Tātad, piešķirot operandam 1 vai TRUE, tiek iegūts 0 vai FALSE.

49. Loģiskais 1 NAND 1 =?

Izveidos loģiska 1 NAND 1 darbība nepatiess jo abi operandi ir TRUE un operators NAND vienmēr noliedz divas līdzīgas ievades, lai iegūtu pretēju izvadi.

Tādējādi, ja operācija bija 0 NAND 0, tad izvade būtu 1 vai TRUE.

50. Loģiskais 1 XOR 1 =?

Loģiska 1 XOR 1 darbība radīs nepatiess jo, lai gan parastā VAI operācija vienā vai abās ieejās parādīs TRUE, ja ir TRUE, operācija XOR (ekskluzīvs VAI) rada TRUE tikai tad, ja tikai viena ievade ir TRUE, nevis otra.

Secinājumi

Mēs esam sasnieguši šī saraksta beigas ar 50 populārākajiem programmēšanas interviju jautājumiem un atbildēm uz tiem. Un, kā redzat, programmēšanas pasaule ir plaša, bet aizraujoša.

Nav divu vienādu interviju. Tāpēc, lai gan šis saraksts norāda uz pareizo tēmu virzienu, jums vajadzētu arī mēģināt iegūt labāku izpratni par katru problēmu.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke ir datoru entuziasts, kuram patīk lasīt dažādas grāmatas. Viņš dod priekšroku Linux, nevis Windows/Mac, un ir izmantojis
Ubuntu kopš tā sākuma. Jūs varat viņu noķert Twitter, izmantojot bongotrax

Raksti: 299

Saņemiet tehnikas preces

Tehniskās tendences, starta tendences, atsauksmes, tiešsaistes ienākumi, tīmekļa rīki un mārketings vienu vai divas reizes mēnesī