As 22 principais perguntas da entrevista sobre padrões de design Java Respostas

Anonim

baixar PDF

1) Explique o que é Java Design Pattern?

Um padrão de projeto é uma estratégia independente de linguagem para resolver problemas comuns de projeto orientado a objetos. Ele descreve como estruturar classes para atender a um determinado requisito.

2) Explicar o que são padrões de design criativo e padrão de fábrica?

Padrão de design criativo : Este padrão é usado para definir e descrever como os objetos são criados no momento da instanciação da classe.

Padrão de fábrica : O padrão de fábrica é usado para criar um objeto sem expor a lógica de criação ao cliente e se referir a um objeto recém-criado usando uma interface comum.

3) Qual padrão de design é usado para obter uma maneira de acessar os elementos de um objeto de coleção de maneira sequencial?

O padrão Iterator é usado para obter uma maneira de acessar os elementos de um objeto de coleção de maneira sequencial.

4) Quando o padrão do localizador de serviço é usado?

Quando queremos localizar vários serviços usando JNDI, usamos o padrão de localizador de serviço.

5) Mencione de quantas maneiras você pode criar um padrão singleton?

Para criar objetos únicos, existem duas formas famosas

  • Carregamento lento
  • Carregamento ansioso

6) Mencione qual padrão é usado quando precisamos desacoplar uma abstração de sua implementação?

Quando queremos desacoplar uma abstração de sua implementação para que duas possam variar independentemente, usamos o padrão de ponte.

7) Mencione qual padrão de design será útil para adicionar uma nova funcionalidade a um objeto existente?

Um padrão de decorador permite que um usuário adicione uma nova funcionalidade a um objeto existente sem alterar sua estrutura.

8) Explique como você pode criar uma classe Singleton em Java?

É um processo de duas etapas,

  • Primeiro, torne o construtor privado para que o novo operador não possa ser usado para instanciar a classe
  • Retorne um objeto do objeto se não for nulo, caso contrário, crie o objeto e retorne o mesmo por meio de um método.

9) É possível escrever singleton thread-safe em Java?

Para escrever singleton thread-safe em Java, há várias maneiras, por exemplo, usando a instância singleton estática inicializada durante o carregamento da classe, escrevendo singleton usando bloqueio de verificação dupla. Java Enum é a maneira mais simples de criar singleton thread-safe.

10) Mencionar como se deve descrever um padrão de projeto?

Para descrever um padrão de design, as seguintes coisas precisam ser atendidas

  • Nome e classificação do padrão
  • Problema e solução
  • Consequências: alternativas dependentes de variação e linguagem também devem ser abordadas
  • Conhecer Usos: Identificar os usos nos sistemas reais e sua eficiência

11) Mencione por que o acesso à variável não estática não é permitido a partir do método estático em Java?

Você não pode acessar dados não estáticos do contexto estático porque as variáveis ​​não estáticas estão associadas a uma instância específica de um objeto, enquanto a estática não está associada a nenhuma instância.

12) Mencione qual padrão é útil quando é necessário passar dados com vários atributos de uma vez do cliente para o servidor?

O padrão de objeto de transferência é útil quando é necessário passar dados com vários atributos de uma vez do cliente para o servidor.

13) Nomeie algumas das entidades do padrão DAO?

Algumas das entidades do DAO incluem,

  • Classe concreta de objeto de acesso a dados
  • Interface de objeto de acesso a dados
  • Objeto de modelo ou objeto de valor

14) Mencione quando você pode usar o padrão de interceptação?

O padrão de interceptação é usado quando você precisa fazer algum pré-processamento ou pós-processamento com solicitação ou resposta do aplicativo.

15) Mencionar quando usar um Padrão de Fábrica?

O padrão de fábrica pode ser usado,

  • Quando uma classe não sabe qual classe de objetos precisa criar
  • Quando a classe especifica suas subclasses para especificar quais objetos criar
  • Na linguagem de programação, você pode usar o padrão de fábrica onde você tem que criar um objeto de qualquer uma das subclasses dependendo dos dados fornecidos

16) Explique no padrão singleton se é melhor fazer todo o método getinstance () sincronizado ou apenas a seção crítica é o suficiente? Qual é preferível?

A sincronização de todo o método getinstance () é cara e só é necessária durante a inicialização na instância singleton, para parar de criar outra instância de Singleton. Portanto, é melhor sincronizar apenas a seção crítica e não todo o método.

17) Mencione de quantas maneiras você pode escrever uma classe singleton em Java?

Pode-se escrever uma classe singleton em Java de quatro maneiras

  • Singleton com campo final público estático inicializado durante o carregamento da classe
  • Singleton gerado por classe aninhada estática, também conhecido como padrão de suporte de singleton
  • Singleton sincronizando o método get instance ()
  • Do Java 5 em diante usando Enums

18) Explique como você pode evitar a criação de outra instância de singleton usando o método clone ().

A maneira preferida de evitar a criação de outra instância de um singleton é não implementar a interface Cloneable e, se você apenas lançar uma exceção do método clone (), “não criar um clone da classe singleton”.

19) Mencione qual a diferença entre “arremessar” e “arremessar”?

A palavra-chave “Throw” é usada para lançar explicitamente como uma exceção, enquanto “Throws” é usada para tratar as exceções verificadas para reinserir ao compilador que as exceções estão sendo tratadas. Os throws precisam ser usados ​​na definição do método e também ao invocar o método que gera exceções verificadas.

20) Mencione quais classes no JDK usam o padrão singleton?

As classes Java.lang.Runtime usam o padrão singleton no JDK.

21) Mencione qual é a limitação de usar o padrão singleton?

O padrão singleton garante que uma classe tenha apenas uma instância e forneça um ponto global de acesso a ela. Mas, ao mesmo tempo, isso se torna sua limitação, pois a maioria das classes em um aplicativo precisará criar várias instâncias.

22) Mencione qual a diferença entre VO e JDO?

A diferença entre JDO e VO é que JDO é uma tecnologia persistente que compete com os beans de entidade no desenvolvimento de aplicativos corporativos. Ele permite que você crie POJO (objetos Java simples e antigos) e os mantenha no banco de dados.

Enquanto VO significa objetos de valor representa um padrão de design abstrato usado em conjunto com beans de entidade, jdbc e possivelmente até JDO para superar o isolamento comumente encontrado e problemas transacionais em aplicativos corporativos.