Created by Carlos Thompson
3 months ago
|
||
Question | Answer |
Qual foi o ultimo design Pattern que usaste num desenvolvimento teu? | Factory Pattern para criação de objetos sem expor a lógica concreta de instância ao cliente. |
O que é Design Pattern Singleton? | é um padrão de design que garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a essa instância. |
Em que cenário é que eu poderia utilizar um singleton? | Em cenários onde se deseja uma única instância de um objeto, como um gerenciador de conexão de banco de dados, ou um serviço de configuração central. |
Para conectar BD, podemos usar singleton? | Sim, um Singleton pode ser usado para gerenciar uma conexão com o banco de dados para garantir que todas as partes da aplicação usem a mesma instância de conexão |
Conceito de singleton no contexto de Spring diz-te alguma coisa? | ○ Sim, O escopo padrão de um bean é singleton no Spring gerencia uma única instância e a compartilha ao longo do contêiner. |
Um bean é um singleton. Concordas ou discordas e porquê? | ○ Sim, O escopo padrão de um bean é singleton no Spring gerencia uma única instância e a compartilha ao longo do contêiner. |
O que são collections? | são estruturas de dados em Java que oferecem maneiras de armazenar, buscar e manipular conjuntos de objetos, utilizando classes e interfaces com exemplo: List, Set, Map. |
Para que serve uma stream? | ○ Streams processam sequências de elementos de forma declarativa, permitindo operações como filtragem, mapeamento e redução. |
Como você estruturaria sua classe de forma a seguir o padrão Singleton? | A classe deve ter um construtor privado, um método estático para obter a instância e um campo estático que armazena a instância |
Implementar herança múltipla em java? Como farias? Não é possível, mas achas que haveria algum mecanismo de contornar esta situação? | ○ Sim, Java não suporta herança múltipla de classes, mas permite implementar múltiplas interfaces, o que pode ser uma maneira de contornar essa limitação. |
OK. Dentro dessa situação, imagina que tens uma situação que não queres herança. Não queres que ninguém estenda. | ○ Para prevenir herança evitando que uma classe seja estendida, use o modificador final na declaração da classe: ○ public final class MinhaClasse { } |
Java é linguagem unicamente orientada a objetos. Concordas com isso ou não? | ○ Não completamente, pois também suporta tipos primitivos, o que não é puramente orientado a objetos. |
Sabes me dizer qual a diferença entre = = e .equals? | == compara referências de memória; .equals() compara o conteúdo de objetos. |
Qual deles permite ter um nulo sem quebrar o código? | .equals() permite comparar nulls sem lançar exceção, mas == apenas compara a referência direta e pode causar NullPointerException. |
ORM framework para que serve? | ORM (Object-Relational Mapping) como Hibernate facilita o mapeamento entre objetos Java e tabelas de banco de dados. |
Diferença entre Hibernate e JPA? | ○ JPA (Java Persistence API) é uma especificação que descreve uma maneira padronizada de mapear objetos Java para bancos de dados relacionais; Hibernate é uma implementação dessa especificação. |
Como você verifica sua base de dados com Hibernate? | Utiliza-se o Hibernate Session para realizar operações de CRUD e consultas JPQL. |
Qual a diferença entre Eager vs Lazy Loading (Hibernate)? | Eager carrega todos os dados relacionados imediatamente; Lazy carrega os dados sob demanda. |
Hibernate: Vantagens e Desvantagens | Vantagens: Simplifica o gerenciamento de transações, suporte a caching, HQL. Desvantagens: Overhead de performance, configuração complexa. |
Qual a qualificação que pode atribuir a diferentes Beans dentro do Spring Boot? | Utiliza-se as anotações @Primary, @Qualifier, @Profiler para definir qualificação e comportamento dos beans. |
Cite um exemplo de gestão de exceções em Spring | @ExceptionHandler, @ControllerAdvice para tratar exceções globalmente. |
Qual a diferença entre SOAP e REST? | SOAP é um protocolo mais complexo e pesado, utiliza exclusivamente .XML para troca de mensagens. REST é um estilo arquitetural mais simples e leve, baseado em HTTP e permite o uso de diversos formatos: JSON, XML, HTML. |
Quais são as novidades do Java 8? | Sreams, Lambda expression, Optional, Date/Time API, Default Methods. |
Se você quer criar uma lista sem duplicações, qual você deveria usar? | Use um Set como o HashSet. |
Webservices: REST já usou? | Sim para criar ATI Restful, com os métodos HTTP GET, POST, PUT e DELETE |
Quais métodos REST você? | Os métodos GET para leitura, POST para criação, PUT para atualização e DELETE para exclusão. |
Qual a diferença entre POST e PUT? | O método POST cria novos recursos e o PUT atuliza um recurso existente. |
O que é SOLID? | SOLID são cinco princípios de design orientado a objetos: Single Responsability, Open / Closed, Liskov Substitution, Interface Segregation, Dependency Inversion. |
Qual a diferença entre classe e interface? | A classe define atributos e comportamentos, já a Interface define um contrato de métodos sem implementação. |
O que são Testes Unitários? | São testes automatizados que verificam o comportamento de unidades de código, como métodos ou classes. |
JWT é seguro? Porquê que não podemos guardar informação sensível lá?
Audio:
Jwt.Mp3 (audio/mpeg)
|
É seguro se assinado e criptografado corretamente, mas não deve armazenar informações sensíveis devido a possibilidade de vazamento em caso de compromentimento. |
O que é imutabilidade? Dê exemplo? Como se cria um objeto imutável? Como Podemos garantir que um objeto possui um atributo que é um tipo mitável não seja modificado? | Um objeto imutável não pode ter seu estado alterado após a criação. Exemplo: String em Java. Cria-se uma classe imutável tornando todos os campos final e não fornecendo métodos de modificação. |
Qual a diferença entre uma interface e uma classe abstrata? | A Interface define métodos sem implementação, permitindo múltiplas implementações. A classe abstrata pode ter implementações parciais e só pode ser herdada por uma classe. |
O que são modificadores de acesso? quais os tipos e quais as diferenças entre eles? | São palavras-chaves que definem a visibilidade de classes, membros(atributos e métodos) e construtores. Eles controlam quais partes do seu código pode ser acessar esses elementos. Public (acesso global), Protected (pacote e subclasses), Default(pacote), Private (dentro da classe). |
Qual a diferença entre um objeto e uma classe? | Uma classe é uma definição, um modelo ou blueprint de uma entidade. O objeto é a instância concreta da classe, um exemplar individual. |
O que é sobrecarga e sobreescrita de métodos? | A sobrecarga é a criação de múltiplos métodos com o mesmo nome dentro de uma mesma classe, mas com assinaturas diferentes (número ou tipo de parâmetros). A sobreescrita é redefinição do comportamento um método em uma subclasse, herdado de uma superclasse, com a mesma assinatura. |
Qual a diferença entre um Set e um List? | O Set não permite duplicatas e não garante a ordem de inserção. O List permite duplicatas e mantém a ordem de inserção. |
Qual é mais performático, um ArrayList ou um LinkedList? Se for para adicionar muitos elementos e remover muitos elementos qual melhor para utilizar? | O ArrayList é mais rápido para acessso aleatório. O LinkedList é mais eficiente para inserções e remoções frequentes. |
Se forem adicionados dois objetos diferentes mas com hashs iguais em um Map, quantos elementos haverá no Map? | Se forem diferentes, haverá dois elementos, se forem iguais (e .equals também), substituirá o valor existente. |
Qual classe é a superclasse de todas as classes Java? | A classe Object é a superclasse de todas as classes Java. |
O que é uma função pura? | É uma função que não tem efeitos colaterais e retorna o mesmo valor para os mesmo argumentos. Não modifica nenhum estado externo ao seu escopo. |
Quantas vezes uma Java Streams pode ser consumida? | Apenas uma vez. |
Podemos sobrecarregar um método estático? | Sim, podemos sobrecarregar, mas não podemos sobreescrever. |
O que é uma Interface Funcional? | É uma interface com um único método abstrato, usada para expressões lambda. Ex.: Runnable, Callable. |
Java aceita herança múltipla? | Não, não aceita herança múltipla de classes, mas permite múltiplas interfaces. |
Como é feita a passagem de valores em Java? | Para tipos primitivos o valor é copiado, para objetos a referência é copiada. |
O que é uma exceção em Java? | É um evento que interrompe o fluxo normal de um programa. Pode ser verificado (checked) ou não-verificado (unchecked) |
Quais são as principais interfaces da estrutura de collection em java? | Collection, Set, List, Map, Queue. |
Quais são os tipos de objetos em java? | Objetos por valor e por referência; Objetos mutáveis e imutáveis; Objetos de classe e interface; Objetos físicos ou lógicos. |
O que é um componente em Angular? | É uma unidade de construção da interface do usuário, contendo a lógica(js), a visualização (html) e o estilo (css). |
O que são Live Cycle Hooks? | São métodos que permitem interagir com diferentes fases do ciclo de vida de um componente, por exemplo: ngOnInit, ngOnChange, ngDestroy. |
Um componente deve ser algo grande ou pequeno? Cobrir uma página inteira ou parte de uma página? | Os componentes devem ser pequenos e focados em uma responsabilidade específica. |
Componente tem que ter sempre parte visual? | Não, um componente pode ser usado apenas para a lógica (sem template). |
O que são Diretivas? | São instruções DOM que estendem ou alteram o comportamento dos elementos e podem ser estruturais(ngIf, nfFor, ngSwitch) e não estruturais (ngClass, ngModule, ngStyle). |
Qual a diferença entre Service e Component? | O component lida com a visualização e a lógica relacionada a interface do usuário. O Service fornece lógica compartilhada e não tem dependência da UI. |
Para que servem Pipes? | Os pipes transformam dados na visualização, por exemplo: formatar datas, valores monetários. Ex.: {{ title | uppercase }} |
Como os componentes podem comunicar entre si? Se quisesse passar dados de um componente pai para o filho, como faria? E ao contrário? | Utiliza-se @Input para dados de pai para filho e o @Output com EventEmitter para o filho enviar dados ao pai. |
Para que servem os Guards? | São usados para proteger rotas, permitindo ou bloqueando o acesso com base na lógica definida. |
O que é RxJs? | É uma biblioteca para programação reativa, lidando com fluxos de eventos assíncronos. |
Qual a diferença entre um Observable e Promise? E em que situações podemos usar? | Observable pode lidar com múltiplos valores ao longo do tempo e permite cancelamento; Promise lida com um único valor e não pode ser cancelado. |
O que é um Service e porquê utilizar? | O Service é utilizado para encapsular lógica reutilizável e compartilhar dados entre componentes. |
Se tivesse duas chamadas que estão dependentes uma da outra e precisa do resultado. Como fazer isso em Angular? | Utiliza-se o operador swithMap ou encadeia Observables para fazer chamadas dependentes. |
Como faria para estruturar camadas de uma aplicação em Angular? | Aplicações em Angular geralmente são dividas em: Feature Module; Routing Module; Shared Module; |
O que é acessibilidade em Frontend? | É garantir que uma aplicação web seja utilizável por pessoas com deficiência. |
Por que devemos usar async operator em RxJs? | O operator async converte um Observable em dados que podem ser usados em um template Angular. |
Qual a diferença entre Mixins e Function? | Mixins e functions são mecanismos para compartilhar código em Angular, com propósitos distintos: Mixins: adicionam funcionalidades a componentes existentes, como um mix de propriedades e métodos. Function: são blocos de código reutilizáveis que realizam tarefas específicas, como cálculos ou formatações. |
O que é um git hash e um git squash? | O git hash é uma identificação única de um commit. O git squash combina múlttiplos commits em um único commit. |
Para que serve o git branch? | Git branch serve para gerenciar diferentes fluxos de desenvolvimentos. |
O que o ngTemplate faz? | É usado para criar modelos embutidos que não são renderizados até serem inseridos. |
Qual a diferença entre class e interface no Angular? | Uma classe pode conter implementação, enquanto a interface apenas define um contrato. |
Poderia dar um exemplo de um módulo em Angular utilizado para chamar API REST? | HttpClienteModule é usado para chamadas HTTP em Angular. |
O que faz um map? O que manipulavas no map? | O operador map transforma cada valor emitido por um Observable |
Qual a diferença entre map e forEach? | Map transforma uma coleção e retorna uma nova coleção; o forEach executa uma operação. |
O map devevolve uma lista? O que devolve? | Em Array.map sim, ele retorno um novo array. Em RxJs map, retorna um novo Observable. |
Que Subjects usaste em Angular? | BehaviorSubject, ReplaySubject, AsyncSubject para comunicação e gerenciamento de estado. |
Quantas maneiras conheces dos Componentes comunicarem entre si? | @Input/ @Output; Service, Subject, ChildView, EventEmitter. |
O que é JDBC direto? | JDBC é a API para conectar-se diretamente a um banco de dados e executar SQL. |
O que é JPQL? | Java Persistence Query Language é uma linguagem de consulta orientada a objetos usada no contexto de JPA. |
Hibernate usa close connection? | Com hibernate a conexão é fechada automaticamente, mas é importante garantir o fechamento correto usando session.close(). |
O que é injeção de dependência? | É uma técnica onde um objeto recebe suas dependências de fontes externas, em vez de criá-las internamente. |
Como tornar uma página mais rápida/performática? | Através de minificação de arquivos, lazy loading de componentes, cache , otimização de images. |
Qual a diferença entre Hibernate e JPA? | O JPA para abstração e padronização, o Hibernate para funcionalidades avançadas. |
O que é o Spring Boot Actuator? | É um módulo que fornece endpoints para monitoramente e gestão de uma aplicação Spring Boot. |
O que é MVC? | É um padrão de design de software utilizado em POO e separa a aplicação em três camadas: Model: representa os dados da aplicação e a lógica de negócio. View: responsável pela apresentação dos dados ao usuário. Control: recebe as entradas do usuário, atualiza o modelo e comunica com a View para exbir o resultado. |
Want to create your own Flashcards for free with GoConqr? Learn more.