Topp 50 måste-känna programmeringsintervjufrågor och svar

Letar du efter de bästa programmeringsfrågorna och svaren som hjälper dig att klara en intervju? Här är de 50 bästa.

Mjukvaruföretag är alltid på jakt efter bra programmeringstalanger, med telefon- och onlineintervjuer som ofta avgör ditt öde på bara några minuter.

En bra programmerare måste vara så mångsidig som möjligt – från systemförståelse till allmän programmering, olika koncept och teknologier, samt vara uppdaterad.

Följande är en lista över 50 populäraste programmeringsintervjufrågor och deras svar. De kastar ljus över de olika koncepten som varje nybörjare måste känna till för att briljera.

Innehållsförteckning dölja

1. Vad är datorprogrammering?

Datorprogrammering är processen att koda logiska processer som ska exekveras av en dator. Detta görs genom att använda ett datorspråk som innehåller nödvändiga instruktioner.

Processen kan ytterligare delas in i design, kodning, felsökning och uppdatering.

2. Vad är felsökning?

Felsökning är processen att upptäcka och eliminera fel i ett datorprograms programvarukälla. Det finns många metoder för att göra detta, men de flesta utvecklingsmiljöer kommer med en integrerad debugger för att göra saker enklare.

3. Vad är en kompilator?

En kompilator är ett program som tar det skrivna programmet och omvandlar det till maskinkod som en dator kan förstå.

Ett typiskt kompilatorpaket består dock av en förprocessor, huvudkompilatorn som förvandlar datorspråket till assemblerkod, och en assembler.

4. Vad är en förprocessor?

En förprocessor är ett program som analyserar den skrivna datorkoden för att hitta och tillfredsställa dess beroenden, såsom nödvändiga bibliotek.

Efter att förprocessorn säkerställt att allt, inklusive exekveringsmiljön, är okej, kan en kompilator sedan konvertera koden till assemblerkod.

5. Vad är en Assembler?

En assembler är ett program som tar den lägsta nivån av mänskligt läsbar datorkod som kallas assemblerspråk och omvandlar den till maskinkoden som en dator kan arbeta med.

Assembly språk matas vanligtvis ut av en kompilator även om man också kan koda direkt. Ett monteringsprogram kan innehålla kod som:

MOV AH, 02H

men när du kompilerar det till maskinkod får du bara nollor och ettor (t.ex. 0110011110101010).

6. Hur körs ett program?

Först laddar operativsystemet det specificerade programmet från hårddisklagringen till systemminnet (RAM) och låter det sedan köras genom att styra CPU:n att fortsätta körningen från programmets första minnesadress. CPU:n utför alla kommandon som den ser och flyttar sedan till nästa, och upprepar ofta denna procedur miljontals gånger per sekund.

32-bitars processorer exekverar 32-bitars (4-byte, dubbla ord) instruktioner på en gång, medan 64-bitars processorer kör 64-bitars (8-byte, quad-ord) instruktioner på en gång. Dessa instruktioner är inbyggda i CPU:n och det är assemblern som omvandlar programmeringskoden till de binära talen som representerar de inbyggda CPU-kommandoadresserna.

7. Definiera en subrutin

En subrutin är en sekvens av instruktioner i ett program som kan anropas och exekveras när som helst. Med andra ord kan en subrutin vara en funktion, en metod eller en procedur som används för att implementera en specifik uppgift som att skicka ett e-postmeddelande, öppna en fil eller brute-force en inloggningssida.

8. Definiera Maskinkod

Maskinkod är en sekvens av binära tal som innehåller exekveringsinstruktioner för en specifik mikroprocessor och dess tillhörande minnesadresser.

Maskinkod matas traditionellt ut av en assembler som är designad för just den familjen av mikroprocessorer.

9. Förklara Sammanställda vs tolkade språk

Ett kompilerat datorspråk måste omvandlas till maskinkod innan det körs på en dator, medan ett tolkat språk inte behöver kompileras i förväg.

När du kör ett tolkat program bearbetas det först av en tolk, som sedan kompilerar och kör det i farten. Dessa extra steg gör tolkade språk som Python långsammare än kompilerade språk som C.

10. Vad är en loop?

En loop är en kodstruktur som kan upprepa specifika satser tills ett specificerat kriterium uppnås. Detta kriterium kan inkludera ett fast antal repetitioner eller ändring av en definierad variabel.

11. Lista populära typer av loopar

