Top 50 must-know programmeringsinterview spørgsmål og svar

Leder du efter de bedste programmeringsspørgsmål og svar, der kan hjælpe dig med at nå et interview? Her er top 50.

Softwarevirksomheder er altid på udkig efter gode programmeringstalenter, hvor telefon- og onlineinterviews ofte afgør din skæbne på få minutter.

En god programmør skal være så alsidig som muligt – fra systemforståelse til generel programmering, forskellige koncepter og teknologier samt være opdateret.

Følgende er en liste over 50 topprogrammeringsinterviewspørgsmål og deres svar. De kaster lys over de forskellige koncepter, som enhver nybegynder skal kende for at dygtiggøre sig.

Indholdsfortegnelse skjule

1. Hvad er computerprogrammering?

Computerprogrammering er processen med indkodning af logiske processer, der skal udføres af en computer. Dette opnås ved at bruge et computersprog, der indeholder de nødvendige instruktioner.

Processen kan yderligere opdeles i design, kodning, debugging og opdatering.

2. Hvad er fejlretning?

Debugging er processen med at opdage og eliminere fejl i et computerprograms softwarekilde. Der er mange metoder til at gøre dette, men de fleste udviklingsmiljøer kommer med en integreret debugger for at gøre tingene lettere.

3. Hvad er en compiler?

En compiler er et softwareprogram, der tager det skrevne program og omdanner det til maskinkode, som en computer kan forstå.

En typisk compilerpakke består dog af en pre-processor, hovedkompileren, der gør computersproget til assemblerkode, og en assembler.

4. Hvad er en Pre-processor?

En præprocessor er et program, der analyserer den skrevne computerkode for at finde og tilfredsstille dens afhængigheder, såsom nødvendige biblioteker.

Efter at præprocessoren har sikret sig, at alt, inklusive eksekveringsmiljøet, er i orden, kan en compiler derefter konvertere koden til assembly-kode.

5. Hvad er en Assembler?

En assembler er et program, der tager det laveste niveau af menneskelig læsbar computerkode kaldet assemblersprog og omdanner det til den maskinkode, som en computer kan arbejde med.

Assembly sprog udlæses typisk af en compiler, selvom man også kan kode direkte. Et montageprogram kan indeholde kode som:

MOV AH, 02H

men når du kompilerer det til maskinkode, får du kun nuller og ettaller (f.eks. 0110011110101010).

6. Hvordan udføres et program?

Først indlæser operativsystemet det angivne program fra harddisklageret til systemhukommelsen (RAM) og tillader det derefter at køre ved at instruere CPU'en til at fortsætte dets eksekvering fra programmets første hukommelsesadresse. CPU'en udfører enhver kommando, den ser, og flytter derefter til den næste, og gentager ofte denne procedure millioner af gange i sekundet.

32-bit CPU'er udfører 32-bit (4-byte, dobbeltord) instruktioner på en gang, mens 64-bit CPU'er udfører 64-bit (8-byte, quad-ord) instruktioner på en gang. Disse instruktioner er indbygget i CPU'en, og det er assembleren, der omdanner programmeringskoden til de binære tal, der repræsenterer de oprindelige CPU-kommandoadresser.

7. Definer en subroutine

En subrutine er en sekvens af instruktioner i et program, der kan kaldes og udføres til enhver tid. Med andre ord kan en underrutine være en funktion, en metode eller en procedure, der bruges til at implementere en specifik opgave, såsom at sende en e-mail, åbne en fil eller brute-force en login-side.

8. Definer Maskinkode

Maskinkode er en sekvens af binære tal, der indeholder udførelsesinstruktioner for en specifik mikroprocessor og dens tilhørende hukommelsesadresser.

Maskinkode udsendes traditionelt af en assembler, der er designet til den pågældende familie af mikroprocessorer.

9. Forklar Kompilerede vs fortolkede sprog

Et kompileret computersprog skal omdannes til maskinkode, før det udføres på en computer, mens et fortolket sprog ikke behøver forudgående kompilering.

Når du udfører et fortolket program, bliver det først behandlet af en fortolker, som derefter kompilerer og udfører det i farten. Disse ekstra trin gør fortolkede sprog som Python langsommere end kompilerede sprog som C.

10. Hvad er en loop?

En løkke er en kodestruktur, der kan gentage specifikke udsagn, indtil et specificeret kriterium er opnået. Dette kriterium kan omfatte et fast antal gentagelser eller ændring af en defineret variabel.

11. Liste over populære typer loops

