Domande e risposte sulle 50 migliori interviste OOP (2025)

Ecco le domande e le risposte al colloquio OOP per i candidati più freschi ed esperti che vogliono ottenere il lavoro dei loro sogni.

1) Cos'è l'OOPS?

OOPS è abbreviato come sistema di programmazione orientata agli oggetti in cui i programmi sono considerati come una raccolta di oggetti. Ogni oggetto non è altro che un'istanza di una classe.


2) Scrivere i concetti di base di OOPS?

Di seguito sono riportati i concetti di OOPS:

  1. Astrazione
  2. incapsulamento
  3. Eredità
  4. Polimorfismo

Download gratuito del PDF: domande e risposte all'intervista OOPs


3) Cos'è una classe?

Una classe è semplicemente una rappresentazione di un tipo di oggetto. È il progetto/piano/modello che descrive i dettagli di un oggetto.


4) Cos'è un oggetto?

Un oggetto è un'istanza di una classe. Ha un proprio stato, comportamento e identità.


5) Cos'è l'incapsulamento?

L'incapsulamento è un attributo di un oggetto e contiene tutti i dati nascosti. Tali dati nascosti possono essere limitati ai membri di quella classe.

I livelli sono Pubblico, Protetto, Privato, Interno e Interno protetto.


6) Cos'è il polimorfismo?

Il polimorfismo non è altro che assegnare un comportamento o un valore in una sottoclasse a qualcosa che è già stato dichiarato nella classe principale. Semplicemente, il polimorfismo assume più di una forma.

Domande per l'intervista OOP
Domande per l'intervista OOP

7) Cos'è l'ereditarietà?

L'ereditarietà è un concetto in cui una classe condivide la struttura e il comportamento definiti in un'altra classe. Se l'ereditarietà applicata a una classe viene chiamata Eredità singola, mentre se dipende da più classi viene chiamata Ereditarietà multipla.


8) Cosa sono i manipolatori?

I manipolatori sono le funzioni che possono essere utilizzate insieme agli operatori di inserimento (<<) ed estrazione (>>) su un oggetto. Esempi sono endl e setw.


9) Spiegare il termine costruttore

Un costruttore è un metodo utilizzato per inizializzare lo stato di un oggetto e viene richiamato al momento della creazione dell'oggetto. Le regole per il costruttore sono:

  • Il nome del costruttore deve essere uguale al nome della classe.
  • Un costruttore non deve avere alcun tipo restituito.

10) Definire il distruttore?

Un distruttore è un metodo che viene chiamato automaticamente quando l'oggetto viene creato o distrutto. Anche il nome del distruttore è uguale al nome della classe ma con il simbolo tilde prima del nome.


11) Cos'è una funzione Inline?

Una funzione inline è una tecnica utilizzata dai compilatori e indica di inserire il corpo completo della funzione ovunque tale funzione venga utilizzata nel codice sorgente del programma.


12) Cos'è una funzione virtuale?

Una funzione virtuale è una funzione membro di una classe e la sua funzionalità può essere sovrascritta nella classe derivata. Questa funzione può essere implementata utilizzando una parola chiave chiamata virtual e può essere fornita durante la dichiarazione della funzione.

Una funzione virtuale può essere dichiarata utilizzando un token (virtuale) in C++. Può essere ottenuto in linguaggio C/Python utilizzando puntatori a funzione o puntatori a funzione.


13) Cos'è la funzione amico?

Una funzione amico è un amico di una classe a cui è consentito accedere ai dati pubblici, privati ​​o protetti nella stessa classe. Se la funzione è definita all'esterno della classe non è possibile accedere a tali informazioni.

Un amico può essere dichiarato ovunque nella dichiarazione della classe e non può essere influenzato da parole chiave di controllo dell'accesso come private, public o protected.


14) Cos'è il sovraccarico funzionale?

L'overloading delle funzioni è una funzione regolare, ma le vengono assegnati più parametri. Permette la creazione di più metodi con lo stesso nome che differiscono tra loro per il tipo di input e output della funzione.

Esempio

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

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

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


15) Cos'è l'overloading dell'operatore?

L'overload degli operatori è una funzione in cui vengono applicati diversi operatori e dipende dagli argomenti. L'operatore,-,* può essere utilizzato per passare attraverso la funzione e ha la propria precedenza nell'esecuzione


16) Cos'è una classe astratta?

