Introduzione al modello di progettazione Intervista Domande e risposte

I modelli di progettazione sono una soluzione ben descritta ai problemi più comuni che si verificano durante lo sviluppo del software. Il modello di progettazione rappresenta le migliori pratiche sviluppate in un periodo di tempo da sviluppatori software esperti. Promuovono la riusabilità che porta a un codice più solido e mantenibile.
Design Patterns sono stati descritti per la prima volta nel libro A Pattern Language dell'architetto Christopher Alexander. Successivamente sono stati descritti in Design Patterns: Elements of riusable object-oriented software scritto da quattro autori (Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides) chiamato anche "Gang of Four".
I motivi di progettazione possono essere classificati in tre categorie principali:
• Pattern creazionali
• Modelli comportamentali
• Pattern funzionali

Quindi, mentre mi preparo per un colloquio di lavoro in Design. Sono sicuro che vuoi conoscere le domande e le risposte più comuni relative al colloquio di design del 2019 che ti aiuteranno a risolvere facilmente il colloquio di design. Di seguito è riportato l'elenco delle principali domande di intervista sul modello di progettazione e le risposte in vostro soccorso.

Di seguito sono elencate alcune delle domande più frequenti per l'intervista al modello di progettazione 2019:

1.Che cos'è Singleton Pattern in Java?

Risposta:
Il modello Singleton è un modello di creazione che consente di creare solo un'istanza di una classe che sarà disponibile per l'intera applicazione. Il vantaggio principale del modello di progettazione Singleton è il risparmio di memoria perché la singola istanza viene riutilizzata più volte; non è necessario creare un nuovo oggetto per ogni richiesta. Ad esempio, nella nostra applicazione, possiamo utilizzare una singola connessione al database condivisa da più oggetti, invece di creare una connessione al database per ogni richiesta.

2.Quali sono gli svantaggi dell'utilizzo del modello di progettazione singleton?

Risposta:
I principali svantaggi dell'utilizzo del modello di progettazione singleton sono:
a) Singleton fa sì che il codice sia strettamente accoppiato. L'oggetto singleton è esposto a livello globale ed è disponibile per un'intera applicazione. Pertanto, le classi che utilizzano questo oggetto vengono strettamente accoppiate; qualsiasi cambiamento nell'oggetto globale avrà un impatto su tutte le altre classi che lo utilizzano.
b) Nascondono le dipendenze invece di esporle.
c) Singleton Pattern non supporta l'ereditarietà.
d) Il principio di Singleton può essere violato da tecniche come la clonazione. Se un'applicazione è in esecuzione su più JVM, quindi, in questo caso, Singleton potrebbe non funzionare.

3.Quale modello di progettazione utilizzerai per creare un oggetto complesso?

Risposta:
Il modello di progettazione del generatore viene utilizzato per costruire un oggetto complesso. È progettato per risolvere i problemi con la fabbrica e il modello di disegno astratto.

4. Perché usare una classe di fabbrica per creare un'istanza di una classe quando possiamo usare un nuovo operatore?

Risposta:
Le lezioni di fabbrica offrono flessibilità in termini di design. Di seguito sono riportati alcuni dei vantaggi della classe di fabbrica:
• Il modello di progettazione di fabbrica produce codice più disaccoppiato poiché ci consente di nascondere la logica creazionale dal codice dipendente
• Ci consente di introdurre un contenitore Inversion of Control
• Ti dà molta più flessibilità quando arriva il momento di cambiare l'applicazione poiché la nostra logica creazionale è nascosta dal codice dipendente

5.Qual è la differenza tra la fabbrica e il modello di disegno astratto della fabbrica?

Risposta:
Sia la fabbrica che la fabbrica astratta sono modelli di design creativi. La differenza principale tra questi due è che un modello di fabbrica crea un oggetto attraverso l'eredità e produce un solo Prodotto. D'altra parte, un modello astratto di fabbrica crea l'oggetto attraverso la composizione e produce famiglie di prodotti.

6. Qual è il modello di progettazione dell'osservatore in Java?

Risposta:
Il modello di progettazione dell'osservatore è uno dei modelli di progettazione comportamentale che definisce le dipendenze uno-a-molti tra gli oggetti ed è utile quando siamo interessati a uno stato di un oggetto e vogliamo essere avvisati quando si verifica un cambiamento nello stato dell'oggetto. Nel modello di progettazione di Observer, quando un oggetto cambia il suo stato, tutti gli oggetti dipendenti vengono automaticamente notificati, l'oggetto viene chiamato Oggetto e i dipendenti vengono chiamati Osservatori. Java fornisce librerie per implementare il modello di progettazione di Observer utilizzando l'interfaccia java.util.Observable e l'interfaccia java.util.Observer.

7.Differenza tra strategia e modello di progettazione dello stato in Java?

Risposta:
Sia la strategia, sia il modello di progettazione dello stato, sono simili nella pratica, ma hanno un'implementazione diversa che segue sono alcune delle principali differenze tra questi due:
a. Il modello di progettazione strategica definisce una serie di algoritmi per eseguire un comportamento specifico, mentre il modello di progettazione stato consente a un oggetto di modificare il suo comportamento quando cambia lo stato interno.
b. Il modello di progettazione strategica non ci consente di memorizzare un riferimento all'oggetto contesto, mentre il modello di progettazione stato memorizza il riferimento all'oggetto contesto che li contiene.
c. Nel modello di progettazione strategica il cliente è consapevole della strategia scelta per l'implementazione, mentre nel modello di progettazione statale il cliente non decide quale stato scegliere per l'implementazione.
Il modello di strategia si occupa di COME un oggetto esegue una determinata attività mentre il modello di progettazione dello stato si occupa di cosa sia un oggetto.
e. Non esiste alcuna relazione successore / predecessore nel modello di progettazione della strategia, mentre nello stato del modello di progettazione gli stati sono correlati l'uno all'altro come successore e predecessore.

8.Che cos'è il modello di oggetti null?

Risposta:
Il modello Null Object è un modello di progettazione in cui l'oggetto null sostituisce il controllo NULL per la variabile di istanza. Invece di mettere un segno di spunta per un valore null, Null Object riflette una relazione di non fare nulla. Può anche essere utilizzato per fornire un comportamento predefinito nel caso in cui i dati non siano disponibili.

9.Fai un esempio del modello di design del decoratore?

Risposta:
Il motivo decorativo, noto anche come motivo strutturale, viene utilizzato per aggiungere funzionalità aggiuntive a un oggetto particolare in fase di esecuzione. Avvolge l'oggetto originale attraverso l'oggetto decoratore. Ad esempio, quando acquisti un hamburger, puoi personalizzarlo aggiungendo ripieno e salse extra, ora il costo di questi articoli deve essere aggiunto al prezzo finale. La personalizzazione differirà da cliente a cliente e offerta da un negozio. La creazione di diverse classi di hamburger con ripieni diversi finirà per creare molte classi. Decorator risolve questo problema estendendo la funzionalità della singola classe Burger in fase di esecuzione in base alla richiesta del cliente.

10. Qual è il vantaggio dell'utilizzo del modello di progettazione del prototipo rispetto alla creazione di un'istanza utilizzando la nuova parola chiave?

Risposta:
A volte, la creazione di oggetti è pesante e richiede molte risorse, la creazione di una nuova istanza influirà sulle prestazioni. In tali casi, viene utilizzato un modello di progettazione prototipo che si riferisce alla creazione di oggetti duplicati. Nel modello di progettazione del prototipo, se è già presente un oggetto simile, la clonazione viene eseguita tenendo presente le prestazioni.

Articolo raccomandato

Questa è stata una guida completa alle domande e alle risposte al colloquio sul modello di progettazione, in modo che il candidato possa facilmente reprimere queste domande sul colloquio al modello. Puoi anche consultare i seguenti articoli per saperne di più -

  1. 25 domande di intervista di informatica più importanti
  2. Conosci le 10 principali domande e risposte utili sull'intervista
  3. Le 5 domande di intervista più importanti per la scienza dei dati
  4. Incredibili 20 consigli per inchiodare il tuo prossimo colloquio di lavoro (idee)