Forskellige computersprog vil fortolke loops på forskellige måder. Populære C-familie loop-typer inkluderer dog:

  1. Mens() Loop – det tillader udførelse af specifik kode, så længe som en boolesk kode mens() betingelse er opfyldt.
    For eksempel while(2>1){print(“yahoo!”)};.
  2. For(;;) Løkke – indeholder tre udtryk (initialisering; evaluering; opdatering), der definerer betingelserne for at teste for, samt en fleksibel metode til at øge antallet. Det vil også udføre kode mindst én gang.
  3. Gør{} While() Loop – denne type loop udfører gør{} kode mindst én gang, før det bestemmes, om mens() tilstand er stadig sand.

12. Forklar iteration vs rekursion

En iteration er brugen af ​​en loop til at udføre de samme kodetrin, mens rekursion er processen med en funktion, der kalder sig selv igen og igen. Problemet med rekursion er dog, at du kun kan komme til en vis dybde, indtil du løber ind i hukommelsesproblemer.

13. Forklar jobs for Bryd og fortsæt i en sløjfe

A bryde sætning afslutter udførelsen af ​​en loop og fortsætter med at udføre resten af ​​computerkoden. EN fortsæt statement, på den anden side, fortsætter med at iterere løkken fra begyndelsen.

14. Hvad er OOP?

OOP står for Object Oriented Programming, og det er et programmeringsparadigme, der implementerer softwaredesign omkring data og objekter, snarere end omkring funktioner eller procedurer.

15. Hvad er proceduremæssig programmering?

Procedurel programmering er et programmeringsparadigme, der organiserer computerkode omkring de sekvenser eller trin af instruktioner, der skal udføres. Som navnet antyder, er det en top-down tilgang, der begynder koden fra den indledende fase af begivenheder og slutter med den forventede afslutning af begivenheder.

16. Forklar funktionel programmering

Funktionel programmering er et computerprogrammeringsparadigme, der nærmer sig softwareudvikling ved at anvende sekventielle funktioner, der hverken muterer tilstand eller data for leverede argumenter.

Målet er at skabe mere robuste programmer, der giver de forventede resultater uden uforudsete bivirkninger.

17. Forklar Sprog på højt niveau

Et programmeringssprog på højt niveau er et computersprog, der appellerer mere til menneskelig forståelse end til computerens specifikationer eller karakter.

Programmeringssprog på højt niveau som C og Python er nemme at forstå, mens et lavt assemblersprog kan være meget forvirrende for nybegyndere.

18. Liste Populær Sprog på lavt niveau

Der er kun to programmeringssprog på lavt niveau: assembly og maskinkode.

19. Definer et SQL Injection Attack

Et SQL-injektionsangreb er en proces med indtastning af SQL-sætninger i inputfelter, såsom brugernavn eller adresseinput, i håbet om, at en udvikler ikke rensede inputtet ordentligt under programmeringen. Og når det lykkes, gør et sådant angreb det muligt for angriberen at få administratoradgang til serveren.

20. Hvad er en tabel i SQL?

En tabel i SQL refererer til en samling af data, der er grupperet i kolonner og rækker. Hver kolonne har en særskilt datatype, og du kan have flere tabeller i en enkelt database. Du kan også forespørge mere end én tabel på én gang.

Du laver en tabel med:

CREATE TABLE tabelnavn(kolonne1 datatype, kolonne2 datatype, kolonne3 datatype, …);

21. Forklar forskellen mellem et objekt og en klasse

Et objekt er en forekomst af en klasse, mens en klasse er en blueprint, hvorfra et objekt er oprettet. Et objekt kan have tilstande og egenskaber, såsom farve, højde, vægt, hastighed og så videre.

Disse egenskaber skal i det mindste defineres eller initialiseres med standardværdier.

22. Hvor mange bits gør en megabyte?

Der er 8,000,000 bits i 1 megabyte, fordi en byte er 8 bit og en mega er 106.

23. Definer en flydende datatype

En float er en datatype, der repræsenterer et tal med decimalbrøker. Det bruges i situationer, hvor der kræves et højere niveau af præcision, end hvad standardheltal kan give. Et eksempel på en flyder er:

0.013 

or 

25.932

24. Hvad står HexaDecimal 0xFF for?

0xFF står for decimal 255 eller binær 11111111. 0x står for base16 eller hexadecimal notation, som løber fra 1 til 9 og derefter fortsætter med A til F for at repræsentere 15. Så 0xF er decimal 15, mens 0xFF er decimal 255.

25. Navngiv typer af fejl i programmering

Der er 3 hovedtyper af fejl i et computerprogram, de er:

  1. Syntaks fejl
  2. Logisk fejl
  3. Runtime Error

26. Hvad er en syntaksfejl?

