O Spring MVC é considerado o framework mais popular usado pelos desenvolvedores Java, pelo menos quando se trata de criação de aplicativos. É por isso que não deve ser surpresa que mais e mais empregadores estejam procurando desenvolvedores e programadores Java que sejam proficientes tanto em Java quanto em Spring MVC. Se você pretende conseguir um emprego como desenvolvedor com alguma ( ou muita! ) Especialização em Spring, provavelmente seria uma boa ideia saber o que você deve esperar da entrevista de emprego. E neste tutorial é exatamente isso que eu vou te mostrar.
No começo, vamos cobrir o básico. Depois disso, perguntas e respostas da para desenvolvedores experientes. Vou resumir as informações no final e deixar algumas dicas para o futuro.
Tabela de Conteúdo
- 1. Introdução
- 1.1. Pergunta 1: O que é Spring MVC?
- 1.2. Pergunta 2: Quantas versões da Spring existem?
- 1.3. Pergunta 3: Para si quais são as principais vantagens do Spring?
- 1.4. Pergunta 4: O que é 'MVC'?
- 1.5. Pergunta 5: O que é 'injeção de dependência'?
- 1.6. Pergunta 6: O que é 'Boot'?
- 1.7. Pergunta 7: O que é um 'arquivo XML'?
- 1.8. Pergunta 8: Quantos módulos diferentes existem no Spring MVC?
- 1.9. Pergunta 9: Descreva 'IOC'
- 1.10. Pergunta 10: O que é um 'Bean'?
- 1.11. Pergunta 11: Por que você deve usar 'constructor injection' para injetar Beans?
- 1.12. Pergunta 12: O que é um 'join point'?
- 1.13. Pergunta 13: O que é AOP?
- 1.14. Pergunta 14: Qual é o uso do Boot 'Initilizr'?
- 1.15. Pergunta 15: O que é um "advice"?
- 2. Perguntas avançadas sobre Spring
- 2.1. Pergunta 1: Existem diferenças entre os dois tipos de IOC?
- 2.2. Pergunta 2: Por que razão 'annotation wiring' não funciona?
- 2.3. Pergunta 3: Qual é a diferença entre preocupação "concern" e "cross-cutting"?
- 2.4. Pergunta 4: O que é 'autowriting'?
- 2.5. Pergunta 5: Para que fins weaving é usado?
- 2.6. Pergunta 6: Como você pode gerenciar transações no Spring MVC?
- 2.7. Pergunta 7: O que é um 'target object'?
- 2.8. Pergunta 8: O que o @Controller faz?
- 2.9. Pergunta 9: o que é DAO?
- 2.10. Pergunta 10: O que o @Autowired faz?
- 2.11. Pergunta 11: O que o @RequestMapping faz?
- 2.12. Pergunta 12: O que é um MVC Interceptor?
- 2.13. Pergunta 13: Qual é o uso que damos ao 'introduction'?
- 2.14. Pergunta 14: O que acontece quando você usa o @Autowire junto com o @Qualifier?
- 2.15. Pergunta 15: O que é configuração de container baseada em anotação?
- 3. Resumo
- 4. Conclusão
Introdução
Vamos começar este tutorial com o básico . Esses conceitos básicos são fundamentais e, se você for um desenvolvedor experiente do Spring MVC, você deve conhecê-los de cor. Mesmo se você conhece todas as perguntas e respostas nesta lista, uma revisão nunca fez mal a ninguém. Depois disso, vamos passar para as coisas mais avançadas.
Oferta Mais Recente Ativa Nesse Exato Momento:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Pergunta 1: O que é Spring MVC?
Antes de começarmos a falar sobre interceptores e joinpoints , precisamos primeiro passar pelas definições. Seus potenciais empregadores provavelmente perguntarão as mesmas coisas no início de sua entrevista.
Agora, quando se trata de perguntas baseadas em definições, sempre tente responder com suas próprias palavras. Isso mostrará aos entrevistadores que você não é apenas um robô que memorizou inúmeras páginas de texto, mas também pode pensar por si mesmo.
Agora, onde nós estávamos ..? Sim, Spring MVC. Então, o que é Spring?
O Spring é um framework de código aberto baseado em Java. Ele foi projetado para ajudar os desenvolvedores Java a criar aplicativos Web específicos.
Pergunta 2: Quantas versões da Spring existem?
No total, existem três versões principais - Spring 2.5 ; Spring 3.0 e Spring 4.0 .
Pergunta 3: Para si quais são as principais vantagens do Spring?
Verdade seja dita, esta é uma das perguntas mais subjetivas da entrevista, pois é quase completamente baseada em opiniões. Você deve pensar em sua própria experiência pessoal ao usar o Spring MVC, e o que você definiria como os melhores recursos do framework.
Posso, no entanto, oferecer-lhe alguns exemplos de respostas mais populares: ele ser open-source, templates pré-feitos, facilidade de usar e testar , etc.
Pergunta 4: O que é 'MVC'?
MVC significa Model View Controller . É uma parte do framework Spring. O MVC é usado para promover a criação de diferentes aplicativos web.
Pergunta 5: O que é 'injeção de dependência'?
Injeção de dependência é usada para fornecer certas dependências específicas para objetos. É um design pattern que torna seus projetos mais suaves e mais adequados para ações como testes.
Pergunta 6: O que é 'Boot'?
Como você provavelmente já deve ter notado, você não estará recebendo apenas perguntas do Spring framework - isso seria fácil demais! Em vez disso, espera-se que você saiba tudo sobre suas várias extensões e atualizações também.
O Spring Boot é uma versão do Spring que visa tornar o processo de criação de aplicativos mais simplificado . Uma de suas principais características é que elimina a necessidade de definir configurações padrão - com certeza, isso fará muitos desenvolvedores felizes.
Pergunta 7: O que é um 'arquivo XML'?
XML é um arquivo de configuração do Spring . É o principal tipo de arquivo que contém todas as informações sobre os diferentes tipos de classes e como elas estabelecem correlações umas com as outras.
Pergunta 8: Quantos módulos diferentes existem no Spring MVC?
O Spring possui cerca de vinte módulos. Todos eles são segmentados em containers separados. Os containers são os seguintes: o principal, de web, de acesso a dados, de aspecto e instrumentação e o de teste . Existem alguns containers menores também.
Pergunta 9: Descreva 'IOC'
IOC significa Inversion of Control . É o container central do Spring. Ele utiliza a injeção de dependência mencionada anteriormente para gerenciar e configurar os vários aplicativos integrados. Existem atualmente dois tipos de IOCs que podem ser localizados no Spring - ApplicationContext e BeanFactory .
Pergunta 10: O que é um 'Bean'?
"Bean" é um objeto que é integrado e configurado pelo container IOC .
Pergunta 11: Por que você deve usar 'constructor injection' para injetar Beans?
Note que a constructor injection é usado apenas para injetar dependências obrigatórias.
Quanto ao motivo pelo qual você deve usar esse tipo de injeção em vez de qualquer outra coisa, é bem simples. Esse tipo de injeção torna os processos de teste posteriores muito mais fáceis.
Pergunta 12: O que é um 'join point'?
Um join point representa um ponto no programa onde o framework AOP será inicializado e aplicado.
Pergunta 13: O que é AOP?
AOP significa Programação Orientada a Aspectos . Ele difere do OOP ( Programação Orientada a Objetos ) em que OOP se concentra nas classes , enquanto a principal unidade de modularidade do AOP é o aspecto . Na AOP, os aspectos implementam e enfatizam as preocupações transversais.
Pergunta 14: Qual é o uso do Boot 'Initilizr'?
' Initilizr ' é um tópico que tende a aparecer nas perguntas da entrevista sobre Spring Boot com bastante frequência. É um componente bastante importante, então vamos rapidamente ver por que precisamos dele.
Os desenvolvedores usam o ' Initilizr ' porque querem maximizar sua produtividade no menor tempo possível. A ferramenta é ótima, pois fornece um modelo inicial para o seu projeto e simplifica o processo de criação de scripts.
Pergunta 15: O que é um "advice"?
Lembra quando falamos sobre 'join point', onde AOP entra em jogo? Bem, sempre que um aspecto realiza algum tipo de ação dentro desse join point, essa ação é chamada de “advice”.
Perguntas avançadas sobre Spring
Agora que você já está aquecido com o básico, é hora de entrar nas perguntas e respostas da entrevista para desenvolvedores e programadores experientes.
Veja estas perguntas avançadas como exemplos. Provavelmente seria impossível listar todas as possíveis variações dessas questões aqui, então eu escolhi algumas das principais. O que você pode fazer depois de ler este guia é encontrar equivalentes semelhantes para cada pergunta e resposta que você leu aqui. Dessa forma, você poderá cobrir a maior parte das possíveis perguntas da sua entrevista de emprego.
Pergunta 1: Existem diferenças entre os dois tipos de IOC?
Se você se lembra, uma das perguntas básicas era para explicar o IOC. Os dois tipos de IOC eram ApplicationContext e BeanFactory.
Há uma diferença fundamental entre os dois tipos de IOC - ApplicationContext é um container avançado , enquanto o BeanFactory é básico. Isso significa que as funções do BeanFactory são promovidas pelo ApplicationContext.
Pergunta 2: Por que razão 'annotation wiring' não funciona?
Aqui, o seu potencial empregador está afirmando que a função de "annotation wiring" não funciona por algum motivo - e a razão é provavelmente bem simples.
Por padrão, a annotation wiring estará desativada . Para fazê-lo funcionar, você teria que habilitá-lo em seus arquivos de configuração.
Pergunta 3: Qual é a diferença entre preocupação "concern" e "cross-cutting"?
'Concern' é usado quando você quer implementar uma função singular e específica em seu projeto (app). 'Cross-cutting' são funções que serão aplicadas por meio do projeto inteiro - todos os módulos do aplicativo serão afetados.
Pergunta 4: O que é 'autowriting'?
' Autowriting ' permite que o desenvolvedor injete beans em seu aplicativo automaticamente, sem a necessidade de intervenção manual.
Pergunta 5: Para que fins weaving é usado?
' Weaving' é usado para criar objetos recomendados. Isso é feito vinculando certos aspectos a outros objetos específicos no aplicativo.
Pergunta 6: Como você pode gerenciar transações no Spring MVC?
Spring permite dois tipos de gerenciamento de transações: declarativo e programático.
O gerenciamento de transação declarativa é quando você separa seu código das transações em si. Uma de nossas perguntas anteriores (pergunta número 7 da primeira parte do tutorial) falou sobre XML. Isso é importante agora porque muitos desenvolvedores recorrem a configurações XML para gerenciar suas transações dessa maneira.
O gerenciamento de transações programáticas envolve seu código comercial no gerenciamento de transações. Isso tende a ser a escolha menos popular de gerenciar transações. Existem algumas razões para isso, mas o principal tem a ver com o código. Muitos programadores não querem brincar com o código para não quebrar algo no processo.
Pergunta 7: O que é um 'target object'?
Quando um objeto se torna o centro das atenções para aspectos, ele se torna automaticamente um target object . Algumas pessoas também gostam de se referir a ele como "advised object".
Pergunta 8: O que o @Controller faz?
@Controller nomeia uma classe Spring designada específicamente como a classe do controlador.
Pergunta 9: o que é DAO?
No Spring, o DAO é abreviatura para Data Access Object . Essa ferramenta permite que os desenvolvedores abordem e trabalhem mais facilmente com ferramentas de acesso a dados, especialmente as de origem Java.
Pergunta 10: O que o @Autowired faz?
O comando @Autowired oferece a flexibilidade de decidir onde você deseja conectar seu objeto. Este comando torna o processo muito mais fácil e suave, permitindo maior precisão.
Pergunta 11: O que o @RequestMapping faz?
Este comando é usado sempre que você deseja mapear um método HTTP específico para uma classe específica. Você pode usar esse comando nos níveis de classe e método.
Pergunta 12: O que é um MVC Interceptor?
No Spring MVC, os interceptores podem ser usados para processar uma solicitação de cliente antes, durante e mesmo depois do manuseio. É uma ótima ferramenta para evitar qualquer repetição indesejada do código.
Pergunta 13: Qual é o uso que damos ao 'introduction'?
O comando ' introduction ' permite adicionar novos atributos a uma classe que já foi reenviada no Spring.
Pergunta 14: O que acontece quando você usa o @Autowire junto com o @Qualifier?
Esse tipo de combinação é usado quando há muitos tipos diferentes de um único bean no aplicativo. Essa combinação diferencia entre cada um dos beans individuais.
Como você provavelmente já notou, existem algumas questões baseadas nos controladores “ @ ”. É por isso que é importante saber o que cada um dos controladores “ @ ” faz, portanto, certifique-se de os memorizar!
- Fácil de usar
- Oferece conteúdo de qualidade
- Muito transparente com os preços
- Design simples (sem informações desnecessárias)
- Cursos de alta qualidade (mesmo os gratuitos)
- Variedade de recursos
- Programas Nanodegree
- Indicado para empresas
- Certificados de conclusão pagos
- Bem estabelecido na indústria
- Grande extensão de funcionalidades para escolher
- Cursos de nível superior
- Cursos de nível superior
- Indicado para empresas
- Certificados Pagos de conclusão
Pergunta 15: O que é configuração de container baseada em anotação?
É uma configuração de container alternativa ao XML mencionado anteriormente. Esse tipo de configuração é focado principalmente nos metadados do bytecode.
Resumo
Essas foram algumas das perguntas que você pode encontrar durante a sua entrevista de emprego.
Provavelmente, a dica mais importante que eu posso lhe dar é estudar quantas variações diferentes dessas questões você puder encontrar . Basta escolher uma pergunta aleatória deste tutorial, ir ao google para encontrar definições mais amplas dos termos e, em seguida, ver quais perguntas semelhantes você pode encontrar.
Durante a entrevista propriamente dita, sempre tente adicionar sua própria opinião, especialmente se a questão for baseada em uma definição. Seus empregadores provavelmente apreciarão o fato de que você está tentando colocar termos e conceitos complicados em suas próprias palavras. E não se esqueça de revisar as perguntas sobre Spring Boot ou Spring MVC.
Você sabia?
Você já se perguntou quais plataformas de aprendizagem online são as melhores para sua carreira?
Conclusão
Neste tutorial, abordamos o básico, e também perguntas e respostas para desenvolvedores Spring experientes.
Lembre-se: quanto mais tempo você dedica a estudar as perguntas e respostas, maior a probabilidade de você conseguir o emprego dos seus sonhos. Faça o seu melhor, tente não se estressar com isso e aprenda com a experiência que você terá!
Bem, chegamos ao final deste tutorial. Boa sorte na sua entrevista!