Olika datorspråk kommer att tolka loopar på olika sätt. Populära C-family loop-typer inkluderar dock:

  1. While() Loop – det tillåter exekvering av specifik kod, så länge som en boolesk kod medan() villkoret är uppfyllt.
    Till exempel while(2>1){print(“yahoo!”)};.
  2. För(;;) Slinga – innehåller tre uttryck (initiering; utvärdering; uppdatera) som definierar villkoren att testa för, samt en flexibel metod för att öka antalet. Den kommer också att köra kod minst en gång.
  3. Gör{} While() Loop – denna typ av loop kör do{} kod minst en gång innan du avgör om medan() villkoret är fortfarande sant.

12. Förklara iteration vs Rekursion

En iteration är användningen av en loop för att exekvera samma kodsteg, medan rekursion är processen där en funktion anropar sig själv om och om igen. Problemet med rekursion är dock att du bara kan komma till ett visst djup tills du stöter på minnesproblem.

13. Förklara jobben för Bryt och fortsätt i en slinga

A bryta satsen avslutar exekveringen av en loop och fortsätter att exekvera resten av datorkoden. A fortsätta statement, å andra sidan, fortsätter att iterera loopen från början.

14. Vad är OOP?

OOP står för Object Oriented Programming och det är ett programmeringsparadigm som implementerar mjukvarudesign kring data och objekt, snarare än kring funktioner eller procedurer.

15. Vad är procedurprogrammering?

Procedurprogrammering är ett programmeringsparadigm som organiserar datorkod runt sekvenserna eller stegen av instruktioner som ska exekveras. Som namnet antyder är det ett uppifrån och ned-tillvägagångssätt som börjar koden från den inledande fasen av händelser och slutar med det förväntade slutet av händelser.

16. Förklara funktionell programmering

Funktionell programmering är ett datorprogrammeringsparadigm som närmar sig mjukvaruutveckling genom att tillämpa sekventiella funktioner som varken muterar tillstånd eller data för angivna argument.

Målet är att skapa mer robusta program som ger förväntade resultat utan oförutsedda biverkningar.

17. Förklara Språk på hög nivå

Ett programmeringsspråk på hög nivå är ett datorspråk som tilltalar mer mänsklig förståelse än till datorns särdrag eller natur.

Programmeringsspråk på hög nivå som C och Python är lätta att förstå, medan ett assemblerspråk på låg nivå kan vara mycket förvirrande för nybörjare.

18. Lista Populär Lågnivåspråk

Det finns bara två lågnivåprogrammeringsspråk: montering och maskinkod.

19. Definiera en SQL Injection Attack

En SQL-injektionsattack är en process för att mata in SQL-satser i inmatningsfält som användarnamn eller adressinmatningar, i hopp om att en utvecklare inte sanerade ingångarna ordentligt under programmeringen. Och när den lyckas, gör en sådan attack det möjligt för angriparen att få administratörsåtkomst till servern.

20. Vad är en tabell i SQL?

En tabell i SQL hänvisar till en samling data som är grupperade i kolumner och rader. Varje kolumn har en distinkt datatyp och du kan ha flera tabeller i en enda databas. Du kan också fråga mer än en tabell samtidigt.

Du skapar en tabell med:

CREATE TABLE tabellnamn(kolumn1 datatyp, kolumn2 datatyp, kolumn3 datatyp, …);

21. Förklara skillnaden mellan ett objekt och en klass

Ett objekt är en instans av en klass, medan en klass är en ritning från vilken ett objekt skapas. Ett objekt kan ha tillstånd och egenskaper, såsom färg, höjd, vikt, hastighet och så vidare.

Dessa egenskaper måste åtminstone definieras eller initieras med standardvärden.

22. Hur många bitar gör en megabyte?

Det finns 8,000,000 1 8 bitar i 10 megabyte eftersom en byte är XNUMX bitar och en mega är XNUMX6.

23. Definiera en flytande datatyp

En float är en datatyp som representerar ett tal med decimalbråk. Det används i situationer där en högre precisionsnivå behövs än vad standardheltal kan ge. Ett exempel på en flöte är:

0.013 

or 

25.932

24. Vad står HexaDecimal 0xFF för?

0xFF står för decimal 255 eller binär 11111111. 0x står för base16 eller hexadecimal notation, som går från 1 till 9 och sedan fortsätter med A till F för att representera 15. Så, 0xF är decimal 15, medan 0xFF är decimal 255.

25. Namnge typer av fel i programmering

Det finns tre huvudtyper av fel i ett datorprogram, de är:

  1. Syntaxfel
  2. Logiskt fel
  3. Runtime Error

26. Vad är ett syntaxfel?

Ett syntaxfel uppstår när det finns en avvikelse från den ofta strikta syntaxen för programmeringsspråk. Det kan bero på att bokstäverna enkelt förskjuts till fel parametrar som skickas till en funktion. De flesta kompilatorer kommer att inkludera källkodens radnummer där felet inträffade.

27. Vad är ett logiskt fel?

Ett logiskt fel är ett fel som uppstår från hur ett program fungerar. Så även om programmet kan köras felfritt, lyckas det inte uppnå sitt syfte. Logiska fel kan uppstå på många sätt och orsakas av många orsaker.

28. Vad är ett Runtime Error?

Ett runtime error är ett datorprogramfel som uppstår under körningen av programmet och på grund av oförutsedda omständigheter. Så även om programmet fungerar felfritt, kan till exempel minnes- och nätverksproblem orsaka att programmet inte beter sig.

29. Förklara Starka vs svagt skrivna språk

Ett starkt skrivet språk är strikt när det gäller sina olika datatyper och hur du kan konvertera dem, medan ett svagt skrivet språk sätter färre begränsningar för datatyper och deras definitioner.

Många svagt skrivna språk konverterar datatyper automatiskt, medan starkt skrivna språk ofta kräver explicita konverteringar.

30. Vad är MVC-arkitektur?

MVC hänvisar till Model-View-Controller och är ett mjukvaruutvecklingsmönster för användargränssnitt. Den delar upp programlogiken i 3 delar.

Ocuco-landskapet modell del hanterar den underliggande datalogiken för objekten i fråga, medan se hanterar visningen av information för användaren, och styrenhet hanterar dataflödet mellan vyerna och modellerna. MVC-design används ofta med objektorienterad programmering.

31. Definiera en Algoritm

En algoritm är en sekvens av procedurer utformade för att lösa ett specifikt problem. Dessa procedurer är vanligtvis uppdelade i mindre steg och datorn gör dem exakt så varje gång.

Exempel på algoritmer inkluderar ansiktsigenkänning, Google-sökning, hur du knyter skorna, kodning eller kryptering av data och så vidare.

32. Vad är Maskininlärning?

Machine learning eller ML är en del av artificiell intelligens som fokuserar på att hjälpa system att identifiera mönster och fatta beslut på egen hand genom konsumtion av data.

Detta förbättrar sedan deras prestanda eller effektivitet. Maskininlärningssystem kan vara övervakade, oövervakade och förstärkningsbaserade.

33. Vad är Reguljära uttryck?

Ett reguljärt uttryck eller Regex är en sträng som används för att definiera sökmönster i textdokument. Olika programmeringsspråk implementerar reguljära uttryck eller använder populära regex-bibliotek. Ett exempel på regex för att matcha alla tecken i en text är:

(.*)

medan följande endast matchar mp3-filer:

.+\.(mp3)$

34. Vad gör moduloperatören (%)?

Moduloperatorn % tar två operander och delar den första operanden med den andra. Den returnerar sedan återstoden av operationen som ett resultat.

Det används ofta för att testa udda och jämna tal genom att dividera ett heltal med 2, där ett 0-resultat betyder ett jämnt tal och 1 betyder ett udda tal.

35. Förklara Process Forking

Forking kommer från gaffel() funktion i Unix- och Linux-system som kan användas av en pågående process för att skapa en kopia av sig själv. Så processforking är dupliceringen av en process för att skapa två liknande och samtidigt exekverande processer.

En ytterligare typ av forking hänvisar till att ta källkoden för ett projekt med öppen källkod och skapa ett helt nytt program från det.

36. Förklara Trådlek

Thread spawning är processen att skapa en ny CPU-tråd för att köra en process. Spawning används ofta av beräkningsintensiva program för att utnyttja en processors multi-threading-kapacitet och dess framgång beror på CPU den körs på, hur många kärnor den har och hur många trådar per kärna den erbjuder.

37. Vad gör Reserverade ord Betyda?

Reserverade ord är termer som du inte får använda som identifierare i ett programmeringsspråk. Detta inkluderar funktioner, variabler och etiketter. De är reserverade eftersom de redan har definierats och har specifika betydelser.

38. Lista populära reserverade ord

Olika språk har olika reserverade ord baserat på deras syntax. Här är de mest populära reserverade orden inom programmering:

  1. IF
  2. SANN
  3. FALSK
  4. KONTAKT
  5. ANNARS
  6. CASE
  7. BOOLEAN
  8. ÅNGERRÄTT & RETURER
  9. FUNGERA
  10. BRYTA
  11. GOTO

