Compartilhamento da experiência da entrevista BATJ + perguntas da entrevista Java com análise de resposta

Compartilhamento da experiência da entrevista BATJ + perguntas da entrevista Java com análise de resposta (14)

Continue a atualizar os materiais relacionados ao Java. Recentemente, um amigo que trabalhava há mais de 3 anos trocou sua experiência de entrevista comigo e concordou em compartilhá-la. Espero ajudar você. Além disso, se você quiser ver as primeiras coleções, pode ir até minha página inicial para encontrá-la.

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 apontar. Sinta-se à vontade para me avisar.

Baidu, Baidu naquele ano eu fiz o truque é parar a comunidade, a maioria dos departamentos não só recruta o recruta da escola da comunidade, mas alguns departamentos têm cota de aprovação especial, então fui tentar um, é escrever o código primeiro veio para o lado,
um Depois de escrever o algoritmo da lista unicamente vinculada, o entrevistador assentiu com satisfação. Em seguida, o entrevistador perguntou como o spring gerencia o zookeeper no seu projeto. Resposta: balabala, você
conhece o algoritmo de seleção de líder do zookeeper? Conte-me sobre o processo dele. Você conhece o algoritmo zab? Conte-me sobre o processo dele. Khan e as perguntas feitas são muito pervertidas. Não esperava perguntar tão profundamente. O
algoritmo zab é muito complicado. Zab é baseado em paxos, e paxos é o algoritmo que ganhou o Prêmio Turing. Eu disse isso com relutância. Eu era muito culpado. Existem muitos pontos cegos e eu não descobri.
Felizmente, o entrevistador não perguntou mais. Na verdade, acho que ele não saberia fazer isso. Então deixe-me esperar um pouco. ; Depois de um tempo, o segundo entrevistador apareceu. Ele era um tio maduro. Ele
só perguntou duas coisas, um jvm e uma programação simultânea. Jvm é principalmente para ajuste de desempenho, o uso de jstack, GC completo e análise menor de GC, etc. , A programação simultânea pede com muito cuidado,
pede que vários threads atinjam o mesmo estado e, em seguida, executem juntos e, em seguida, continue a executar simultaneamente após atingir um determinado estado, como fazer isso, responda: há um CyclicBarrir após jdk5,
por meio disso Ele pode ser reutilizado e então balabala disse algo, e então pergunte como ler e escrever depois de ler bloqueio mais bloqueio evite escrever fome de thread, a: estratégia de alimentação balabala, pergunte quão real
é agora threads completos de controle dentro de um certo período de tempo, para não completar o respeito do cancelamento, A. : Implementar a interface Callable, retornar a classe FutureTask ou interface Future e, em seguida, acionar a operação desfazer
Comecei a perguntar sobre o projeto, descrever o sistema de reconciliação, balabala ... É a quantidade de dados grande, a quantidade de simultaneidade alta, como o banco de dados está desenhado, etc. Ai, deixa eu esperar um pouco, e veio outro entrevistador,
Pergunte-me sobre o negócio, você está em uma empresa de pagamento terceirizada, pode falar sobre o processo técnico de pagamento, balabala ... Fale sobre o processo de pagamento que eu entendo e, por fim, acrescente uma frase.
Os detalhes de pagamento são muito complicados, e eu não entendo totalmente. , Khan, deixe-me esperar um pouco, e então o entrevistador disse para você voltar e esperar pelas notícias, acho que acabou, é porque não estou familiarizado com o negócio,
realmente não estou disposto a fazê-lo; meu coração está frio por uma semana, mas bate na segunda-feira O telefone me disse para ir à última reunião na quinta-feira, que foi uma entrevista com o diretor técnico. Fui lá na quinta-feira
(o prédio do Baidu é muito longe do China World Trade Center e toda vez que pego o metrô por uma hora e meia, também me ajoelho). Não é difícil perguntar sobre a idempotência do processamento assíncrono.
Indexação exclusiva ou o desenvolvimento de bloqueios distribuídos. Então, o estilo mudou imediatamente. Independentemente da tecnologia, gostaria de perguntar que tipo de valor você acha que pode agregar ao Baidu.
Que tipo de equipe você quer que a equipe do Baidu participe, como você se comunica com o gerente de produto, se você e outras formulações de interface de P&D não podem ser unificadas, como você resolve isso, etc.,
não há preparação alguma, a resposta é gaguejante Bem, ei, que seja o seu destino!

Todos


O quinto aspecto é Ali. Depois que o Baidu entrevistou e esperou pelas notícias, verifiquei as informações de recrutamento da empresa em tempo ocioso e vi que o salário de recrutamento de Ali era muito atraente.
Haha, eu sou uma pessoa inescrupulosa. Comecei com uma entrevista por telefone, depois uma entrevista, dupla e tripla. As principais técnicas de entrevista estão
relacionadas ao JVM: O que
é um processo completo de GC (de ygc a fgc) em jvm? Concentre-se em como os objetos são promovidos para a velhice, vários parâmetros principais da JVM, etc.
Você sabe quais tipos de coletores de lixo, suas vantagens e desvantagens, concentre-se no cms
quando há um estouro de memória, como você soluciona o
modelo de memória JVM? Quanto conhecimento para entender
Basta falar sobre
o mecanismo de reflexão do carregador de classes JAVA que você conhece

Rede:
qual é a diferença entre http1.0 e http1.1? O
handshake TCP de três vias e o processo de handshake de quatro ondas? Por que a desconexão demora 4 vezes? Se houver apenas dois handshakes, qual é
a diferença entre TIME_WAIT e CLOSE_WAIT?
Diga-me o que você sabe Código de resposta HTTP

Projeto de arquitetura e distribuição:
como ajustar o tomcat, o significado de vários parâmetros, quais são as
estratégias comuns de cache, qual sistema de cache é usado em seu projeto, como projetar, a que prestar atenção ao usar Redis, método de persistência, configurações de memória, Clustering, estratégia de eliminação, etc.
Como evitar avalanches de cache
Como obter um número de série exclusivo em
um cluster distribuído Projete um sistema de pico que feche transações automaticamente sem pagamento em 30 minutos
Como fazer um bloqueio distribuído de
quais MQs foram usados, como usá-los e outros Quais são as vantagens e desvantagens da comparação, a conexão MQ é thread-safe?
Como garantir que os dados do sistema MQ não sejam perdidos?
O princípio das transações distribuídas, como usar transações distribuídas
O que é hash consistente,
fale sobre vários algoritmos HASH que você conhece, simples Também pode ser a diferença
aritmética do paxos
entre gerenciamento de memória memcached e redis, e assim por diante, de
volta à minha oferta. Mas recentemente 996 não sabia escolher.

Perguntas da entrevista sobre Java (14)

MySql

142. Quais são os três paradigmas do banco de dados?

  • O primeiro paradigma: enfatiza a atomicidade das colunas, ou seja, cada coluna da tabela do banco de dados é um item de dados atômico indivisível.

  • O segundo paradigma: requer que os atributos da entidade sejam completamente dependentes da chave primária. A chamada dependência completa significa que não pode haver atributos que dependam apenas de parte da chave primária.

  • O terceiro paradigma: qualquer atributo não primário não depende de outros atributos não primários.

143. Há um total de 7 dados em uma tabela de incremento automático, os últimos 2 dados são excluídos, o banco de dados mysql é reiniciado e outro dado é inserido.Qual é o id neste momento?

  • Se o tipo de tabela for MyISAM, o id é 18.

  • Se o tipo de tabela for InnoDB, o id é 15.

 

As tabelas InnoDB registram apenas o id máximo da chave primária de autoincremento na memória, portanto, o id máximo será perdido após a reinicialização.

144. Como obter a versão atual do banco de dados?

Use select version () para obter a versão atual do banco de dados MySQL.

145. O que é ACID?

  • Atomicidade (atomicidade): Todas as operações em uma transação (transação), sejam todas concluídas ou não concluídas, não terminarão em um link intermediário. Se ocorrer um erro durante a execução da transação, ela será restaurada (Rollback) ao estado anterior ao início da transação, como se a transação nunca tivesse sido executada. Ou seja, as transações são indivisíveis e irredutíveis.

  • Consistência (consistência): Antes do início da transação e após o final da transação, a integridade do banco de dados não foi destruída. Isso significa que os dados gravados devem cumprir totalmente com todas as restrições predefinidas, gatilhos, reversões em cascata, etc.

  • Isolamento: A capacidade do banco de dados de permitir que várias transações simultâneas leiam, gravem e modifiquem seus dados ao mesmo tempo. O isolamento pode evitar inconsistências de dados causadas por execução cruzada quando várias transações são executadas simultaneamente. O isolamento da transação é dividido em diferentes níveis, incluindo leitura não confirmada (leitura não confirmada), leitura confirmada (leitura confirmada), leitura repetível (leitura repetida) e serialização (serializável).

  • Durabilidade: Após a conclusão da transação, a modificação dos dados é permanente e não será perdida mesmo que o sistema falhe.

146. Qual é a diferença entre char e varchar?

char (n): tipo de comprimento fixo, como assinatura char (10), quando você insere os três caracteres "abc", eles ainda ocupam 10 bytes, e os outros 7 são bytes nulos.

Vantagens do chat: Alta eficiência; Desvantagens: Ocupação de espaço; Cenários aplicáveis: O valor md5 da senha é armazenado, e o uso de char é muito adequado.

varchar (n): comprimento variável, o valor armazenado é o comprimento do byte ocupado por cada valor mais um byte usado para registrar seu comprimento.

Portanto, é mais apropriado considerar varcahr em termos de espaço; é mais apropriado considerar char em termos de eficiência, e o uso dos dois precisa ser pesado.

147. Qual é a diferença entre float e double?

  • Float pode armazenar até 8 dígitos decimais e ocupa 4 bytes na memória.

  • Double pode armazenar números decimais de 16 bits no máximo e ocupar 8 bytes na memória.

148. Qual é a diferença entre conexão interna, conexão esquerda e conexão direita do mysql?

Palavras-chave de junção interna: junção interna; junção à esquerda: junção à esquerda; junção à direita: junção à direita.

 

A conexão interna é para exibir os dados relacionados correspondentes; a conexão à esquerda é para exibir todas as tabelas à esquerda e a tabela à direita mostra os dados que atendem às condições; a conexão certa é exatamente o oposto.

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/108987828
Recomendado
Clasificación