Top 50 de întrebări și răspunsuri la interviu OOP (2025)

Iată întrebările și răspunsurile la interviu OOP pentru candidații mai proaspeți și cu experiență care să obțină jobul visat.

1) Ce este OOPS?

OOPS este abreviat ca sistem de programare orientată pe obiecte în care programele sunt considerate ca o colecție de obiecte. Fiecare obiect nu este altceva decât o instanță a unei clase.


2) Scrieți conceptele de bază ale OOPS?

Următoarele sunt conceptele OOPS:

  1. abstracțiune
  2. încapsularea
  3. Moştenire
  4. polimorfismul

Descărcare PDF gratuită: Întrebări și răspunsuri la interviu OOP


3) Ce este o clasă?

O clasă este pur și simplu o reprezentare a unui tip de obiect. Este planul/planul/șablonul care descrie detaliile unui obiect.


4) Ce este un obiect?

Un obiect este o instanță a unei clase. Are propria stare, comportament și identitate.


5) Ce este încapsularea?

Încapsularea este un atribut al unui obiect și conține toate datele care sunt ascunse. Aceste date ascunse pot fi limitate la membrii clasei respective.

Nivelurile sunt Public, Protejat, Privat, Intern și Intern protejat.


6) Ce este polimorfismul?

Polimorfismul nu este altceva decât atribuirea unui comportament sau valoare într-o subclasă unui lucru care a fost deja declarat în clasa principală. Pur și simplu, polimorfismul ia mai multe forme.

Întrebări de interviu OOP
Întrebări de interviu OOP

7) Ce este moștenirea?

Moștenirea este un concept în care o clasă împărtășește structura și comportamentul definit într-o altă clasă. Dacă Moștenirea aplicată unei clase se numește Moștenire unică, iar dacă depinde de mai multe clase, atunci se numește Moștenire multiplă.


8) Ce sunt manipulatorii?

Manipulatoarele sunt funcțiile care pot fi utilizate împreună cu operatorii de inserare (<<) și extracție (>>) pe un obiect. Exemplele sunt endl și setw.


9) Explicați termenul constructor

Un constructor este o metodă folosită pentru a inițializa starea unui obiect și este invocată în momentul creării obiectului. Regulile pentru constructor sunt:

  • Numele constructorului ar trebui să fie același cu numele unei clase.
  • Un constructor nu trebuie să aibă un tip de returnare.

10) Definiți Destructor?

Un destructor este o metodă care este apelată automat atunci când obiectul este făcut din scop sau este distrus. Numele destructorului este, de asemenea, același cu numele clasei, dar cu simbolul tilde înaintea numelui.


11) Ce este o funcție Inline?

O funcție inline este o tehnică utilizată de compilatori și indică inserarea întregului corp al funcției oriunde acea funcție este utilizată în codul sursă al programului.


12) Ce este o funcție virtuală?

O funcție virtuală este o funcție membră a unei clase, iar funcționalitatea acesteia poate fi suprascrisă în clasa sa derivată. Această funcție poate fi implementată folosind un cuvânt cheie numit virtual și poate fi dată în timpul declarației funcției.

O funcție virtuală poate fi declarată folosind un simbol (virtual) în C++. Poate fi realizat în limbajul C/Python prin folosirea de pointeri de funcție sau pointeri pentru a funcționa.


13) Ce este o funcție prieten?

O funcție prieten este un prieten al unei clase căruia îi este permis accesul la date publice, private sau protejate din aceeași clasă. Dacă funcția este definită în afara clasei, nu poate accesa astfel de informații.

Un prieten poate fi declarat oriunde în declarația de clasă și nu poate fi afectat de cuvinte cheie pentru controlul accesului, cum ar fi privat, public sau protejat.


14) Ce este supraîncărcarea funcției?

Supraîncărcarea funcției este o funcție obișnuită, dar este atribuită cu mai mulți parametri. Permite crearea mai multor metode cu același nume, care diferă unele de altele prin tipul de intrare și de ieșire al funcției.

Exemplu

void add(int& a, int& b);

void add(double& a, double& b);

void add(struct bob& a, struct bob& b);


15) Ce este supraîncărcarea operatorului?

Supraîncărcarea operatorului este o funcție în care se aplică diferiți operatori și depinde de argumente. Operator,-,* poate fi folosit pentru a trece prin funcția și are propria sa prioritate de executat


16) Ce este o clasă abstractă?

