Os alunos da organização de treinamento memorizaram essas perguntas da entrevista em Java e fizeram 12K, o que me deixa com inveja

Prefácio:

Primeiro, deixe-me apresentar meus colegas, que se formaram em uma faculdade júnior com especialização em Tecnologia Eletrônica Aplicada, e eles se formaram há quase dois anos . Por motivos profissionais, ele queria mudar de carreira depois de trabalhar por um ano e sentia que não havia futuro para o desenvolvimento. Como seu "bom amigo", ele achava que meu trabalho era muito bom, então me consultou e recusou severamente (sob várias tentações) ), ainda não consigo pará-lo. Depois disso, ele se inscreveu para o treinamento em um determinado pássaro da Universidade de Pequim e conduziu um processamento acelerado de programador Java por meio ano.

Porque ele terminou o treinamento há um ano e se preparava para uma entrevista depois do ano, quem sabia que essa pandemia estava atrasada até maio. Posteriormente, o processo de entrevista durou 2 meses. Quem sabe o ladrão de cachorros passou na entrevista no chat de ontem, e ainda faltavam 12K, mas fiquei com inveja (tinha apenas 11K). Depois de consultar o professor, percebi que ele estava trabalhando muito para revisar as perguntas da entrevista + assistir ao vídeo. Compartilhe as perguntas da entrevista aprendidas com você e espere que todos possam receber a oferta que deseja!

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

Além disso, eu compilei e coletei mais de 20 anos de pontos de conhecimento de entrevistas da empresa, bem como vários pontos de conhecimento de núcleo de Java gratuitamente para compartilhar com você. A seguir estão apenas algumas capturas de tela. Se você quiser informações, também pode clicar em 795983544 para receber o código secreto CSDN.
Insira a descrição da imagem aqui

1. Pontos básicos de conhecimento da entrevista em Java

A diferença entre == e equals e hashCode em java

Quantos bytes int, char e long ocupam

A diferença entre int e inteiro

A compreensão de Tan Tan sobre o polimorfismo java

String 、 StringBuffer 、 StringBuilder 区别

O que é uma classe interna? O papel das classes internas

A diferença entre classe abstrata e interface

O significado das classes abstratas

Cenários de aplicação de classes abstratas e interfaces

Uma classe abstrata pode não ter métodos e atributos?

O significado da interface

A diferença entre extends e super em genéricos

O método estático da classe pai pode ser substituído pela classe filha

A diferença entre processo e thread

A diferença entre final, finalmente, finalize

Método de serialização

A diferença entre Serializable e Parcelable

Propriedades estáticas e métodos estáticos podem ser herdados? Pode ser reescrito? E porque?

Intenção de design de classes internas estáticas

Compreensão de classes internas de membro, classes internas estáticas, classes internas locais e classes internas anônimas, bem como o aplicativo no projeto

Fale sobre a compreensão do kotlin

A diferença entre fechamento e classe interna local

A forma e o princípio de conversão de string em inteiro

Insira a descrição da imagem aqui

Duas perguntas detalhadas da entrevista em java

Sob quais circunstâncias os objetos serão descartados pelo mecanismo de coleta de lixo?

Fale-me sobre os métodos de codificação comuns?

Quantos bytes o chinês na codificação utf-8 ocupa; quantos bytes int digita?

Qual é a diferença entre proxy estático e proxy dinâmico, em quais cenários?

Sistema de exceção do Java

Fale sobre sua compreensão de resolução e despacho.

Modifique a assinatura do método equals do objeto A, então ao usar o HashMap para armazenar esta instância do objeto, qual método equals será chamado?

Qual é o mecanismo de polimorfismo em Java?

Como serializar um objeto Java em um arquivo?

Fale sobre sua compreensão do reflexo Java

Fale sobre sua compreensão das anotações Java

Fale sobre sua compreensão da injeção de dependência

Fale sobre o princípio dos genéricos e dê exemplos

Compreensão de String em Java

Por que String deve ser projetada para ser imutável?

Substitua os métodos equal e hashCode da classe Object.

Insira a descrição da imagem aqui

Três. Estrutura de dados

Introdução às estruturas de dados comuns

O que você sabe sobre coleções simultâneas?

Lista as coleções java e a relação de herança entre as coleções

