Introducere în proiectarea interviului cu întrebări și răspuns

Modelele de proiectare sunt o soluție bine descrisă la cele mai frecvent întâlnite probleme care apar în timpul dezvoltării de software. Modelul de design reprezintă cele mai bune practici evoluate într-o perioadă de timp de către dezvoltatorii de software experimentați. Acestea promovează reutilizarea, ceea ce duce la un cod mai robust și mai ușor de întreținut.
Modelele de design au fost descrise pentru prima dată în cartea A Pattern Language de către arhitectul Christopher Alexander. Ulterior au fost descrise în Modelele de proiectare: Elemente de software reutilizabil orientat pe obiect scris de patru autori (Erich Gamma, Richard Helm, Ralph Johnson și John Vlissides), de asemenea, denumit „Gang of Four”.
Modelele de design pot fi clasificate în trei categorii principale:
• Modele de creație
• Tiparele comportamentale
• Tiparele funcționale

În timp ce se pregătește pentru un interviu de muncă în proiectare. Sunt sigur că doriți să cunoașteți cele mai obișnuite întrebări și răspunsuri la interviu de design pentru anul 2019, care vă vor ajuta să spargeți cu ușurință Interviul de design de model. Mai jos este lista cu cele mai bune întrebări și răspunsuri la interviu de design la salvare.

Mai jos sunt prezentate câteva dintre întrebările frecvente ale interviului pentru modelul de design 2019:

1.Care este Singleton Pattern în Java?

Răspuns:
Modelul Singleton este un model creațional care permite crearea unei singure instanțe a unei clase care va fi disponibilă pentru întreaga aplicație. Avantajul major al modelului de design Singleton este economisirea memoriei sale deoarece o singură instanță este reutilizată din nou și din nou; nu este necesară crearea unui obiect nou la fiecare solicitare. De exemplu, în aplicația noastră, putem folosi o singură conexiune de bază de date partajată de mai multe obiecte, în loc să creăm o conexiune la baza de date pentru fiecare solicitare.

2. Care sunt dezavantajele folosirii modelului de design singleton?

Răspuns:
Dezavantajele majore ale utilizării modelului de design singleton sunt:
a) Singleton face ca codul să fie strâns cuplat. Obiectul singleton este expus la nivel global și este disponibil pentru o întreagă aplicație. Astfel, clasele care folosesc acest obiect devin strâns cuplate; orice modificare a obiectului global va afecta toate celelalte clase folosind-o.
b) Ascund dependențe în loc să le expună.
c) Modelul Singleton nu acceptă moștenirea.
d) Principiul Singleton poate fi încălcat prin tehnici precum clonarea. Dacă o aplicație rulează pe mai multe JVM-uri, atunci, în acest caz, Singleton ar putea fi spartă.

3.Care tipar de proiectare veți utiliza pentru a crea un obiect complex?

Răspuns:
Modelul de design al constructorului este utilizat pentru a construi un obiect complex. Este conceput pentru a rezolva problemele cu modelul de fabricație și design abstract.

4.De ce utilizați o clasă din fabrică pentru a instantana o clasă când putem folosi un operator nou?

Răspuns:
Clasele din fabrică oferă flexibilitate în ceea ce privește designul. Mai jos sunt câteva dintre avantajele clasei de fabrică:
• Modelul de proiectare din fabrică are ca rezultat un cod mai decuplat, deoarece ne permite să ascundem logica creațională de codul dependent
• Ne permite să introducem un container Inversion of Control
• Vă oferă mult mai multă flexibilitate atunci când vine timpul să schimbați aplicația, deoarece logica noastră creațională este ascunsă de codul dependent

5.Care este diferența dintre fabrica și modelul de proiectare a fabricii abstracte?

Răspuns:
Atât fabrica cât și fabrica abstractă sunt modele de design creațional. Diferența majoră dintre aceste două este că un model de fabrică creează un obiect prin moștenire și produce un singur Produs. Pe de altă parte, un model de fabrică abstract creează obiectul prin compoziție și produce familii de produse.

6.Care este modelul de design al observatorului în Java?