O clasă abstractă este o clasă care nu poate fi instanțiată. Crearea unui obiect nu este posibilă cu o clasă abstractă, dar poate fi moștenită. O clasă abstractă poate conține doar o metodă abstractă. Java permite numai metoda abstractă în clasa abstractă, în timp ce alte limbi permit și metoda non-abstractă.


17) Ce este un operator ternar?

Se spune că operatorul ternar este un operator care ia trei argumente. Argumentele și rezultatele sunt de diferite tipuri de date și depinde de funcție. Operatorul ternar se mai numește și operator condiționat.


18) La ce folosește metoda finalize?

Metoda Finalize ajută la efectuarea operațiunilor de curățare a resurselor care nu sunt utilizate în prezent. Metoda Finalize este protejată și este accesibilă numai prin această clasă sau printr-o clasă derivată.


19) Care sunt diferitele tipuri de argumente?

Un parametru este o variabilă utilizată în timpul declarației funcției sau subrutinei, iar argumentele sunt transmise corpului funcției și ar trebui să se potrivească cu parametrul definit. Există două tipuri de argumente.

  • Apel după valoare – Valoarea transmisă va fi modificată numai în interiorul funcției și returnează aceeași valoare, indiferent de ce este transmisă în funcție.
  • Apel prin referință – Valoarea transmisă va fi modificată atât în ​​interiorul cât și în afara funcțiilor și returnează aceeași valoare sau o valoare diferită.

20) Care este cuvântul cheie super?

Cuvântul cheie super este folosit pentru a invoca metoda suprascrisă, care înlocuiește una dintre metodele sale superclase. Acest cuvânt cheie permite accesarea metodelor suprascrise și, de asemenea, accesarea membrilor ascunși ai superclasei.

De asemenea, transmite un apel de la un constructor către un constructor din superclasă.


21) Ce este anularea metodei?

Suprascrierea metodei este o caracteristică care permite unei subclase să ofere implementarea unei metode care suprascrie în clasa principală. Va suprascrie implementarea în superclasă, furnizând același nume de metodă, același parametru și același tip de returnare.


22) Ce este o interfață?

O interfață este o colecție de metode abstracte. Dacă clasa implementează o interfață, ea moștenește astfel toate metodele abstracte ale unei interfețe.

Java folosește Interfața pentru a implementa moșteniri multiple.


23) Ce este gestionarea excepțiilor?

O excepție este un eveniment care are loc în timpul execuției unui program. Excepțiile pot fi de orice tip – excepție de rulare, excepții de eroare. Aceste excepții sunt gestionate în mod adecvat prin mecanismul de gestionare a excepțiilor, cum ar fi cuvintele cheie încercați, prindeți și aruncați.


24) Ce sunt jetoanele?

Un compilator recunoaște un token și nu poate fi împărțit în elemente componente. Cuvintele cheie, identificatorii, constantele, literalele șir și operatorii sunt exemple de jetoane.

Chiar și caracterele de punctuație sunt considerate și simboluri. Exemplu: paranteze, virgule, acolade și paranteze.


25) Care este principala diferență dintre supraîncărcare și suprasolicitare?

Supraîncărcarea este Legarea statică, în timp ce Suprascrierea este Legarea dinamică. Supraîncărcarea nu este altceva decât aceeași metodă cu argumente diferite și poate returna sau nu valoarea egală în aceeași clasă.

Suprascrierea este aceleași nume de metode cu aceleași argumente și tipuri de returnare asociate clasei și clasei sale fii.


26) Care este principala diferență dintre o clasă și un obiect?

Un obiect este o instanță a unei clase. Obiectele dețin mai multe informații, dar clasele nu au nicio informație. Definirea proprietăților și funcțiilor se poate face în clasă și poate fi folosită de obiect.

O clasă poate avea sub-clase, în timp ce un obiect nu are sub-obiecte.


27) Ce este o abstractizare?

Abstracția este o caracteristică utilă a OOPS și arată doar detaliile necesare clientului unui obiect. Adică, arată doar detaliile necesare pentru un obiect, nu constructorii interiori ai unui obiect. Exemplu – Când doriți să porniți televizorul, nu este necesar să cunoașteți circuitul/mecanismul interior necesar pentru a porni televizorul. Orice este necesar pentru a porni televizorul va fi afișat folosind o clasă abstractă.


28) Care sunt modificatorii de acces?

Modificatorii de acces determină domeniul de aplicare al metodei sau variabilelor care pot fi accesate din alte obiecte sau clase diferite. Există cinci tipuri de modificatori de acces și sunt după cum urmează:

  • Privat
  • Protejat
  • Public
  • Prieten
  • Prieten protejat