En syntaksfejl opstår, når der er en afvigelse fra den ofte strenge syntaks for programmeringssprog. Det kan skyldes, at bogstaver simpelt hen forskydes til de forkerte parametre, der overføres til en funktion. De fleste compilere vil inkludere kildekodens linjenummer, hvor fejlen skete.

27. Hvad er en logisk fejl?

En logisk fejl er en fejl, der opstår fra den måde et program fungerer på. Så selvom programmet kan køre fejlfrit, når det ikke sit formål. Logiske fejl kan opstå på mange måder og være forårsaget af mange årsager.

28. Hvad er en Runtime Error?

En runtime error er en computerprogramfejl, der opstår under afviklingen af ​​programmet og på grund af uforudsete omstændigheder. Så selvom programmet fungerer upåklageligt, kan hukommelses- og netværksproblemer for eksempel få programmet til at opføre sig forkert.

29. Forklar Stærke versus svage sprog

Et stærkt indtastet sprog er strengt med hensyn til dets forskellige datatyper og hvordan du kan konvertere dem, mens et svagt skrevet sprog sætter færre begrænsninger på datatyper og deres definitioner.

Mange svagt indtastede sprog vil konvertere datatyper automatisk, mens stærkt indtastede sprog ofte kræver eksplicitte konverteringer.

30. Hvad er MVC-arkitektur?

MVC refererer til Model-View-Controller og er et softwareudviklingsmønster til brugergrænseflader. Den adskiller programlogikken i 3 dele.

model del håndterer den underliggende datalogik for de pågældende objekter, mens udsigt håndterer visning af information til brugeren, og controller håndterer datastrømmen mellem visningerne og modellerne. MVC-design bruges ofte sammen med objektorienteret programmering.

31. Definer en Algoritme

En algoritme er en sekvens af procedurer designet til at løse et specifikt problem. Disse procedurer er normalt opdelt i mindre trin, og computeren gør dem præcis på den måde hver gang.

Eksempler på algoritmer omfatter ansigtsgenkendelse, Google-søgning, måden du binder dine sko på, kodning eller kryptering af data og så videre.

32. Hvad er Machine Learning?

Machine learning eller ML er en sektion af kunstig intelligens, der fokuserer på at hjælpe systemer med at identificere mønstre og træffe beslutninger på egen hånd gennem forbrug af data.

Dette forbedrer derefter deres ydeevne eller effektivitet. Maskinlæringssystemer kan være overvågede, uovervågede og forstærkningsbaserede.

33. Hvad er regulære udtryk?

Et regulært udtryk eller Regex er en streng, der bruges til at definere søgemønstre i tekstdokumenter. Forskellige programmeringssprog implementerer regulære udtryk eller bruger populære regex-biblioteker. Et eksempel på regex for at matche alle tegn i en tekst er:

(.*)

mens følgende kun matcher mp3-filer:

.+\.(mp3)$

34. Hvad gør modulus (%)-operatøren?

Modulus-operatoren % tager to operander og deler den første operand ved hjælp af den anden. Det returnerer derefter resten af ​​operationen som et resultat.

Det bruges ofte til at teste ulige og lige tal ved at dividere ethvert heltal med 2, hvor et 0-resultat betyder et lige tal og 1 betyder et ulige tal.

35. Forklar Process Forking

Forking kommer fra gaffel() funktion i Unix- og Linux-systemer, der kan bruges af en kørende proces til at skabe en kopi af sig selv. Så procesforgrening er duplikeringen af ​​en proces for at skabe to lignende og samtidigt udførende processer.

En yderligere type forking refererer til at tage kildekoden til et open source-projekt og skabe et helt nyt program ud fra det.

36. Forklar Trådgydning

Thread spawning er processen med at oprette en ny CPU-tråd for at køre en proces. Spawning bruges ofte af computerintensive programmer til at udnytte en processors multi-threading-kapacitet, og dens succes afhænger af den CPU, den kører på, hvor mange kerner den har, og hvor mange tråde pr. kerne den tilbyder.

37. Hvad gør Reserverede Ord Betyde?

Reserverede ord er udtryk, som du ikke må bruge som identifikator i et programmeringssprog. Dette inkluderer funktioner, variabler og etiketter. De er reserverede, fordi de allerede er defineret og har specifikke betydninger.

38. Liste over populære reserverede ord

Forskellige sprog har forskellige reserverede ord baseret på deres syntaks. Her er de mest populære reserverede ord i programmering:

  1. IF
  2. TRUE
  3. FALSK
  4. SWITCH
  5. ELSE
  6. CASE
  7. BOOLESK
  8. RETURN
  9. FUNCTION
  10. BREAK
  11. GOTO