Una classe astratta è una classe di cui non è possibile istanziare. La creazione di un oggetto non è possibile con una classe astratta, ma può essere ereditata. Una classe astratta può contenere solo un metodo Abstract. Java consente solo il metodo astratto nella classe astratta mentre altri linguaggi consentono anche il metodo non astratto.


17) Cos'è un operatore ternario?

Si dice che l'operatore ternario sia un operatore che accetta tre argomenti. Gli argomenti e i risultati sono di tipi di dati diversi e dipendono dalla funzione. L'operatore ternario è anche chiamato operatore condizionale.


18) A cosa serve il metodo finalize?

Il metodo Finalize aiuta a eseguire operazioni di pulizia sulle risorse che non sono attualmente utilizzate. Il metodo Finalize è protetto ed è accessibile solo tramite questa classe o da una classe derivata.


19) Quali sono i diversi tipi di argomenti?

Un parametro è una variabile utilizzata durante la dichiarazione della funzione o della subroutine e gli argomenti vengono passati al corpo della funzione e dovrebbe corrispondere al parametro definito. Esistono due tipi di argomenti.

  • Chiama per valore: il valore passato verrà modificato solo all'interno della funzione e restituirà lo stesso valore qualunque sia passato alla funzione.
  • Chiama per riferimento: il valore passato verrà modificato sia all'interno che all'esterno delle funzioni e restituirà lo stesso valore o un valore diverso.

20) Qual è la super parola chiave?

La parola chiave super viene utilizzata per richiamare il metodo sovrascritto, che sovrascrive uno dei suoi metodi della superclasse. Questa parola chiave consente di accedere ai metodi sovrascritti e anche ai membri nascosti della superclasse.

Inoltre inoltra una chiamata da un costruttore a un costruttore nella superclasse.


21) Cos'è il metodo prioritario?

L'override del metodo è una funzionalità che consente a una sottoclasse di fornire l'implementazione di un metodo che esegue l'override nella classe principale. Sovrascriverà l'implementazione nella superclasse fornendo lo stesso nome del metodo, lo stesso parametro e lo stesso tipo restituito.


22) Cos'è un'interfaccia?

Un'interfaccia è una raccolta di metodi astratti. Se la classe implementa un'interfaccia, eredita tutti i metodi astratti di un'interfaccia.

Java utilizza l'interfaccia per implementare più eredità.


23) Cos'è la gestione delle eccezioni?

Un'eccezione è un evento che si verifica durante l'esecuzione di un programma. Le eccezioni possono essere di qualsiasi tipo: eccezioni di runtime, eccezioni di errore. Tali eccezioni vengono gestite adeguatamente tramite un meccanismo di gestione delle eccezioni come le parole chiave try, catch e Throw.


24) Cosa sono i token?

Un compilatore riconosce un token e non può essere suddiviso in elementi componenti. Parole chiave, identificatori, costanti, stringhe letterali e operatori sono esempi di token.

Anche i caratteri di punteggiatura sono considerati gettoni. Esempio: parentesi, virgole, parentesi graffe e parentesi.


25) Qual è la differenza principale tra sovraccarico e override?

Il sovraccarico è un legame statico, mentre l'override è un legame dinamico. L'overloading non è altro che lo stesso metodo con argomenti diversi e può restituire o meno il valore uguale nella stessa classe stessa.

L'override prevede gli stessi nomi di metodo con gli stessi argomenti e tipi restituiti associati alla classe e alla sua classe figlia.


26) Qual è la differenza principale tra una classe e un oggetto?

Un oggetto è un'istanza di una classe. Gli oggetti contengono più informazioni, ma le classi non hanno alcuna informazione. La definizione di proprietà e funzioni può essere eseguita in classe e può essere utilizzata dall'oggetto.

Una classe può avere sottoclassi, mentre un oggetto non ha sottooggetti.


27) Cos'è un'astrazione?

L'astrazione è una funzionalità utile di OOPS e mostra solo i dettagli necessari al client di un oggetto. Ciò significa che mostra solo i dettagli richiesti per un oggetto, non i costruttori interni, di un oggetto. Esempio – Quando si desidera accendere il televisore, non è necessario conoscere i circuiti/meccanismi interni necessari per accendere il televisore. Tutto ciò che serve per accendere la TV verrà mostrato utilizzando una classe astratta.


28) Quali sono i modificatori di accesso?

I modificatori di accesso determinano l'ambito del metodo o delle variabili a cui è possibile accedere da altri vari oggetti o classi. Esistono cinque tipi di modificatori di accesso e sono i seguenti:

  • Privata
  • Protetta
  • Pubblico
  • Friend
  • Amico protetto