29) Ce sunt modificatorii sigilați?

Modificatorii sigilați sunt modificatorii de acces unde metodele nu-i pot moșteni. Modificatorii sigilați pot fi aplicați și proprietăților, evenimentelor și metodelor. Acest modificator nu poate fi folosit pentru membrii statici.


30) Cum putem apela metoda de bază fără a crea o instanță?

Da, este posibil să apelați metoda de bază fără a crea o instanță. Și acea metodă ar trebui să fie „metoda statică”.

Moștenire de la acea clasă.-Utilizați cuvântul cheie de bază dintr-o clasă derivată.


31) Care este diferența dintre new și override?

Noul modificator indică compilatorului să folosească noua implementare în loc de funcția de clasă de bază. În timp ce modificatorul Override ajută la suprascrierea funcției clasei de bază.


32) Care sunt diferitele tipuri de constructori?

Există trei tipuri de constructori:

– Constructor implicit – Fără parametri.

– Constructor parametric – Cu parametri. Creează o nouă instanță a unei clase și transmite simultan argumente.

– Constructor de copiere – care creează un obiect nou ca copie a unui obiect existent.


33) Ce este legarea timpurie și târzie?

Legarea timpurie se referă la alocarea de valori variabilelor în timpul proiectării, în timp ce legarea târzie se referă la alocarea de valori variabilelor în timpul executării.


34) Ce este „acest” indicator?

ACEST pointer se referă la obiectul curent al unei clase. ACEST cuvânt cheie este folosit ca indicator care face diferența între obiectul curent și obiectul global. Se referă la obiectul curent.


35) Care este diferența dintre structură și o clasă?

Tipul de acces implicit al unei Structuri este public, dar tipul de acces la clasă este privat. O structură este utilizată pentru gruparea datelor, în timp ce o clasă poate fi folosită pentru gruparea datelor și metodelor. Structurile sunt folosite exclusiv pentru date și nu necesită validare strictă, dar clasele sunt folosite pentru a încapsula și date inerente, ceea ce necesită o validare strictă.


36) Care este modificatorul de acces implicit într-o clasă?

Modificatorul de acces implicit al unei clase este Intern, iar modificatorul de acces implicit al unui membru al clasei este Privat.


37) Ce este o funcție virtuală pură?

O funcție virtuală pură este o funcție care poate fi suprascrisă în clasa derivată, dar nu poate fi definită. O funcție virtuală poate fi declarată pură folosind operatorul =0.

Exemplu -

Virtual void function1() // Virtual, Not pure

Virtual void function2() = 0 //Pure virtual


38) Care sunt toți operatorii care nu pot fi supraîncărcați?

Următoarele sunt operatorii care nu pot fi supraîncărcați -.

  1. Rezoluția domeniului (::)
  2. Selectarea membrilor (.)
  3. Selectarea membrilor printr-un pointer către funcție (.*)

39) Ce este polimorfismul dinamic sau de rulare?

Polimorfismul dinamic sau în timp de execuție este cunoscut și sub numele de suprascriere a metodei în care apelul la o funcție suprascrisă este rezolvat în timpul rulării, nu în timpul compilării. Înseamnă a avea două sau mai multe metode cu același nume, aceeași semnătură, dar cu implementare diferită.


40) Avem nevoie de un parametru pentru constructori?

Nu, nu avem nevoie de un parametru pentru constructori.


41) Ce este un constructor de copiere?

Acesta este un constructor special pentru crearea unui obiect nou ca o copie a unui obiect existent. Va exista întotdeauna un singur constructor de copie care poate fi definit fie de utilizator, fie de sistem.


42) Ce reprezintă cuvântul cheie virtual în definiția metodei?

Înseamnă că putem trece peste metoda.


43) Dacă metoda statică poate folosi membri nestatici?

Fals.


44) Ce sunt o clasă de bază, o subclasă și o superclasă?

Clasa de bază este cea mai generalizată clasă și se spune că este o clasă rădăcină.

O subclasă este o clasă care moștenește de la una sau mai multe clase de bază.

Superclasa este clasa părinte de la care moștenește o altă clasă.


45) Ce este legarea statică și dinamică?

Legarea nu este altceva decât asocierea unui nume cu clasa. Legarea statică este o legare în care numele poate fi asociat cu clasa în timpul compilării și este, de asemenea, numită Legare timpurie.

Dynamic Binding este o legare în care numele poate fi asociat cu clasa în timpul execuției și este, de asemenea, numită Late Binding.


46) Câte instanțe pot fi create pentru o clasă abstractă?

Nu vor fi create instanțe pentru o clasă abstractă. Cu alte cuvinte, nu puteți crea o instanță a unei clase abstracte.


47) Ce cuvânt cheie poate fi folosit pentru supraîncărcare?

Cuvântul cheie operator este folosit pentru supraîncărcare.


48) Care este specificatorul de acces implicit într-o definiție de clasă?

Specificatorul de acces privat este utilizat într-o definiție de clasă.


49) Ce concept OOPS este folosit ca mecanism de reutilizare?

Moștenirea este conceptul OOPS care poate fi folosit ca mecanism de reutilizare.


50) Care concept OOPS expune doar informațiile necesare funcțiilor de apelare?

încapsularea

Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)

Distribuie

4 Comentarii

  1. Avatar Abhinav Bhardwaj spune:

    Întrebarea nr. 16 are răspuns greșit.
    O clasă abstractă poate conține și o metodă non-abstractă.

    1. Avatar Manoj Kumar spune:

      Abhinav are dreptate..

      O clasă abstractă poate avea atât metode abstracte, cât și metode non-abstracte.. Cel puțin o metodă abstractă este obligatorie..

        1. Avatar Sahira Ashraf spune:

          C++ suportă 5 tipuri de specificatori de acces?

          1. Avatar Zarish Alam spune:

            Nu, cred că doar 3... private, publice, protejate. Cele două rămase cred că sunt pentru Java

          2. Avatar Ahmad Attal spune:

            Accesorul Zarish Alam Modifier are șase conturi neprotejate

          3. Avatar khanzaman wazir spune:

            nu, cred că doar trei tipuri

      1. Ananth Km spune:

        Minim o metodă abstractă este obligatorie – Este greșită.. Putem crea o clasă abstractă fără metode abstracte în ea, asigurați-vă că nu este instanțiată.

        1. Avatar Arun Joseph spune:

          multumesc asta ajuta foarte mult

      2. Vă rugăm să citiți-l complet. această condiție este aplicabilă doar în Java.

    2. frate, de fapt, dacă îți faci metoda ca abstract, deci trebuie să-ți faci clasa ca abstract, dar dacă îți faci clasa ca abstract, deci nu este obligatoriu să faci metodele ca abstract. Mulţumesc

    3. Avatar Fraz Akhtar spune:

      numai în clasa abstractă java au doar o metodă abstractă, nu pentru toți

  2. Avatar UserRaven spune:

    Multumesc a fost de mare ajutor

  3. Avatar Edwin Escoto spune:

    de unde știi în #15 că valoarea pentru a și b este 1.2 și, respectiv, 6 ??

    1. Avatar Abishek Rajagopal spune:

      acestea sunt valorile care i se transmit

  4. Avatar Arulprakasan spune:

    Foarte bine, de ajutor!!! Mulțumesc guru al carierei!!

  5. Avatar mohini barelikar spune:

    Mulțumesc guru al carierei

  6. Răspunsul la ultima întrebare nr. 50 – Care concept OOPS expune doar informațiile necesare funcțiilor de apelare? Abstracția este greșită. În schimb, ar trebui să fie Encapsulation. Ascunderea datelor se referă la încapsulare, nu la abstractizare. Abstracția este o modalitate de a proiecta codul.

      1. Întrebarea aferentă testului spune încă Abstracție.

          1. Avatar siddharth spune:

            Abstracția este răspunsul corect. încapsularea este asocierea de date și funcții cu un obiect. Deși încapsularea ascunde datele din restul programului, întrebarea nu este despre asta.

          2. Avatar dar ar trebui să fie doar abstractizare spune:

            te rog corecteaza-l

  7. Avatar Soumya Pathak spune:

    multumesc pentru acest ajutor

  8. este foarte util pentru cei de bază

  9. Întrebarea nr. 4, puteți verifica răspunsul o dată, vă rog. Simțiți că formarea propozițiilor trebuie corectată.

  10. Întrebarea nr.16
    Clasa abstractă poate avea o metodă abstractă și non-abstractă în java. dacă declarați metoda abstractă, este obligatoriu să declarați o clasă ca abstractă, dar când declarați o clasă ca abstractă, nu este obligatoriu să declarați o metodă ca abstractă în java.

  11. O clasă abstractă poate conține doar metoda abstractă. este?
    dacă nu greșesc, atunci poate conține metoda abstractă, precum și metoda non abstractă.

  12. Avatar Azeem Khan spune:

    Ca răspuns la a 31-a întrebare, nou este un operator, nu un modificator...

  13. Întrebarea nr. 36 are răspuns greșit. Modificatorul de acces implicit pentru o clasă este intern, dar nu Privat

  14. Cred că răspunsul la întrebarea #50 este abstracția

    1. după mine răspunsul pentru 50 ar trebui să fie Abstracție.

  15. Care este modificatorul de acces implicit într-o clasă?
    - Răspunsul corect este public. Vă rugăm să actualizați.

    1. Modificatorul de acces implicit într-o clasă este „Privat”.

    2. răspunsul este corect, modificatorul de acces implicit este privat și nu necesită actualizare

    3. raspunsul este corect, este doar privat.

    4. Modificatorul de acces implicit este privat într-o clasă

      1. Modificatorul de acces implicit al clasei este privat în c++ și este public în java

  16. Abdul Waris spune:

    Vă mulțumesc, a fost de mare ajutor, vă rog să vă corectați
    Care este modificatorul de acces implicit într-o clasă?
    - Răspunsul corect este public. Vă rugăm să actualizați.

  17. Avatar Bhanu Kant Mishra spune:

    Modificatorul de acces implicit al unei clase este Intern.
    Modificatorul de acces implicit al unui membru al clasei este Privat.
    Vă rugăm să corectați…….

    1. Multumesc pentru scris. Este revizuită și corectată.

  18. Avatar Bhanu Kant Mishra spune:

    Care concept OOPS expune doar informațiile necesare pentru funcțiile de apelare?
    Abstracția este răspunsul corect…..Afișează doar informațiile necesare.
    Încapsulare Ascundeți datele importante de la utilizatorul final.

  19. Avatar Kahsay cu Kidan spune:

    notele tale sunt foarte fericite, dar trebuie să pregătești coduri cu soluțiile lor. Mulțumesc pentru prelegeri

  20. Avatar Abhinav Kannojia spune:

    Intern pentru clasă și privat pentru membrul clasei. Deci răspunsul este parțial corect.

  21. Avatar Pranav Bilurkar spune:

    Modificatorul de acces implicit pentru toate clasele de nivel superior, inclusiv o clasă normală, este INTERN și nu public sau privat.

  22. Mahesh Raj spune:

    Sunteți grozav domnule
    Vă rugăm, domnule, următoarele întrebări de top despre
    1. Front End
    2. Backend
    3. Aplicația Android 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏♥️♥️♥️♥️ ♥️♥️♥️♥️♥️🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏

  23. 4 pilule de oop sunt semnificative , cum , iar dacă omitem oricare 2 dintre pilule ce efect va avea asupra oop ? pls pls pls răspundeți pentru o declarație simplă

  24. Avatar Inam Ullah spune:

    este de mare ajutor multumesc

  25. Avatar Deependra Kumar spune:

    Răspunsul la a 50-a întrebare este corect sau ar trebui să fie abstractizare?

  26. Cred că ultimul răspuns ar trebui să fie mai degrabă abstractizarea decât încapsularea

  27. Cred că 50 este greșit..
    ar trebui să fie abstractizare (nu încapsulare)

    1. ar trebui să fie încapsulare pentru că ascundem detalii pentru alte clase.

  28. Avatar Pooja Joshi spune:

    întrebări 16) O clasă abstractă poate conține atât metode abstracte, cât și metode non-abstracte.

    1. Avatar Fraz Akhtar spune:

      o clasă abstractă are atât abstracte, cât și non-abstracte în c, python, dar în java clasa abstractă au doar o metodă abstractă

  29. Avatar GAIKWAD RAJSHRI spune:

    Mulțumesc pentru sugestia bună pentru informațiile despre limbajul oop

  30. Avatar Fraz Akhtar spune:

    o clasă abstractă are atât abstracte, cât și non-abstracte în c, python, dar în java clasa abstractă au doar o metodă abstractă

  31. 14) Ce este supraîncărcarea funcției?
    >> Supraîncărcarea funcțiilor este o funcție obișnuită, dar poate îndeplini diferite sarcini

    Nu. Este greșit. Funcția îndeplinește exact aceeași sarcină. singura diferență este numărul sau tipul de parametri.

    Dacă funcția este numită „Adăugați”, atunci ar trebui să adăugați, indiferent de semnătura funcției.

  32. Avatar Esther Naholo spune:

    Felicitări, este foarte util

  33. este necesară o singură funcție pură

  34. Avatar manimozhi spune:

    Mulțumesc pentru aceste întrebări. Mă ajută să îmi amintesc toate conceptele.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *