Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

Você volta e espera pelo aviso

Entrevistador: Vendo que seu currículo está bem escrito, primeiro se apresente brevemente?

Eu: Cara legal! Sou Xiao Cheng e trabalho há dois anos e meio.

, Responsável por manter os dois projetos da empresa ...

Entrevistador: hmmm, quanto Spring é usado no seu projeto?

Eu: Ok, basicamente tudo pode ser usado. (Normalmente, o Baidu usa)

Entrevistador: O que você quer dizer com usar o AOP do Spring?

Eu: (Essa é minha resposta!) AOP é uma programação orientada a aspectos, que pode encapsular lógica ou responsabilidades que não estão relacionadas aos negócios, mas são geralmente chamadas pelo módulo de negócios, o que é conveniente para reduzir o código repetido do sistema e o acoplamento entre os módulos. E propício à futura escalabilidade e capacidade de manutenção.

Entrevistador: Bem, o entendimento é ótimo,

Você conhece algum ponto de extensão do Spring?

Eu: Ponto de extensão? Definição de Bean? BeanFactory?

Entrevistador: O que mais?

Eu: se foi.

Entrevistador: Bem, você sabe quais estruturas principais do mercado estendem o Spring e como estendê-lo?

Eu: Eu sei que o MyBatis estende a primavera! Como expandir ... Não está claro, os outros não o tocaram muito e não o entendem direito. Eu também ...

Entrevistador: Eu entendo, então você explica brevemente o ciclo de vida do Spring bean.

Eu: lembro que o processo é um pouco complicado, específico, não lembro ...

Entrevistador: Então pergunte a você outra coisa,

O Spring suporta dependências circulares; sob que circunstâncias?

Como entender beanDefinition no sistema Spring?

Por que o Spring precisa usar o cache de nível 3 quando sai da dependência circular?

Alguns pós-processadores no sistema Spring? Você pode falar sobre a função principal?

Eu: isso ...

O entrevistador olhou para o relógio: já eram três da tarde, tão tarde? Venha aqui hoje, você tem alguma pergunta para mim?

Eu: Eu desliguei?

Entrevistador: Não, não, não, por favor, volte e aguarde o aviso!

O Spring agora é a tecnologia de desenvolvimento java mais popular e seu design de código-fonte interno é excelente. Se você não conhece o Spring, o entrevistador provavelmente o deixará voltar para casa e aguardar a notificação.

O que é a primavera?

Há um canteiro de obras onde centenas de pessoas estão cavando poços com pás.

Se você dirige uma escavadeira, o trabalho de um dia é equivalente à carga de trabalho mensal de um trabalhador. E esta escavadeira é gratuita e de código aberto, não é necessário gastar dinheiro para comprar, apenas precisa aprender a operar.

Como você escolheria?

O local dessas centenas de pessoas é a equipe de implementação de projetos de aplicativos corporativos e a escavadeira é a Spring.

A estrutura Spring fornece suporte abrangente à infraestrutura para o desenvolvimento de aplicativos Java. O Spring inclui alguns recursos interessantes, como injeção de dependência e módulos prontos para o uso:

Spring JDBC

Spring MVC

Spring Security

Spring AOP

Spring ORM

Teste de mola

Esses módulos podem reduzir muito o tempo de desenvolvimento de aplicativos e melhorar nossa eficiência de trabalho.

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

 

Ciclo de vida do feijão primavera

Mas agora a compreensão de muitos programadores sobre o Spring é apenas em um nível muito superficial. Muitas pessoas focam apenas a lógica da parte do código que usam e realmente não entendem a estrutura.

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

A seguir, são apresentadas perguntas comuns da entrevista na primavera:

1. Qual é o framework Spring? Quais são os principais módulos do framework Spring?

O Spring Framework é uma plataforma Java que fornece suporte básico abrangente e abrangente para o desenvolvimento de aplicativos Java.

O Spring ajuda os desenvolvedores a resolver problemas básicos no desenvolvimento, permitindo que os desenvolvedores se concentrem no desenvolvimento de aplicativos.

A própria estrutura Spring também é cuidadosamente construída de acordo com o padrão de design, o que nos permite integrar a estrutura Spring com facilidade no ambiente de desenvolvimento

Frame, não se preocupe com o funcionamento do Spring em segundo plano.

O framework Spring integrou mais de 20 módulos até o momento. Esses módulos são principalmente divididos em contêineres principais, acesso / conjuntos de dados, conforme mostrado na figura abaixo

Cheng, Web, AOP (Programação Orientada a Aspectos), ferramentas, mensagens e módulos de teste.

2. Quais são os benefícios de usar a estrutura Spring?

Aqui estão alguns dos principais benefícios do uso da estrutura Spring:

 O método Injection de Dependência (DI) torna claras as dependências no construtor e no arquivo de propriedades JavaBean. Comparado aos contêineres EJB, os contêineres IoC tendem a ser mais leves. Dessa maneira, o desenvolvimento de contêiner IoC e o lançamento de aplicativos com recursos limitados de memória e CPU tornam-se muito benéficos. A Spring não fabrica carros atrás de portas fechadas.A Spring usa tecnologias existentes, como estrutura ORM, estrutura de registro, J2EE, Quartz e JDK Timer e outras tecnologias de visualização.

 O framework Spring é organizado na forma de módulos. Você pode ver o módulo ao qual ele pertence pelos números de pacote e classe.Os desenvolvedores precisam apenas selecionar os módulos de que precisam. Testar um aplicativo desenvolvido com o Spring é muito simples, porque o código do ambiente relacionado ao teste já está incluído na estrutura. Ainda mais simples, usando a classe POJO na forma de JavaBean, você pode facilmente usar a injeção de dependência para gravar dados de teste.

 A estrutura da Web da Spring também é uma estrutura MVC da Web bem projetada, que fornece aos desenvolvedores uma opção poderosa na escolha de uma estrutura da Web, além de estruturas principais, como Struts, estruturas da Web pouco projetadas e impopulares.

 O Spring fornece uma interface conveniente de gerenciamento de transações, adequada para o processamento de transações locais pequenas (como em um único ambiente de banco de dados) e o processamento comum de transações complexas (como um ambiente de banco de dados complexo usando JTA).

3. Por favor, explique a IoC na estrutura Spring?

A organização Springfrework, pacote Beans e a organização Springframework, o pacote de contexto no Spring formam a base do contêiner IoC da estrutura Spring.

A interface BeanFactory fornece um mecanismo de configuração avançado que possibilita a configuração de qualquer tipo de objeto.

A interface ApplicationContex estende o BeanFactory (uma subinterface), adicionando outras funções ao BeanFactory, como uma integração mais fácil com o AOP do Spring, e também fornece um mecanismo para lidar com recursos de mensagens (para internacionalização), propagação de eventos E a configuração especial da camada de aplicativos, como WebApplicationContext para aplicativos da Web.

organização de ramfs do springf, beans, factory O BeanFacory é uma implementação concreta do contêiner Spring IoC, usado para empacotar e gerenciar os vários beans mencionados acima. A interface BeanFactory é a interface principal do contêiner SpringIoC.

COI: A criação, a inicialização e a destruição de objetos são deixadas para serem gerenciadas, em vez de controladas pelo desenvolvedor, para obter a reversão do controle.

4. Qual é a diferença entre BeanFactory e ApplicationContext?

BeanFactory pode ser entendido como uma classe de fábrica que contém uma coleção de beans. O BeanFactory contém a definição do bean, para que, quando a solicitação do cliente for recebida, o bean correspondente seja instanciado.

O BeanFactory também pode gerar relacionamentos entre classes de colaboração ao instanciar objetos. Isso libera a configuração do próprio bean e do cliente do bean. O BeanFactory também inclui o controle do ciclo de vida do bean, chamando os métodos de inicialização do cliente (métodos de inicialização) e métodos de destruição (métodos de destruição).

Na superfície, o contexto do aplicativo, como a fábrica de beans, possui a definição do bean e a configuração do relacionamento do bean, e a função de distribuir o bean de acordo com a solicitação. Mas o contexto da aplicação também fornece outras funções nessa base.

1. Forneça mensagens de texto compatíveis com a internacionalização.

2. Sistema - método de leitura de arquivos de recursos

3. O evento do bean registrado no ouvinte

A seguir, estão três métodos de implementação mais comuns do ApplicationContext:

1. ClassPathXmlApplicationContext: leia o contexto do arquivo de configuração XML do caminho de classe e gere a definição de contexto. Aplicativo, contexto das variáveis ​​de ambiente do programa

ApplicationContext context = new

ClassPathXmlAppl icat ionContext ("bean. Xml");

2. FileSystemXmlApplicationContext: o contexto é lido pelo arquivo de configuração XML no sistema de arquivos.

Appl icationContext context = new

FileSys temXmlApplicationContext ("bean. Xml");

3. XmIWebApplicationContext: leia o contexto do arquivo XML do aplicativo Web.

4.AnnotationConfigApplicationContext (iniciar contêiner com base na configuração Java)

 

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

 

5. Como usar o tSpring com XML?

Na estrutura do Spring, dependências e serviços precisam ser implementados em um arquivo de configuração especial, que é um arquivo de configuração no formato XML que eu costumo usar. O formato desses arquivos de configuração geralmente começa com <beans> e consiste em uma série de definições de bean e opções especiais de configuração de aplicativos.

O principal objetivo da configuração do SpringXML é permitir que todos os componentes do Spring sejam configurados na forma de arquivos xmI. Isso significa que não haverá outros tipos de configuração do Spring (como configuração declarativa ou baseada em Java Class.) A configuração XML do Spring é implementada usando uma série de tags XML suportadas pelo namespace do Spring. O Spring possui os seguintes namespaces principais: contexto, beans.Jdbc, tx, aop, mvc e aso.

Tais como:

<beans>

<! - Suporte JSON - ->

<nome do feijão = "viewResolver"

class =

'org. spri ngframework. rede. servlet. Visão. BeanNameVi ewResolver "/>

<nome do bean = "jsonTemplate"

class = "org.

spr ingframework. rede. servlet. Visão. json. MappingJackson2JsonV

iew '' />

<bean id = 'restTemplate "

class = "org. spr ingframework. web. client. RestTemplate '' />

</beans>

O web.xml a seguir é configurado apenas com DispatcherServlet; essa configuração mais simples pode atender à operação de configuração do aplicativo

Requisitos para componentes de tempo de execução.

<web- rapp>

<nome_do_arquivo> Aplicativo da Web criado pelo arquétipo </ nome_do_arquivo>

<servlet>

<servlet-name> spring </ servlet-name>

<servlet-

classe> org. spr ingframework. rede. servlet. Di spatcherServlet </ servlet-

classe>

<load-on-s tartup> 1 </load-on-startup>

</servlet>

<mapeamento de servlet>

<servlet- -name> spring </ servlet-name>

<ur1-pattern> / </ url-pat tern>

</ servlet- mapeamento>

</web-app>

Devido a limitações de espaço, não há como mostrar as perguntas completas da entrevista da primavera do editor, portanto o editor compilou essas perguntas em um documento de tópico da entrevista da primavera, que é gratuito para compartilhar aqui. Amigos em necessidade podem gostar de comentários e adicionar editores. Sinal: AAAMAXIAOXIN para obtê-lo, além da mão do editor, existem vídeos de aprendizado de fontes Spring, materiais de entrevista para grandes fábricas em vários tópicos e pontos de conhecimento básicos sobre Java organizados por arquitetos seniores.

 

perguntas e respostas da entrevista da primavera

 

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

 

Vídeo de aprendizagem da fonte da primavera

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

 

Dados da entrevista coletados de outras grandes fábricas

 

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

Resposta da entrevista

 

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

Resposta da entrevista

E os principais pontos de conhecimento em Java organizados por arquitetos seniores

Os pontos de conhecimento que o entrevistador deve perguntar durante a entrevista incluem muitos pontos de conhecimento, incluindo conhecimento básico, coleção Java, JVM, simultaneidade multithread, princípio de mola, microsserviços, Netty e RPC, Kafka, diário, padrão de design, Java Algoritmos, bancos de dados, Zookeeper, cache distribuído, estruturas de dados, etc.

Se você não conhece a Spring, o entrevistador da grande fábrica não entende por que você se atreve a entrevistar.

Publicado 238 artigos originais · Gosto 68 · Visitar mais de 30.000

Acho que você gosta

Origin blog.csdn.net/qq_45401061/article/details/105079014
Recomendado
Clasificación