29) Cosa sono i modificatori sigillati?

I modificatori sigillati sono i modificatori di accesso in cui i metodi non possono ereditarli. I modificatori Sealed possono essere applicati anche a proprietà, eventi e metodi. Questo modificatore non può essere utilizzato per i membri statici.


30) Come possiamo chiamare il metodo base senza creare un'istanza?

Sì, è possibile chiamare il metodo base senza creare un'istanza. E quel metodo dovrebbe essere il “metodo statico”.

Eredità da quella classe. Utilizzare la parola chiave di base da una classe derivata.


31) Qual è la differenza tra new e override?

Il modificatore new indica al compilatore di utilizzare la nuova implementazione invece della funzione della classe base. Considerando che il modificatore Override aiuta a sovrascrivere la funzione della classe base.


32) Quali sono le varie tipologie di costruttori?

Esistono tre tipi di costruttori:

– Costruttore predefinito – Senza parametri.

– Costruttore parametrico – Con parametri. Crea una nuova istanza di una classe e passa gli argomenti simultaneamente.

– Costruttore di copie – Crea un nuovo oggetto come copia di un oggetto esistente.


33) Cos'è la rilegatura anticipata e tardiva?

L'associazione anticipata si riferisce all'assegnazione di valori alle variabili durante la fase di progettazione, mentre l'associazione tardiva si riferisce all'assegnazione di valori alle variabili durante la fase di esecuzione.


34) Cos'è il puntatore "questo"?

Il puntatore QUESTO si riferisce all'oggetto corrente di una classe. Questa parola chiave viene utilizzata come puntatore che distingue tra l'oggetto corrente e l'oggetto globale. Si riferisce all'oggetto corrente.


35) Qual è la differenza tra struttura e classe?

Il tipo di accesso predefinito di una struttura è pubblico, ma il tipo di accesso alla classe è privato. Una struttura viene utilizzata per raggruppare dati, mentre una classe può essere utilizzata per raggruppare dati e metodi. Le strutture vengono utilizzate esclusivamente per i dati e non richiedono una convalida rigorosa, ma le classi vengono utilizzate per incapsulare dati inerenti, il che richiede una convalida rigorosa.


36) Qual è il modificatore di accesso predefinito in una classe?

Il modificatore di accesso predefinito di una classe è Interno e il modificatore di accesso predefinito di un membro della classe è Privato.


37) Cos'è una funzione virtuale pura?

Una funzione virtuale pura è una funzione che può essere sovrascritta nella classe derivata ma non può essere definita. Una funzione virtuale può essere dichiarata come Pure utilizzando l'operatore =0.

Esempio -

Virtual void function1() // Virtual, Not pure

Virtual void function2() = 0 //Pure virtual


38) Quali sono tutti gli operatori che non possono essere sovraccaricati?

Di seguito sono riportati gli operatori che non possono essere sovraccaricati -.

  1. Risoluzione dell'ambito (::)
  2. Selezione membri (.)
  3. Selezione dei membri tramite puntatore alla funzione (.*)

39) Cos'è il polimorfismo dinamico o runtime?

Il polimorfismo dinamico o in fase di esecuzione è noto anche come override del metodo in cui la chiamata a una funzione sottoposta a override viene risolta durante la fase di esecuzione, non in fase di compilazione. Significa avere due o più metodi con lo stesso nome, stessa firma ma con implementazione diversa.


40) Richiediamo un parametro per i costruttori?

No, non richiediamo un parametro per i costruttori.


41) Cos'è un costruttore di copie?

Questo è un costruttore speciale per creare un nuovo oggetto come copia di un oggetto esistente. Ci sarà sempre un solo costruttore di copia che può essere definito dall'utente o dal sistema.


42) Cosa rappresenta la parola chiave virtual nella definizione del metodo?

Significa che possiamo sovrascrivere il metodo.


43) Se il metodo statico può utilizzare membri non statici?

Falso.


44) Cosa sono una classe base, una sottoclasse e una superclasse?

La classe base è la classe più generalizzata e si dice che sia una classe radice.

Una sottoclasse è una classe che eredita da una o più classi base.

La superclasse è la classe genitore da cui eredita un'altra classe.


45) Cos'è la rilegatura statica e dinamica?