39. Vad är en sträng?

En sträng är en sekvens av tecken som ofta hålls i en array och används för att definiera textdata. Den mest populära strängen är "hej världen".

40. Vad är en variabel?

En variabel är vilket värde som helst som kan ändras under ett programs körning. En variabel kan vara av vilken datatyp som helst, inklusive strängar och heltal. Till exempel initieras ett program enligt nedan:

int a = 0;

int b = 1;

sedan görs ändringar under körningen:

b = a+b; //b har varierat

41. Vad är en konstant?

En konstant är en variabel som inte förväntas förändras under programexekveringen. Ett bra exempel är ljusets eller ljudets hastighet. Olika programmeringsspråk låter dig definiera konstanter på olika sätt. Till exempel, i C:

const float middle_c = 261.62; //mittentangent c på ett piano är 261.6255 Hz

42. Definiera en Array

En array är en typ av variabel som används för att lagra flera värden samtidigt. Många språk låter dig endast lagra värden av liknande datatyper, medan andra språk kan hantera arrayer med olika typer. Du kan också ha flerdimensionella arrayer, som är arrayer av arrayer och kan bli röriga.

Att definiera en array i mql4 är enkelt med:

sträng TextArray[100]; //en uppsättning hundra strängar

43. Vad är Funktion Överbelastning?

Funktionsöverbelastning är en metod som gör att en utvecklare kan definiera flera funktioner som delar samma namn men har olika funktionalitet. Detta uppnås genom att skapa de olika funktionsversionerna med olika argument. Kompilatorn vet då vilken funktion som behövs av typen och antalet argument som tillhandahålls.

44. Definiera en Ring efter referens

Ett anrop genom referens är en metod för att skicka minnesadressen för argument till en funktion, till skillnad från standardmetoden för att skicka en kopia av argumentets värde. Målet med referensanrop är att argumentet modifieras direkt av funktionen.

45. Förklara Aritmetiska operatörer

Dessa är specialtecken som fungerar för att utföra aritmetiska operationer i ett programmeringsspråk. Aritmetiska operatorer inkluderar:

  1. Tillägget eller unärt plus (+)
  2. Subtraktion eller unär minus (-)
  3. Multiplikation (*)
  4. Division (/)
  5. Modul (%).

46. Förklara logiska operatorer

Logiska operatorer är ord eller symboler som används för att utföra operationer baserade på villkorlig logik. De flesta språk har bara 3 logiska operatorer:

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

47. Logisk 1 OCH 0 =?

En logisk 1 OCH 0 operation ger dig falsk eftersom den andra operanden är 0 och du behöver båda operanderna för AND-operationen vara 1 eller TRUE för att få positiv utdata.

48. Logisk INTE 1 =?

En logisk NOT 1 operation ger dig falsk eftersom NOT-operatorn negerar allt du ger den, vilket betyder att den förvandlar 1 till 0 och 0 till 1. Så om du ger den en 1 eller TRUE operand resulterar det i 0 eller FALSE.

49. Logisk 1 NAND 1 =?

En logisk 1 NAND 1 operation kommer att producera falsk eftersom båda operanderna är TRUE och NAND-operatorn alltid negerar två liknande ingångar för att producera en motsatt utdata.

Alltså, om operationen var 0 NAND 0, då skulle utgången vara 1 eller TRUE.

50. Logisk 1 XOR 1 =?

En logisk 1 XOR 1 operation kommer att producera falsk för medan en normal ELLER-operation kommer att producera TRUE på en eller båda ingångarna som är TRUE, producerar en XOR (Exklusiv ELLER)-operation bara TRUE när endast en ingång och inte den andra är TRUE.

Slutsats

Vi har nått slutet av den här listan över de 50 bästa frågorna om programmeringsintervjuer och deras svar. Och som du kan se är programmeringsvärlden enorm men spännande.

Ingen intervju är den andra lik. Så även om den här listan pekar dig i rätt ämnesriktning, bör du också försöka få en bättre förståelse för varje fråga.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke är en datorentusiast som älskar att läsa ett brett utbud av böcker. Han har en preferens för Linux framför Windows/Mac och har använt
Ubuntu sedan dess tidiga dagar. Du kan fånga honom på twitter via bongotrax

Artiklar: 299

Ta emot tekniska prylar

Tekniska trender, uppstartstrender, recensioner, onlineintäkter, webbverktyg och marknadsföring en eller två gånger i månaden