Răspuns:
Modelul de proiectare a observatorului este unul dintre modelele de proiectare comportamentală care definește dependențele între obiecte și este util atunci când suntem interesați de o stare a unui obiect și dorim să fim informați atunci când există vreo schimbare în starea obiectului. În modelul de proiectare Observer, când un obiect își schimbă starea, toate obiectele sale dependente sunt notificate automat, obiectul se numește Subiect, iar dependenții sunt numiți Observatori. Java oferă biblioteci pentru a implementa modelul de design Observer utilizând clasa java.util.Observable & interfața java.util.Observer.

7.Diferența dintre strategia și modelul de design al stării în Java?

Răspuns:
Atât Strategia, cât și modelul de proiectare a statului, sunt similare în practică, dar au o implementare diferită, urmând câteva dintre diferențele majore dintre aceste două:
a. Modelul de proiectare strategică definește un set de algoritmi pentru a efectua un comportament specific, în timp ce modelul de proiectare de stat permite unui obiect să-și modifice comportamentul atunci când se schimbă starea internă.
b. Modelul de proiectare strategică nu ne permite să stocăm o referință la obiectul contextual, în timp ce modelul de proiectare de stat stochează referința la obiectul contextual care le conține.
c.În modelul de proiectare a strategiei, clientul este conștient de strategia aleasă pentru implementare, în timp ce în modelul de proiectare a statului, clientul nu decide care este statul ales pentru implementare.
d. Modelul de strategie tratează CUM un obiect îndeplinește o anumită sarcină, în timp ce modelul de proiectare de stat se ocupă de ceea ce este un obiect.
e. Nu există nicio relație succesor / predecesor prezentă în modelul de proiectare a strategiei, în timp ce în modelul de proiectare a statului, stările sunt legate de unul / altul ca succesor și predecesor.

8. Ce este modelul de obiect nul?

Răspuns:
Null Object pattern este un model de proiectare în care obiectul null înlocuiește NULL check pentru variabila de exemplu. În loc să pună un cec pentru o valoare nulă, Null Object reflectă o relație de a nu face nimic. Poate fi, de asemenea, utilizat pentru a furniza un comportament implicit în cazul în care datele nu sunt disponibile.

9. Dă un exemplu de model de proiectare a decoratorului?

Răspuns:
Modelul decorator, cunoscut și sub denumirea de model structural, este utilizat pentru a adăuga funcționalitate suplimentară unui anumit obiect la timpul de execuție. Înfășoară obiectul original prin obiectul decorator. De exemplu, când cumpărați un burger, îl puteți personaliza adăugând umpluturi și sosuri suplimentare, acum costul acestor articole trebuie adăugat la prețul final. Personalizarea va diferi de la client la client și ofertă de la un magazin. Crearea diferitelor clase de burger cu diferite umpluturi va ajunge să creeze o mulțime de clase. Decorator rezolvă această problemă extinzând funcționalitatea clasei Burger unice la timpul de funcționare, pe baza solicitării clienților.

10. Care este avantajul utilizării modelului de proiectare a prototipului în crearea unei instanțe folosind noul cuvânt cheie?

Răspuns:
Uneori, crearea obiectelor este grea și necesită o mulțime de resurse, crearea unei noi instanțe va afecta performanța. În astfel de cazuri, se folosește un model de proiectare a prototipului care se referă la crearea de obiecte duplicate. În modelul de proiectare a prototipurilor, dacă un obiect similar este deja prezent, atunci clonarea se face ținând cont de performanță.

Articol recomandat

Acesta a fost un ghid cuprinzător la întrebările și răspunsurile la modelul de interviu de proiectare, astfel încât candidatul să poată împărți cu ușurință aceste întrebări de interviu de model de proiectare. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. 25 Cele mai importante întrebări la interviu în informatică
  2. Cunoașteți cele mai bune 10 întrebări utile pentru interviu și răspuns
  3. Top 5 Cele mai valoroase întrebări la interviu pentru știința datelor
  4. 20 de sfaturi uimitoare pentru a-ți bloca următorul interviu de muncă (idei)