[Tencent Alibyte Java deve perguntar] Esta é a maneira correta de abrir a preparação da entrevista! Recolha agora!

Mais recente coleção de perguntas da entrevista comum Java 2020 + respostas detalhadas (9)

Continue a atualizar os materiais relacionados ao Java. Recentemente, passei 7 dias consultando as últimas notícias das entrevistas dos grandes caras, tentando coletar informações de entrevistas mais abrangentes. Se você quiser ver as primeiras coleções, pode ir à minha página inicial para encontrá-las.

Algumas das respostas foram resumidas por mim mesmo e outras foram coletadas na Internet. Não entre em pânico depois de assistir a essas entrevistas! Se você tem mais experiência, você pode compartilhar nos comentários. Se você tiver algum erro, fique à vontade para apontá-lo. Por favor, me avise, obrigado ~

十一 、 Spring Boot / Spring Cloud

83. O que é bota de mola?

 

Na grande família de framework Spring, muitos frameworks derivados foram produzidos, como Spring, SpringMvc framework, etc. O conteúdo principal do Spring é a inversão de controle (IOC) e injeção de dependência (DI). A chamada inversão de controle não é uma tecnologia, mas É uma ideia. Em termos de operação, refere-se à criação de <bean> no arquivo de configuração do spring. A injeção de dependência significa que o container do spring fornece recursos para um objeto da aplicação, como objetos de referência, dados constantes, etc.

   

SpringBoot é um framework, uma especificação de programação totalmente nova. Sua produção simplifica o uso do framework. A chamada simplificação se refere à simplificação de um grande número de arquivos de configuração pesados ​​necessários em muitos frameworks do Spring, então SpringBoot é um framework que atende ao framework , O escopo do serviço é simplificar os arquivos de configuração.

 

84. Por que usar bota de mola?

 

  • Spring Boot torna a codificação fácil

  • Spring Boot torna a configuração simples

  • Spring Boot torna a implantação fácil

  • Spring Boot torna o monitoramento simples

  • Deficiências da primavera

 

85. O que é o arquivo de configuração do Spring Boot Core?

 

Spring Boot fornece dois arquivos de configuração comumente usados:

 

  • arquivo de propriedades

  • arquivo yml

 

86. Quais são os tipos de arquivos de configuração do Spring Boot? Qual a diferença entre eles?

 

Spring Boot fornece dois arquivos de configuração comumente usados, a saber, o arquivo de propriedades e o arquivo yml. Comparado com o arquivo de propriedades, o arquivo yml é mais jovem e tem muitas armadilhas. Pode-se dizer que Cheng Ye Xiao He derrotou Xiao He, yml usa espaços para determinar a relação hierárquica, para que a estrutura do arquivo de configuração seja clara, mas também destruirá a relação hierárquica devido a espaços insignificantes.

Embora eu tenha fornecido a você perguntas e análises de respostas, é melhor para você verificar as perguntas por si mesmo e, então, aprenderá mais.           

87. De que maneiras a inicialização com mola pode atingir uma implantação quente?

 

Existem duas maneiras de implementar a implantação quente do SpringBoot:

 

①. 使用 com mola

 

Adicione o seguinte código ao projeto:

 

<build>
        <plugins>
            <plugin>
                <!-- springBoot编译插件-->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <!-- spring热部署 -->
                    <!-- 该依赖在此处下载不下来,可以放置在build标签外部下载完成后再粘贴进plugin中 -->
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.6.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

 

Depois de adicionar, você precisa usar o comando mvn para executar:

    

Primeiro encontre as configurações de Editar no IDEA, e depois faça o seguinte: (clique no "+" no canto superior esquerdo, selecione maven, o painel direito aparecerá, insira o comando conforme mostrado na linha vermelha, e você pode nomear o comando ( Chamado aqui MvnSpringBootRun))

    

    

 

Clique em salvar e ele aparecerá na parte em execução do projeto IDEA, clique na seta verde para executar

 

 

②. Use spring-boot-devtools

 

Adicione dependências no arquivo pom do projeto:

 

<!--热部署jar-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
 </dependency>

 

Então: use shift + ctrl + alt + "/" (tecla de atalho no IDEA) para selecionar "Registro" e marque compiler.automake.allow.when.app.running

 

88. Qual é a diferença entre jpa e hibernate?

 

  • JPA Java Persistence API é a interface ORM padrão do Java EE 5 e parte da especificação ejb3.

  • O Hibernate, um framework ORM muito popular hoje, é uma implementação do JPA, mas sua função é um superconjunto do JPA.

  • A relação entre JPA e Hibernate pode ser simplesmente entendida como JPA é a interface padrão e Hibernate é a implementação. Então, como o Hibernate percebe esse relacionamento com o JPA. O Hibernate é implementado principalmente por meio de três componentes, hibernate-annotation, hibernate-entitymanager e hibernate-core.

  • A anotação do Hibernate é a base do suporte do Hibernate para configuração de anotação.Ela inclui a anotação JPA padrão e a anotação de função especial do próprio Hibernate.

  • O hibernate-core é a implementação central do Hibernate, que fornece todas as funções centrais do Hibernate.

  • O hibernate-entitymanager implementa o JPA padrão, que pode ser considerado um adaptador entre o hibernate-core e o JPA. Ele não fornece funções ORM diretamente, mas encapsula o hibernate-core para que o Hibernate esteja em conformidade com as especificações JPA.

 

