Introdução às perguntas e respostas da entrevista de padrão de design

Os padrões de design são uma solução bem descrita para os problemas mais comuns que ocorrem durante o desenvolvimento de software. O padrão de design representa as melhores práticas desenvolvidas por um período de tempo por desenvolvedores de software experientes. Eles promovem a reutilização, o que leva a um código mais robusto e sustentável.
Os padrões de design foram descritos pela primeira vez no livro A Pattern Language, do arquiteto Christopher Alexander. Posteriormente, eles foram descritos em Design Patterns: Elements of reutilizável software orientado a objetos, escrito por quatro autores (Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides), também conhecido como "Gang of Four".
Os padrões de design podem ser classificados em três categorias principais:
• Padrões criacionais
• Padrões comportamentais
• Padrões funcionais

Então, enquanto se prepara para uma entrevista de emprego em Design. Tenho certeza de que deseja conhecer as perguntas e respostas mais comuns da entrevista sobre o padrão de design de 2019, que o ajudarão a decifrar a entrevista do padrão de design com facilidade. Abaixo está a lista das principais perguntas e respostas da entrevista sobre os padrões de design em seu resgate.

Listadas abaixo estão algumas das perguntas mais frequentes sobre entrevistas de design de 2019:

1.O que é o padrão Singleton em Java?

Responda:
O padrão Singleton é um padrão criacional que permite a criação de apenas uma instância de uma classe que estará disponível para todo o aplicativo. A principal vantagem do padrão de design Singleton é a economia de memória, pois a instância única é reutilizada repetidamente; não há necessidade de criar um novo objeto em cada solicitação. Por exemplo, em nosso aplicativo, podemos usar uma única conexão de banco de dados compartilhada por vários objetos, em vez de criar uma conexão de banco de dados para cada solicitação.

2. Quais são as desvantagens de usar o padrão de design singleton?

Responda:
As principais desvantagens do uso de padrão de design singleton são:
a) Singleton faz com que o código seja fortemente acoplado. O objeto singleton é exposto globalmente e está disponível para um aplicativo inteiro. Assim, as classes que usam esse objeto ficam fortemente acopladas; qualquer alteração no objeto global afetará todas as outras classes que o usarem.
b) Eles ocultam dependências em vez de expô-las.
c) O padrão Singleton não suporta herança.
d) O princípio Singleton pode ser violado por técnicas como a clonagem. Se um aplicativo estiver em execução em várias JVMs, nesse caso, o Singleton poderá estar quebrado.

3.Qual padrão de design você usará para criar um objeto complexo?

Responda:
O padrão de design do construtor é usado para construir um objeto complexo. Ele foi projetado para resolver os problemas de fábrica e padrão de design abstrato.

4.Por que usar uma classe de fábrica para instanciar uma classe quando podemos usar um novo operador?

Responda:
As classes de fábrica fornecem flexibilidade em termos de design. Abaixo estão alguns dos benefícios da classe de fábrica:
• O padrão de design da fábrica resulta em código mais dissociado, pois permite ocultar a lógica criacional do código dependente
• Permite introduzir um container Inversion of Control
• Oferece muito mais flexibilidade na hora de alterar o aplicativo, pois nossa lógica criacional fica oculta do código dependente

5. Qual é a diferença entre a fábrica e o padrão de projeto abstrato da fábrica?

Responda:
Tanto a fábrica quanto a fábrica abstrata são padrões de design criacional. A principal diferença entre esses dois é que um padrão de fábrica cria um objeto por herança e produz apenas um Produto. Por outro lado, um padrão abstrato de fábrica cria o objeto através da composição e produz famílias de produtos.

6.O que é padrão de design de observador em Java?

Responda:
O padrão de design do observador é um dos padrões de design comportamental que define dependências de um para muitos entre objetos e é útil quando estamos interessados ​​no estado de um objeto e queremos ser notificados quando houver alguma alteração no estado do objeto. No padrão de design do Observador, quando um objeto altera seu estado, todos os objetos dependentes são notificados automaticamente, o objeto é chamado Assunto e os dependentes são chamados Observadores. Java fornece bibliotecas para implementar o padrão de design do Observer usando a classe java.util.Observable e a interface java.util.Observer.

7. Diferença entre estratégia e padrão de design de estado em Java?

Responda:
Tanto a estratégia quanto o padrão de design do estado são semelhantes na prática, mas têm diferentes implementações a seguir. Algumas das principais diferenças entre essas duas são:
a.O padrão de design da estratégia define um conjunto de algoritmos para executar um comportamento específico, enquanto o padrão de design do estado permite que um objeto altere seu comportamento quando ele muda de estado interno.
O padrão de design da estratégia não permite armazenar uma referência ao objeto de contexto, enquanto o padrão de design do estado armazena a referência ao objeto de contexto que os contém.
c.No padrão de design da estratégia, o cliente está ciente da estratégia escolhida para implementação, enquanto no padrão de design do estado o cliente não decide qual o estado a ser escolhido para implementação.
O padrão de estratégia lida com COMO um objeto executa uma determinada tarefa, enquanto o padrão de design de estado lida com o que é um objeto.
e.Não há relacionamento sucessor / predecessor presente no padrão de design da estratégia, enquanto no padrão de design do estado, os estados estão relacionados entre si como sucessor e predecessor.

8.O que é um padrão de objeto nulo?

Responda:
O padrão Null Object é um padrão de design no qual o objeto nulo substitui a verificação NULL da variável de instância. Em vez de marcar um valor nulo, o Objeto Nulo reflete um relacionamento não fazer nada. Também pode ser usado para fornecer um comportamento padrão, caso os dados não estejam disponíveis.

9. Dê um exemplo de padrão de design de decorador?

Responda:
O padrão decorador, também conhecido como padrão estrutural, é usado para adicionar funcionalidade adicional a um objeto específico em tempo de execução. Ele envolve o objeto original através do objeto decorador. Por exemplo, ao comprar um hambúrguer, você pode personalizá-lo adicionando recheios e molhos extras, agora o custo desses itens deve ser adicionado ao preço final. A personalização será diferente de cliente para cliente e oferecerá em uma loja. Criar classes diferentes de hambúrguer com recheios diferentes acabará criando muitas classes. O Decorator resolve esse problema estendendo a funcionalidade de uma única classe Burger em tempo de execução, com base na solicitação do cliente.

10. Qual é o benefício de usar o padrão de design de protótipo em vez de criar uma instância usando a nova palavra-chave?

Responda:
Às vezes, a criação de objetos é pesada e requer muitos recursos; a criação de uma nova instância afetará o desempenho. Nesses casos, é usado um padrão de design de protótipo que se refere à criação de objetos duplicados. No padrão de design do protótipo, se um objeto semelhante já estiver presente, a clonagem será feita tendo em mente o desempenho.

Artigo recomendado

Este foi um guia abrangente para as perguntas e respostas da entrevista do padrão de design, para que o candidato possa reprimir essas perguntas da entrevista do padrão de design facilmente. Você também pode consultar os seguintes artigos para saber mais -

  1. As 25 perguntas mais importantes sobre entrevistas em ciência da computação
  2. Conheça as 10 principais perguntas e respostas úteis sobre entrevistas ágeis
  3. As 5 perguntas mais valiosas da entrevista sobre ciência de dados
  4. 20 dicas incríveis para pregar sua próxima entrevista de emprego (ideias)