39. Hvad er en streng?

En streng er en sekvens af tegn, ofte holdt i et array og bruges til at definere tekstdata. Den mest populære streng er "hello world".

40. Hvad er en variabel?

En variabel er enhver værdi, der kan ændre sig under et programs udførelse. En variabel kan være af enhver datatype, inklusive strenge og heltal. For eksempel initialiseres et program som nedenfor:

int a = 0;

int b = 1;

Derefter foretages ændringer under udførelsen:

b = a+b; //b har varieret

41. Hvad er en konstant?

En konstant er en variabel, der ikke forventes at ændre sig under programafviklingen. Et godt eksempel er lysets eller lydens hastighed. Forskellige programmeringssprog giver dig mulighed for at definere konstanter på forskellige måder. For eksempel i C:

const float middle_c = 261.62; //midterste tangent c på et klaver er 261.6255 Hz

42. Definer et array

Et array er en type variabel, der bruges til at gemme flere værdier ad gangen. Mange sprog tillader dig kun at gemme værdier af lignende datatyper, mens andre sprog kan håndtere arrays med forskellige typer. Du kan også have multidimensionelle arrays, som er arrays af arrays og kan blive rodet.

At definere et array i mql4 er enkelt med:

streng TextArray[100]; //en række af hundrede strenge

43. Hvad er Funktion Overbelastning?

Funktionsoverbelastning er en metode, der giver en udvikler mulighed for at definere flere funktioner, der deler samme navn, men har forskellige funktionaliteter. Dette opnås ved at skabe de forskellige funktionsversioner med forskellige argumenter. Compileren ved så, hvilken funktion der kræves af typen og antallet af argumenter.

44. Definer en Ring efter reference

Et opkald ved reference er en metode til at overføre hukommelsesadressen for argumenter til en funktion, i modsætning til standardmetoden til at sende en kopi af argumentets værdi. Målet med referencekald er, at argumentet bliver direkte modificeret af funktionen.

45. Forklar Aritmetiske operatører

Disse er specialtegn, der fungerer til at udføre aritmetiske operationer i et programmeringssprog. Aritmetiske operatorer inkluderer:

  1. Tilføjelsen eller det unære plus (+)
  2. Subtraktion eller unær minus (-)
  3. Multiplikation (*)
  4. Division (/)
  5. Modulus (%).

46. Forklar logiske operatorer

Logiske operatorer er ord eller symboler, der bruges til at udføre operationer baseret på betinget logik. De fleste sprog har kun 3 logiske operatorer:

  1. AND (&& i C, C++, JavaScript)
  2. OR (|| i C, C++, JavaScript)
  3. IKKE (! i C, C++, JavaScript)

47. Logisk 1 OG 0 =?

En logisk 1 OG 0 operation vil give dig falsk fordi den anden operand er 0, og du har brug for, at begge operander af OG-operation er 1 eller TRUE for at få positivt output.

48. Logisk IKKE 1 =?

En logisk NOT 1 operation vil give dig falsk fordi NOT-operatoren negerer alt, hvad du giver den, hvilket betyder, at den forvandler 1 til 0 og 0 til 1. Så hvis du giver den en 1 eller TRUE operand, resulterer det i 0 eller FALSK.

49. Logisk 1 NAND 1 =?

En logisk 1 NAND 1 operation vil producere falsk fordi begge operander er SAND, og ​​NAND-operatoren altid negerer to ens input for at producere et modsat output.

Således, hvis operationen var 0 NAND 0, så ville outputtet være 1 eller TRUE.

50. Logisk 1 XOR 1 =?

En logisk 1 XOR 1 operation vil producere falsk fordi mens en normal ELLER-operation vil producere SAND på den ene eller begge indgange, der er SAND, producerer en XOR-operation (Eksklusiv ELLER) kun SAND, når kun den ene indgang og ikke den anden er SAND.

Konklusion

Vi er nået til slutningen af ​​denne liste over de 50 bedste programmeringsinterviewspørgsmål og deres svar. Og som du kan se, er programmeringsverdenen enorm, men spændende.

Ikke to interviews er ens. Så selvom denne liste peger dig i de rigtige emneretninger, bør du også prøve at få en bedre forståelse af hvert problem.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke er en computerentusiast, der elsker at læse en bred vifte af bøger. Han har en præference for Linux frem for Windows/Mac og har brugt
Ubuntu siden dens tidlige dage. Du kan fange ham på twitter via bongotrax

Artikler: 297

Modtag teknologiske ting

Tech trends, startup trends, anmeldelser, online indkomst, webværktøjer og markedsføring en eller to gange om måneden