89. O que é nuvem de primavera?

 

Literalmente, Spring Cloud é uma estrutura dedicada a sistemas distribuídos e serviços em nuvem.

 

Spring Cloud é um novo membro de toda a família Spring e um produto inevitável de serviços em nuvem recentes.

 

Spring Cloud fornece aos desenvolvedores ferramentas para construir rapidamente alguns padrões comuns em sistemas distribuídos, como:

 

  • Gerenciamento de configurações

  • Registro e descoberta de serviço

  • disjuntor

  • Roteamento inteligente

  • Chamada de serviço

  • Balanceamento de carga

  • Microagente

  • Ônibus de controle

  • Token único

  • Bloqueio global

  • Eleição de líder

  • Sessão distribuída

  • Status do cluster

  • Mensagens distribuídas

  • ……

 

Usando Spring Cloud, os desenvolvedores podem implementar serviços e aplicativos desses padrões fora da caixa. Esses serviços podem ser executados em qualquer ambiente, incluindo ambientes distribuídos, bem como os próprios laptops dos desenvolvedores e várias plataformas de hospedagem.

 

90. Qual é a função do disjuntor de nuvem de mola?

 

Hystrix é usado em Spring Cloud para implementar a função do disjuntor. O disjuntor pode impedir que um aplicativo tente executar uma operação várias vezes, ou seja, é provável que falhe, permitindo que continue sem esperar pela recuperação de falha ou desperdício de ciclos de CPU, e determina o A falha é permanente. O modo de disjuntor também permite que o aplicativo detecte se a falha foi resolvida e, se o problema parecer ter sido corrigido, o aplicativo pode tentar chamar a operação.

 

Os disjuntores aumentam a estabilidade e a flexibilidade para fornecer estabilidade ao sistema, enquanto o sistema se recupera de uma falha e minimiza o impacto dessa falha no desempenho. Pode ajudar a rejeitar rapidamente uma operação com probabilidade de falhar, em vez de esperar que a operação atinja o tempo limite (ou não retorne) a solicitação, para manter o tempo de resposta do sistema. Se o disjuntor aumentar o tempo de cada evento de mudança de estado, essa informação pode ser usada para monitorar a saúde dos componentes do sistema protegidos pelo disjuntor ou para alertar o administrador quando o disjuntor for desarmado para estar no estado aberto.

 

91. Quais são os principais componentes da nuvem de primavera?

 

①. Descoberta de serviço - Netflix Eureka

 

Um serviço RESTful usado para localizar serviços de nível intermediário em execução na região AWS (região). Ele consiste em dois componentes: servidor Eureka e cliente Eureka. O servidor Eureka é usado como um servidor de registro de serviço. O cliente Eureka é um cliente Java usado para simplificar a interação com o servidor, como um balanceador de carga de pesquisa e fornecer suporte de failover para serviços. A Netflix usa outro cliente em seu ambiente de produção, que fornece balanceamento de carga ponderado com base no tráfego, utilização de recursos e status de erro.

 

②. Balanceamento de carga no lado do atendimento ao cliente - Netflix Ribbon

 

A faixa de opções, fornece principalmente algoritmos de balanceamento de carga de software do lado do cliente. O componente do cliente Ribbon fornece uma série de opções de configuração completas, como tempo limite de conexão, nova tentativa e algoritmo de nova tentativa. A faixa de opções tem componentes integrados de balanceamento de carga plugáveis ​​e personalizáveis.

 

③. Disjuntor —— Netflix Hystrix

 

Um disjuntor pode impedir que um aplicativo tente executar uma operação várias vezes, o que provavelmente falhará, permitindo que ele continue sem esperar a recuperação de falha ou desperdiçando ciclos de CPU, e determina que a falha é permanente. O modo de disjuntor também permite que o aplicativo detecte se a falha foi resolvida. Se o problema parece ter sido corrigido, o aplicativo pode tentar chamar a operação.

 

④. Gateway de serviço —— Netflix Zuul

 

Semelhante ao nginx, função de proxy reverso, mas o netflix adicionou alguns recursos para cooperar com outros componentes.

 

⑤. Configuração distribuída - Spring Cloud Config

 

Isso ainda é estático e precisa cooperar com o Spring Cloud Bus para obter atualizações de configuração dinâmicas.

Finalmente

O conteúdo das perguntas da entrevista está aqui, haverá mais atualizações no seguimento, espero que seja útil a todos.

Para terminar, quero dizer-lhe uma coisa: trabalho há tantos anos e entrevistei algumas pessoas para outras. Seja do ponto de vista do entrevistador ou do líder, além das habilidades e experiência em entrevistar, grande tecnologia e experiência em projetos também são seus trunfos e confiança. Compartilhamento de tecnologia de núcleo de fabricantes de primeira linha

 Levei muito tempo para organizar alguns materiais de aprendizagem. O que postei acima é a ponta do iceberg dos materiais. Espero poder ajudar você! Clique para aprender o código secreto juntos: csdn

                         

  Compartilharei mais artigos secos puros no seguimento e espero poder realmente ajudá-lo. Seu apoio é minha maior motivação! Bem-vindo a seguir e curtir

                                                       

Acho que você gosta

Origin blog.csdn.net/weixin_50333534/article/details/108954679
Recomendado
Clasificación