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:
- abstracțiune
- încapsularea
- Moştenire
- 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.

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 -.
- Rezoluția domeniului (::)
- Selectarea membrilor (.)
- 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)
Întrebarea nr. 16 are răspuns greșit.
O clasă abstractă poate conține și o metodă non-abstractă.
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..
Multumesc, s-a facut corectia.
C++ suportă 5 tipuri de specificatori de acces?
Nu, cred că doar 3... private, publice, protejate. Cele două rămase cred că sunt pentru Java
Accesorul Zarish Alam Modifier are șase conturi neprotejate
nu, cred că doar trei tipuri
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ă.
multumesc asta ajuta foarte mult
Mulțumesc Manoj kumar
Vă rugăm să citiți-l complet. această condiție este aplicabilă doar în Java.
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
numai în clasa abstractă java au doar o metodă abstractă, nu pentru toți
Multumesc a fost de mare ajutor
de unde știi în #15 că valoarea pentru a și b este 1.2 și, respectiv, 6 ??
acestea sunt valorile care i se transmit
mulțumesc
Foarte bine, de ajutor!!! Mulțumesc guru al carierei!!
mulțumesc
Mulțumesc guru al carierei
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.
Eroare remediată! Mulţumesc
Întrebarea aferentă testului spune încă Abstracție.
corectat
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.
te rog corecteaza-l
multumesc pentru acest ajutor
este foarte util pentru cei de bază
Întrebarea nr. 4, puteți verifica răspunsul o dată, vă rog. Simțiți că formarea propozițiilor trebuie corectată.
Eroare remediată! Mulţumesc
Multumesc este de ajutor
Î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.
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ă.
Ca răspuns la a 31-a întrebare, nou este un operator, nu un modificator...
new nu este un operator.
Întrebarea nr. 36 are răspuns greșit. Modificatorul de acces implicit pentru o clasă este intern, dar nu Privat
Cred că răspunsul la întrebarea #50 este abstracția
după mine răspunsul pentru 50 ar trebui să fie Abstracție.
Vreau asta ca fișier PDF
Inbox-mi sau imi e-mail
Care este modificatorul de acces implicit într-o clasă?
- Răspunsul corect este public. Vă rugăm să actualizați.
Este privat.
nu este privat
Modificatorul de acces implicit într-o clasă este „Privat”.
răspunsul este corect, modificatorul de acces implicit este privat și nu necesită actualizare
raspunsul este corect, este doar privat.
Modificatorul de acces implicit este privat într-o clasă
Nu sunt 100% asta este corect.
Modificatorul de acces implicit al clasei este privat în c++ și este public în java
E mai ușor de înțeles
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.
Foarte grozav, util
mulțumesc
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…….
Multumesc pentru scris. Este revizuită și corectată.
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.
Mulțumesc, ne este mai util
notele tale sunt foarte fericite, dar trebuie să pregătești coduri cu soluțiile lor. Mulțumesc pentru prelegeri
Intern pentru clasă și privat pentru membrul clasei. Deci răspunsul este parțial corect.
Modificatorul de acces implicit pentru toate clasele de nivel superior, inclusiv o clasă normală, este INTERN și nu public sau privat.
Sunteți grozav domnule
Vă rugăm, domnule, următoarele întrebări de top despre
1. Front End
2. Backend
3. Aplicația Android 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏♥️♥️♥️♥️ ♥️♥️♥️♥️♥️🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
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ă
este de mare ajutor multumesc
Este foarte util multumesc.
Răspunsul la a 50-a întrebare este corect sau ar trebui să fie abstractizare?
Cred că ultimul răspuns ar trebui să fie mai degrabă abstractizarea decât încapsularea
Cred că 50 este greșit..
ar trebui să fie abstractizare (nu încapsulare)
ar trebui să fie încapsulare pentru că ascundem detalii pentru alte clase.
doar o încercare pentru XSS
Se testează aici acum
întrebări 16) O clasă abstractă poate conține atât metode abstracte, cât și metode non-abstracte.
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ă
Mulțumesc pentru sugestia bună pentru informațiile despre limbajul oop
Este foarte util, multumesc!!
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ă
Mulţumesc mult!!
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.
Felicitări, este foarte util
este necesară o singură funcție pură
Mulțumesc pentru aceste întrebări. Mă ajută să îmi amintesc toate conceptele.