Cele mai frecvente 25 de întrebări și răspunsuri la interviu C [Pentru cei în stare de proaspăt]

Publicat: 2020-12-18

C este un puternic limbaj de programare cu scop general, care acceptă paradigme procedurale, imperative și structurate. Este utilizat pentru dezvoltarea sistemelor de operare, baze de date și aplicații software pentru o gamă largă de arhitecturi de computer (PLC-uri, sisteme încorporate etc.). C este o limbă excelentă, prietenoasă pentru începători, cu o curbă de învățare ușoară.

Oricine aspiră să-și construiască o carieră în Dezvoltare software trebuie să stăpânească elementele de bază ale C. Odată ce ați învățat esențialul limbajului de programare C, veți fi gata să rezolvați interviul C!

În acest blog, vă vom prezenta câteva dintre cele mai frecvente întrebări de interviu C. De obicei, un interviu de angajare începe prin testarea cunoștințelor de bază ale subiectului (în acest caz, limbajul de programare C) și trece treptat la explorarea abilităților tale practice în domeniu.

Așadar, fără alte prelungiri, haideți să vedem cele 25 de întrebări cele mai frecvente la interviul C!

C Întrebări și răspunsuri la interviu

  1. Care sunt caracteristicile de bază ale lui C?

Limbajul de programare C este:

  • Nivel mediu – C combină cele mai bune caracteristici ale limbajelor de nivel scăzut și de nivel înalt pentru a crea un limbaj de programare de nivel mediu, rafinat.
  • Structurat – C este un limbaj structurat, ceea ce înseamnă că programele C sunt segmentate în mai multe părți.
  • Portabil - Odată ce ați scris un program în C, îl puteți rula pe orice mașină cu modificări minime sau fără modificări.
  • Rapid – C utilizează o gamă largă de tipuri de date și operatori, ceea ce îl face extrem de rapid și eficient.
  • Extensibil – C este foarte extensibil, deoarece se poate adapta fără probleme la noile funcții.
  • Gestionarea memoriei – C are o funcție de memorie încorporată care economisește memorie și îmbunătățește eficiența programului C.
  1. Ce tipuri de date acceptă C?

C are patru categorii de tipuri de date:

  • Tip de date de bază
  • Tip de date derivate
  • Tip de date enumerate
  • Tip de date nul
  1. Explicați „Dangling Pointer Variable” în limbajul C.

În programarea C, un pointer indică locația de memorie sau adresa unei variabile existente. Totuși, dacă acea variabilă este ștearsă și pointerul direcționează către aceeași locație de memorie, se numește Variabila indicatorului suspendat.

  1. Ce este un „Pointer pe Pointer?”

Un „Pointer pe pointer” se referă la o variabilă pointer care deține adresa unei alte variabile pointer. În esență, indicatorul dereferă de două ori pentru a indica datele conținute în variabila indicator desemnată.

  1. Definiți o „Matrice”.

O matrice este o structură de date care conține mai multe elemente ale aceluiași tip de date într-o manieră organizată. Matricele sunt de obicei de trei tipuri: unidimensionale, bidimensionale și tridimensionale.

  1. Ce este o variabilă statică? De ce sunt folosite variabilele statice în C?

O variabilă statică este una care este declarată de cuvântul cheie „Static”. O variabilă statică își păstrează valoarea între apeluri multiple de funcții.

Variabila statică este folosită ca valoare comună partajată de toate metodele și este inițializată o singură dată în memoria heap pentru a reduce utilizarea memoriei. În timp ce variabila statică este inițial inițializată la zero, dacă actualizați valoarea unei variabile, valoarea actualizată va fi atribuită.

  1. Definiți „sfera” unei variabile.

Sfera de aplicare a unei variabile se referă la partea de cod (funcție) în care este declarată variabila. În limbajul de programare C, toți identificatorii sunt fie static, fie lexical.

  1. Ce este alocarea dinamică a memoriei?

Alocarea dinamică a memoriei este procedura de alocare a memoriei programului C și variabilelor acestuia în timpul rulării. În timp ce malloc(), calloc() și realloc() alocă memorie, funcția free() eliberează spațiul de memorie utilizat.

Citiți : Întrebări și răspunsuri la interviu SQL

  1. Explicați diferența dintre funcțiile calloc() și malloc().

În C, atât calloc() cât și malloc() sunt funcții de alocare a memoriei care alocă memorie din zona heap (memorie dinamică). Diferența principală dintre cele două funcții de alocare a memoriei este că calloc() încarcă toate locațiile de memorie alocate cu valoarea 0, în timp ce malloc() nu.

  1. Explicați „Alocarea memoriei statice”.

Spre deosebire de Dynamic Memory Alocation care alocă memorie în timpul de execuție, Static Memory Alocation alocă memoria în timpul compilării. Alocarea statică a memoriei nu vă permite să creșteți alocarea memoriei în timp ce programul C este executat. Puteți implementa memoria statică folosind stive/heap și aloca memoria folosind cuvântul cheie „Static”. În general, alocarea memoriei statice necesită mai mult spațiu de memorie pentru a stoca variabile decât alocarea dinamică a memoriei.

  1. Numiți niște jetoane C?

Un Token este un identificator. Este de obicei cea mai mică unitate dintr-un program C. Constanțele, șirurile de caractere, cuvintele cheie, operatorii, identificatorii și caracterele speciale sunt câteva simboluri C utilizate în scrierea programelor C.

  1. Se va compila sau se va executa un cod C fără o funcție main()?

În absența unei funcții main(), programul C va compila în loc să se execute, deoarece funcția main() este obligatorie pentru a rula orice program C.

  1. Definiți o „structură imbricată”.

O structură imbricată este creată atunci când un element sau un membru de date al unei funcții conține un membru de date al unei alte structuri.

  1. Distingeți parametrii actuali și formali.

Parametrii actuali sunt trimiși de la funcția primară la funcția subdivizată, iar parametrii declarați ca funcție Subdivizată sunt cunoscuți ca parametri formali.

  1. Ce este o directivă de preprocesor?

O directivă de preprocesor este o funcție predefinită încorporată care funcționează ca o directivă pentru compilator pentru a îndeplini sarcini specifice înainte de începerea procesului de compilare. Astfel, o directivă de preprocesor este întotdeauna executată înainte ca un program C să fie executat.

  1. Definiți „Argumentele liniei de comandă”.

Argumentele transmise funcției main() în timpul execuției unui program C sunt cunoscute sub numele de Argumente de linie de comandă. Primul argument denotă numărul de argumente și este actualizat automat de sistemul de operare. Al doilea argument (o matrice de pointeri de caractere) conține întotdeauna șiruri de caractere ca parametri.

  1. Cum puteți atribui parametrii funcțiilor?

Există două moduri de a atribui parametrii funcțiilor:

  • Apel după valoare – Această metodă este aleasă doar atunci când nu doriți să modificați parametrii actuali cu parametri formali, deci trimiteți doar o copie a valorilor ca parametri către funcții.
  • Apel prin referință – În această abordare, trimiteți adresa parametrilor actuali pentru a le modifica folosind parametri formali.

Verificați: Întrebări complete pentru interviul pentru dezvoltatori

  1. Ce este o „Unire” în C?

În C, o Uniune este un tip de date definit de utilizator care poate stoca mai multe tipuri de date într-o singură unitate. Conține doar memoria celui mai mare membru în loc de memoria totală a tuturor membrilor. Întrucât o Uniune alocă un spațiu comun pentru toți membrii unei uniuni, puteți accesa doar o variabilă odată într-o Uniune.

  1. Explicați „recursiune”.

Recursiunea este atunci când o funcție se autoapelează, iar funcția care se autoapelează este cunoscută ca o funcție recursivă. O funcție recursivă are loc în două etape:

  • Faza de înfășurare – Când o funcție recursivă se autoapelează și îndeplinește condiția dorită, faza de înfășurare se termină.
  • Faza de derulare – Odată atinsă faza de înfășurare, faza de derulare începe prin readucerea controlului la apelul inițial.
  1. Cum se declară o funcție în C?

Puteți declara o funcție în C astfel:

return_type function_name(lista de parametri formali)

{

Funcție_Corp;

}

  1. Ce face funcția sprintf()?

Funcția sprintf() este folosită pentru a imprima șiruri. Preia numărul total de caractere dintr-un șir. Această funcție transferă datele în buffer și, prin urmare, nu tipărește rezultatul pe ecran. Sintaxa funcției sprintf() este:

int sprintf ( char * str, const char * format, … );

  1. Distingeți între funcțiile getch() și getche()?

Într-un program C, funcția getch() citește un singur caracter din cuvântul cheie. Deoarece folosește orice buffer, nu va afișa pe ecran datele pe care le introduceți. Dimpotrivă, în timp ce funcția getche() citește și un singur caracter din cuvântul cheie, ea arată datele pe ecran.

  1. Ce este „Rvalue” și „Ivalue”?

Rvalue este expresia care se află în partea dreaptă a operatorului de atribuire. Este atribuit valorii I care se află pe operatorul de atribuire. Valoarea l trebuie să se refere doar la o variabilă și nu la o constantă.

  1. Denumiți diferiții specificatori de clasă de stocare în C.

În C, există patru specificatori de stocare:

  • Auto
  • Static
  • Inregistreaza-te
  • Extern
  1. Există vreo diferență între declararea unui fișier antet cu” „și < >?

Dacă declarați un fișier antet folosind „”, compilatorul caută fișierul antet în directorul de lucru curent, iar dacă nu găsește fișierul acolo, verifică alte locații pentru a găsi fișierul antet. Cu toate acestea, dacă declarați fișierul antet folosind < >, compilatorul caută fișierul urmând calea încorporată.

Consultați: 15 sfaturi pentru interviu pentru a ieși în evidență în interviul dvs. de angajare

Înscrieți-vă la cursurile de inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Așadar, iată: 25 de întrebări și răspunsuri la interviu C pentru a vă ajuta să vă pregătiți pentru următorul interviu de angajare. Deși aceste întrebări doar zgârie suprafața programării C, sperăm că ele vă vor oferi o idee despre ceea ce puteți aștepta cu nerăbdare în interviurile C!

Dacă sunteți interesat să aflați mai multe despre dezvoltarea de software full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea de software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Deveniți un dezvoltator Full Stack

Aplicați acum pentru masterat în inginerie software