Classe de coleção e estrutura de coleção

Introdução às classes de contêiner e a diferença entre elas (estima-se que as classes de contêiner sejam inéditas por muitas pessoas. Os contêineres Java podem ser divididos em 4 partes: lista de listas, coleção de conjuntos, mapeamento de mapas, classe de ferramentas (iterador iterador, classe de enumeração de enumeração, Matrizes e coleções)

A diferença entre lista, conjunto, mapa

Métodos de implementação e armazenamento de Lista e Mapa

O princípio de realização do HashMap

Estrutura de dados HashMap?

Compreensão do código-fonte HashMap

Como colocar dados em HashMap (da perspectiva do código-fonte HashMap)?

Como implementar HashMap manualmente?

O princípio de realização de ConcurrentHashMap

Comparação de ArrayMap e HashMap

Princípio de implementação de HashTable

Implementação de TreeMap

A diferença entre HashMap e HashTable

A diferença entre HashMap e HashSet

Como o HashSet e o HashMap determinam que os elementos do conjunto são duplicados?

Como evitar colisões ao implementar Hash no conjunto

A diferença entre ArrayList e LinkedList, e cenários de aplicativos

A diferença entre array e lista ligada

Implementação específica de travessia em profundidade e travessia em largura de árvores binárias

Estrutura de heap

A diferença entre heap e árvore

Qual é a diferença entre heap e pilha na memória (dica de resposta: você pode responder a partir de dois aspectos: estrutura de dados e implementação real)?

O que é cópia profunda e cópia superficial

Código reverso de lista vinculada escrito à mão

Fale sobre a compreensão das árvores, árvores B +

Fale sobre a compreensão do gráfico

Determinar se a lista unida individualmente é um anel ou não?

Inverter lista vinculada (ou seja: inverter uma única mesa de colar)

Mesclar várias listas vinculadas ordenadas individualmente (presumindo que todas estejam aumentando)

Quatro. Thread, multi-thread e pool de threads

Três maneiras de iniciar tópicos?

A diferença entre thread e processo?

Por que usar threads em vez de apenas processos?

A diferença entre os métodos run () e start ()

Como controlar o número de threads que um método permite acesso simultâneo?

A diferença entre os métodos wait e seelp em Java;

Fale sobre a compreensão de palavras-chave esperar / notificar

O que causa o bloqueio de thread?

Como fechar o tópico?

Fale sobre o método de sincronização em java

Como garantir a consistência dos dados?

Como garantir a segurança da linha?

Como conseguir a sincronização do thread?

Dois processos podem exigir escrita ou leitura ao mesmo tempo? Como evitar a sincronização do processo?

Lista de operações entre threads

O ciclo de vida de objetos em Java

Uso sincronizado

Princípio de sincronizar

Fale sobre a compreensão de palavras-chave sincronizadas, bloqueios de classe, bloqueios de método e bloqueios de reentrada

Acesso multithread e função do método sincronizado estático

Dois métodos sincronizados na mesma classe, o problema de acesso simultâneo por dois threads

O princípio da volátil

Fale sobre o uso de palavras-chave voláteis

Fale sobre o papel da palavra-chave volátil

Fale sobre a compreensão do NIO

A diferença entre palavras-chave sincronizadas e voláteis

A diferença entre sincronizado e bloqueado

Comparação de ReentrantLock, sincronizado e volátil

Implementação interna do ReentrantLock

princípio de bloqueio

Quatro condições necessárias para um impasse?

Como evitar um impasse?

Os bloqueios de objeto e de classe afetarão um ao outro?

O que é um pool de threads e como usá-lo?

Simultaneidade de Java, multithreading, modelo de threading

Fale sobre a compreensão de multithreading

Quais são os problemas a serem observados no multithreading?

Fale sobre sua compreensão de programação simultânea e dê exemplos

Fale sobre sua compreensão do mecanismo de sincronização multi-thread?

Como garantir a segurança do multithreading para ler e gravar arquivos?

Princípio de transferência recuperável de ponto de interrupção multithread

Realização da Transmissão Retornável

Cinco. Algoritmo

Quais são os algoritmos de classificação?

Qual é o algoritmo de classificação mais rápido?

Escrevendo à mão em forma de bolha

Código de classificação rápida escrito à mão

Processo de classificação rápida, complexidade de tempo, complexidade de espaço

Classificação de pilha manuscrita

Processo de classificação de heap, complexidade de tempo e complexidade de espaço

Anote o algoritmo de classificação que você conhece, sua complexidade e estabilidade

A árvore binária fornece o nó raiz e o nó alvo, encontre o caminho do nó raiz ao nó alvo

Qual algoritmo deve ser escolhido para classificar os mais de 20.000 funcionários de Ali por idade?

Algoritmo de GC (as vantagens e desvantagens de vários algoritmos e cenários de aplicação)

Algoritmo de Colônia de Formigas e Algoritmo de Monte Carlo

Problema de inclusão de substring (algoritmo KMP) escrever código para alcançar

Uma matriz não ordenada e não repetitiva produz N elementos, de modo que a soma de N elementos é adicionada a M, dando complexidade de tempo e complexidade de espaço. Algoritmo de escrita à mão

Dois arquivos A e B de URL de nível de trilhão, como encontrar a diferença C de A e B (dica: mapeamento de bits -> agrupamento hash -> eficiência de leitura e gravação de vários arquivos -> endereçamento de disco e endereçamento de nível de aplicativo otimização)

Seis. Relacionado ao banco de dados

Quais são as características do MySQL InnoDB e Mysaim?

A diferença entre bloqueio otimista e bloqueio pessimista?

Qual é o nível de isolamento do banco de dados? qual é o efeito?

O princípio básico da sincronização mestre-escravo do MySQL.

Selecione * da tabela t onde tamanho> 10 agrupar por ordem de tamanho por ordem de execução da instrução SQL de tamanho?

Como otimizar o desempenho do banco de dados (índice, sub-banco de dados e tabela, operação em lote, algoritmo de paginação, upgrade de SSD de disco rígido, otimização de negócios, implantação mestre-escravo)

Sob quais circunstâncias o SQL não usará índices (excluir, não igual, função)

Em que campo geralmente é indexado (o campo com os dados mais filtrados)

Como encontrar todas as linhas cujo campo de nome não contém "XYZ" de uma tabela?

MySQL, implementação de índice B +, implementação de bloqueio de linha, otimização de SQL

Redis, RDB e AOF, como fazer alta disponibilidade, cluster

Como resolver o problema de alta concorrência e redução de estoque

Mecanismo de implementação de índices no mecanismo de armazenamento mysql;

Várias granularidades de transações de banco de dados;

Bloqueio de linha, bloqueio de tabela; bloqueio otimista, bloqueio pessimista

Sete. Redis e outro middleware de sistema de cache

Liste um modelo de simultaneidade comum para clientes Redis.

Como o HBase implementa consulta difusa?

Enumere um middleware de mensagem comumente usado, como realizar a ordem se a mensagem deve ser preservada?

Como implementar um Hashtable? Como seu design considera os conflitos de hash? Como otimizar?

Cache distribuído, hash consistente

Algoritmo LRU, alocação de blocos, como reduzir a fragmentação da memória

Como resolver o problema de pontos de acesso de cache de máquina única

O que é um filtro Bloom e seu princípio de implementação? O que significa falso positivo?

A diferença entre memcache e redis

Quais são as funções do zookeeper e como o algoritmo de eleição é executado?

Mapear / reduzir processo, como usar mapear / reduzir para obter estatísticas conjuntas de duas fontes de dados

Resumindo

Embora você possa encontrar um emprego escovando as perguntas da entrevista, ainda há uma lacuna no desenvolvimento real. Portanto, encontrar um emprego não é necessariamente o fim. É apenas o começo. Quando você começar a trabalhar, não desenvolverá seu negócio ou será eliminado. No estágio inicial, você ainda precisa trabalhar mais e aprender a se adaptar ao ritmo de trabalho antes de poder realmente ir. Descer. Espero que todos possam trabalhar duro, encontrar um emprego e não serem eliminados, e encontrar uma oferta satisfatória!

Até o momento, essas são as perguntas da entrevista que meus colegas me enviaram, espero que sejam úteis para vocês. Se você quiser a resposta às informações, pode clicar em 795983544 para receber o código secreto CSDN.

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_50524970/article/details/108803179
Recomendado
Clasificación