Il legame non è altro che l'associazione di un nome alla classe. L'associazione statica è un'associazione in cui il nome può essere associato alla classe durante la compilazione ed è anche chiamata associazione iniziale.

L'associazione dinamica è un'associazione in cui il nome può essere associato alla classe durante il tempo di esecuzione ed è anche chiamata associazione tardiva.


46) Quante istanze si possono creare per una classe astratta?

Verranno create zero istanze per una classe astratta. In altre parole, non è possibile creare un'istanza di una classe astratta.


47) Quale parola chiave può essere utilizzata per l'overloading?

La parola chiave dell'operatore viene utilizzata per l'overload.


48) Qual è lo specificatore di accesso predefinito in una definizione di classe?

L'identificatore di accesso privato viene utilizzato in una definizione di classe.


49) Quale concetto OOPS viene utilizzato come meccanismo di riutilizzo?

L'ereditarietà è il concetto OOPS che può essere utilizzato come meccanismo di riutilizzo.


50) Quale concetto OOPS espone solo le informazioni necessarie alle funzioni chiamanti?

incapsulamento

Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)

Condividi

Commenti

  1. Avatar Abhinav Bhardwaj dice:

    La domanda n. 16 ha una risposta sbagliata.
    Una classe astratta può contenere anche metodi non astratti.

    1. Avatar Manoj Kumar dice:

      Abhinav ha ragione...

      Una classe astratta può avere sia metodi astratti che non astratti. È obbligatorio almeno un metodo astratto.

        1. Avatar Sahira Ashraf dice:

          C++ supporta 5 tipi di specificatore di accesso?

          1. Avatar Zarish Alam dice:

            No, penso solo 3…privato, pubblico, protetto. I restanti due immagino siano per Java

          2. Avatar Ahmad Attal dice:

            L'accessorio Zarish Alam Modifier ha sei account non protetti ho ga

          3. Avatar khanzaman wazir dice:

            no, penso solo tre tipi

      1. Almeno un metodo astratto è obbligatorio – È sbagliato. Possiamo creare una classe astratta senza alcun metodo astratto al suo interno, assicurandoci solo che non sia istanziata.

        1. Avatar Arun Giuseppe dice:

          grazie, questo aiuta molto

      2. Si prega di leggerlo completo. questa condizione è applicabile solo in Java.

    2. fratello in realtà, se crei il tuo metodo come astratto, quindi devi rendere la tua classe come astratto, ma se rendi la tua classe come astratto, quindi non è obbligatorio rendere i metodi come astratti. Grazie

    3. Avatar Fraz Akhtar dice:

      solo nella classe astratta Java c'è solo il metodo astratto, non per tutti

  2. Avatar UtenteRaven dice:

    Grazie, è stato molto utile

  3. Avatar Edwin Escoto dice:

    come fai a sapere al punto 15 che il valore di a e b è rispettivamente 1.2 e 6?

    1. Avatar Abishek Rajagopal dice:

      questi sono i valori che gli vengono passati

  4. Avatar Arulprakasan dice:

    Davvero buono, utile!!! Grazie guru della carriera!!

  5. Avatar mohini barelikar dice:

    Grazie al guru della carriera

  6. La risposta all'ultima domanda n. 50 – Quale concetto OOPS espone solo le informazioni necessarie alle funzioni chiamanti? L'astrazione è sbagliata. Dovrebbe essere invece Incapsulamento. L'occultamento dei dati si riferisce all'incapsulamento e non all'astrazione. L'astrazione è un modo di progettare il codice.

      1. La domanda del quiz correlata dice ancora Astrazione.

          1. Avatar Siddharth dice:

            L'astrazione è la risposta corretta. l'incapsulamento è l'associazione di dati e funzioni con un oggetto. Anche se l'incapsulamento nasconde i dati dal resto del programma, la questione non riguarda questo.

          2. Avatar ma dovrebbe essere solo astrazione dice:

            per favore correggilo

  7. è molto utile per gli studenti di base

  8. Alla domanda n. 4, puoi controllare la risposta una volta, per favore. Senti che la formazione delle frasi deve essere corretta.

  9. Domanda n.16
    La classe astratta può avere un metodo astratto e non astratto in Java. se dichiari un metodo astratto è obbligatorio dichiarare una classe come astratta ma quando dichiari una classe come astratta non è obbligatorio dichiarare un metodo come astratto in Java.

  10. Una classe astratta può contenere solo il metodo Abstract. è ?
    se non sbaglio può contenere sia il metodo astratto che il metodo non astratto.

  11. Avatar Azem Khan dice:

    Nella risposta alla 31a domanda new è un operatore e non un modificatore….

  12. La domanda n. 36 ha una risposta sbagliata. Il modificatore di accesso predefinito per una classe è interno ma non privato

  13. Penso che la risposta alla domanda n. 50 sia Astrazione

    1. secondo me la risposta per 50 dovrebbe essere Astrazione.

  14. Qual è il modificatore di accesso predefinito in una classe?
    -La risposta corretta è pubblica. Per favore aggiornare.

    1. Il modificatore di accesso predefinito in una classe è "Privato".

    2. la risposta è corretta, il modificatore di accesso predefinito è privato e non è necessario aggiornarlo

    3. la risposta è corretta, è solo privata.

    4. Il modificatore di accesso predefinito è privato in una classe

    5. Non sono al 100%, questo è corretto.

      1. Il modificatore di accesso predefinito della classe è privato in C++ ed è pubblico in Java

  15. Abdul Waris dice:

    Grazie, è stato molto utile, ti prego di correggerti
    Qual è il modificatore di accesso predefinito in una classe?
    -La risposta corretta è pubblica. Per favore aggiornare.

  16. Avatar Bhanu Kant Mishra dice:

    Il modificatore di accesso predefinito di una classe è Interno.
    Il modificatore di accesso predefinito di un membro della classe è privato.
    Per favore correggilo…….

    1. Grazie per aver scritto Viene rivisto e corretto.

  17. Avatar Bhanu Kant Mishra dice:

    Quale concetto OOPS espone solo le informazioni necessarie alle funzioni chiamanti?
    L'astrazione è la risposta corretta…..Mostra solo le informazioni necessarie.
    L'incapsulamento nasconde i dati importanti all'utente finale.

  18. Avatar Kahsay con Kidan dice:

    i tuoi appunti sono molto contenti, ma devi preparare i codici con le loro soluzioni. Grazie per la tua lezione

  19. Avatar Abhinav Kannojia dice:

    Interno per la classe e privato per il membro della classe. Quindi la risposta è parzialmente giusta.

  20. Avatar Pranav Bilurkar dice:

    Il modificatore di accesso predefinito per tutte le classi di livello superiore inclusa una classe normale è INTERNO e non pubblico o privato.

  21. Mahish Raj dice:

    Sei grande, signore
    Per favore, signore, le prossime domande principali su
    1. Parte anteriore
    2. Back-end
    3. Applicazione Android 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏♥️♥️♥️♥️ ♥️♥️♥️♥️♥️🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏

  22. I 4 pilastri dell'oop sono significativi, in che modo e se omettiamo 2 pilastri qualsiasi, quale effetto avrà sull'oop? per favore, per favore, rispondete per una semplice affermazione

  23. Avatar Deependra Kumar dice:

    La risposta alla cinquantesima domanda è giusta o dovrebbe essere un'astrazione?

  24. Penso che l'ultima risposta dovrebbe essere l'astrazione piuttosto che l'incapsulamento

  25. Penso che il cinquantesimo sia sbagliato..
    dovrebbe essere astrazione (non incapsulamento)

    1. dovrebbe essere un incapsulamento perché stiamo nascondendo i dettagli per altre classi.

  26. Avatar Pooja Joshi dice:

    domanda 16) Una classe astratta può contenere sia metodi astratti che non astratti.

    1. Avatar Fraz Akhtar dice:

      una classe astratta ha sia astratto che non astratto in c, python ma nella classe astratta Java ha solo il metodo astratto

  27. Avatar GAIKWAD RAJSHRI dice:

    Grazie per il buon suggerimento per le informazioni sulla lingua oop

  28. Avatar Fraz Akhtar dice:

    una classe astratta ha sia astratto che non astratto in c, python ma nella classe astratta Java ha solo il metodo astratto

  29. 14) Cos'è il sovraccarico funzionale?
    >> Il sovraccarico delle funzioni è una funzione regolare, ma può eseguire compiti diversi

    No questo è sbagliato. La funzione esegue esattamente lo stesso compito. l'unica differenza è il numero o il tipo di parametri.

    Se la funzione è denominata "Aggiungi", dovrebbe essere Aggiungi, indipendentemente dalla firma della funzione.

  30. Avatar Ester Naholo dice:

    Complimenti, è molto utile

  31. Avatar manimozhi dice:

    grazie per queste domande. Mi aiuta a ricordare tutti i miei concetti.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *