Este é o grande deus, que rejeitou ativamente a oferta de Bytedance e facilmente ganhou ofertas de Huawei, Ant, PDD, Baidu, Paypal

No meio do ano, devido a mudanças de empregos, participei sucessivamente das entrevistas de recrutamento social da Huawei, Ant, Bytedance, PDD, Baidu e Paypal. Exceto pelo processo mais longo de Bytedance, tomei a iniciativa de encerrar a entrevista , e todas as outras entrevistas correram bem. É uma oferta.

Recentemente, tenho um pouco mais de tempo. Vou escrever uma experiência pessoal, na esperança de ajudá-lo a encontrar um emprego.

Experiência de entrevista

Abaixo, em ordem cronológica, compartilharei minha experiência em entrevistas com diferentes empresas.

Huawei

Método de entrega de currículo: Huawei HR contatado pela BOSS.

  1. Teste escrito online: Antes da entrevista formal, haverá um teste escrito online com três questões algorítmicas.O nível de dificuldade vai do mais simples ao mais profundo, e as duas questões basicamente não são problema.
  2. 1 rodada de entrevista: entrevista em vídeo. Haverá dois entrevistadores nesta rodada de entrevista. Cada entrevistador entrevistará por cerca de 45 minutos. O conteúdo da entrevista é baseado principalmente em Java. Finalmente, uma pergunta algorítmica será escrita, mas não é complicado.
  3. 2 rodadas de entrevistas: Esta rodada é principalmente uma entrevista por telefone com vários líderes. Eles podem perguntar sobre algum conteúdo relacionado ao projeto, mas mais estão relacionados à estrutura e não envolverão detalhes técnicos de baixo nível.
  4. Entrevista de RH: Comunique-se sobre posição e salário. O salário da Huawei é composto de salário base e salário de desempenho, e pode ser de 2 meses no final do ano. Tentei argumentar com o salário, mas não me pareceu útil .

Resumo: os entrevistadores e o RH da Huawei são legais. A dificuldade geral da entrevista é bastante modesta. Ambos se concentram em algoritmos básicos e simples. Além disso, o processo de entrevista também é muito rápido. Basicamente, terminará em duas semanas. Porém, o recrutamento social da Huawei é basicamente OD, ou seja, está vinculado à empresa estrangeira Deco, não a um funcionário em tempo integral, portanto, no futuro, a promoção e o aumento salarial podem ter um impacto. Você precisa considerar isso por si mesmo.

Ant Financial

Método de apresentação de currículo: amigos empurram diretamente para dentro, e a entrevista será contatada dentro de uma semana após o push.

  1. 1 rodada de entrevista: entrevista por telefone online, de Hangzhou, principalmente para apresentar o projeto.Ele conduzirá algumas discussões com base nos pontos técnicos do projeto. O que mais me impressionou é que estávamos discutindo a solução da consistência distribuída na época, mas achei que ele não ficou satisfeito com a minha resposta, haha. Por fim, postarei um link para fazer a pergunta. A pergunta examina principalmente o uso de multithreading Java. Minha dúvida na época era encontrar a forma de pagamento mais rápida em um determinado cenário.
  2. Duas rodadas de entrevista: a entrevista por telefone de Xangai. Esta rodada é uma entrevista com o supervisor, que também é voltada para o projeto e, em seguida, se expande para muitas perguntas básicas, como bloqueios distribuídos, consistência distribuída, coisas, threads de Java etc. Não houve perguntas nesta rodada, e o bate-papo terminou por cerca de uma hora.
  3. 3 rodadas de entrevista: Desta vez, o supervisor das 2 rodadas de entrevistadores veio me entrevistar e me pediu para ir diretamente ao Shanghai Ant Z Space para uma entrevista. Nessa rodada, falei principalmente sobre o projeto ou algo mais macro, sem detalhes técnicos específicos.
  4. Entrevista de RH: Como fiz uma entrevista para o P6, fui direto para a entrevista de RH após 3 rodadas. RH focou na investigação do sabor de Ali, como otimismo, pragmatismo, etc.

Resumo: A dificuldade da entrevista é moderada. O processo dura basicamente uma semana e um mês como um todo. Claro, não inclui ajustes de retorno e exames físicos. Portanto, se você quiser entrevistar Ali, pode iniciar o entrevista com antecedência e, em seguida, analise o resumo durante a entrevista.

PDD

Método de entrega de currículo: BOSS contratado diretamente para localizar o RH pdd.

  1. 1 rodada de entrevista: entrevista em vídeo. Fale sobre o projeto na primeira meia hora e faça as perguntas na segunda metade.
  2. 2 rodadas de entrevista: entrevista em vídeo. Fale sobre o projeto na primeira meia hora e faça as perguntas na segunda metade.
  3. 3 rodadas de entrevista: entrevista em vídeo. Faça as perguntas na primeira meia hora e fale sobre o projeto na segunda meia hora.
  4. Entrevista de RH: Determine o salário. Como o PDD é muito intenso, você pode pedir o salário ousadamente, caso contrário, será tarde demais para se arrepender após entrar.

Resumo: O processo de entrevista do PDD é muito simples e rude. É fazer as perguntas e falar sobre o projeto, meio a meio. A dificuldade da pergunta é basicamente a dificuldade Média no Leetcode. Após a entrevista, não encontrei quaisquer perguntas muito estranhas. Ao se preparar para a entrevista, você pode passar as 200 perguntas que o Leetcode faz com frequência. Embora eu não tenha ido para o PDD no final, o entrevistador e o RH do PDD deixaram uma boa impressão em mim. O processo de entrevista é muito confortável, assim como a comunicação com amigos; o processo de PDD é muito rápido e os resultados estão disponíveis dentro cerca de duas semanas, porque diferentes empresas têm processos diferentes. O RH está esperando por mim há várias semanas para que eu possa receber outras ofertas antes de responder. Estou muito grato por isso.

Baidu

Método de entrega de currículo: BOSS contrata diretamente para encontrar RH.

  1. 1 rodada de entrevista: entrevista em vídeo. Compartilhe o projeto e pergunte alguns detalhes técnicos, principalmente para o básico do Java, armazenamento em cache e distribuição.
  2. 2 rodadas de entrevista: entrevista em vídeo. Esta rodada é semelhante à última, mas vou pedir mais detalhes técnicos e vou escrever um modelo produtor-consumidor online, bem como um problema de algoritmo.
  3. 3 rodadas de entrevista: entrevista em vídeo. É mais fácil para o supervisor entrevistar, basta falar sobre o trabalho e sobre o planejamento.
  4. Entrevista de RH: determinar o salário. A composição salarial do Baidu é Base mais ações. Se você tiver uma oferta de outra empresa, pode argumentar com ousadia. O RH pode ter vários motivos para dizer que ela não pode ser adicionada, mas você deve insistir no argumento. Depois de experimentá-la, ainda há muito espaço para argumento.

Resumo: a entrevista se concentra em tecnologia pura, então você deve descobrir os detalhes técnicos; quanto ao algoritmo, o Baidu não o examina profundamente. O processo de entrevista foi muito rápido e acabou em cerca de uma semana.

Paypal

Método de entrega de currículo: push interno.

  1. 1 rodada de entrevista: entrevista em vídeo, 2 pessoas se revezam na entrevista, a duração é de 2 horas. Vários detalhes Java, de classes de empacotamento, multithreading a distribuído, armazenamento em cache e assim por diante. Cada rodada requer uma pergunta de dificuldade média.
  2. 2 rodadas de entrevista: entrevista em vídeo. Três pessoas se revezam para uma entrevista, que dura três horas. Isso depende do estilo do gerente da entrevista. Algumas são tendenciosas para algoritmos puros e outras tendem para o básico. Porém, leva muito tempo e precisa ser preparado com antecedência.
  3. Depois de duas rodadas de entrevistas, se tudo correr bem, o RH se inscreverá para uma oferta e receberá a oferta em breve.

Resumo: A eficiência é alta e o entrevistador também é muito profissional. A composição do salário é composta de Base mais ações, o preço das ações subiu muito esse ano, então os alunos que ingressaram ano passado ganharam muito dinheiro, haha.

Batida de byte

Retomar método de entrega: headhunting

  1. 1 rodada de entrevista: entrevista técnica básica. Não fale sobre o projeto, apenas pergunte o básico diretamente, incluindo o sistema operacional, rede de computadores, noções básicas de Java, banco de dados, cache, distribuído, etc., e as perguntas são muito amplas. Finalmente, escreva uma questão de algoritmo.
  2. 2 rodadas de entrevistas: entrevistas de projeto e design de sistema. Concentre-se no projeto do sistema, como momentos de projeto, sistema 12306 etc. Você também precisará escrever questões algorítmicas posteriormente.
  3. 3 rodadas de entrevista: talvez o segundo turno não tenha tido um bom desempenho, o entrevistador foi remarcado e o segundo turno foi entrevistado. Esta rodada também examinou os fundamentos e o design do sistema e passou sem problemas.
  4. 4 rodadas de entrevistas: entrevistas cruzadas. A experiência de entrevista nesta rodada é bastante ruim. O entrevistador ligou no meio do caminho e tratou de um problema online, haha.

Como já havia várias ofertas na época e o processo de entrevista era relativamente longo, basicamente uma vez por semana, não quis atrasar muito. Quando o RH fez a última rodada de nomeações técnicas posteriormente, eu também recusei diretamente.

Resumo: A entrevista de byte é a mais difícil de todas as entrevistas, porque a pesquisa básica é muito ampla e as perguntas algorítmicas não são o tipo de perguntas testadas com frequência. Às vezes, elas encontram dificuldade difícil, mas também é uma questão de sorte. Se você vai entrevistar Byte, o algoritmo deve ser preparado com antecedência e tentar escanear o máximo possível, caso você não tenha visto o assunto até lá, será difícil escrevê-lo em 15 minutos.

Resumo da experiência

Uma série de entrevistas resumiu uma ampla gama de pesquisas, incluindo conhecimentos básicos, projetos e algoritmos.

  • Para o conhecimento básico, é preciso muito tempo para preparar todos os detalhes e saber o porquê, para que, ao perguntar durante uma entrevista, você possa ser honesto. Por exemplo, o princípio AQS do Java, multithreading, memória JVM, etc., estruturas, como Spring, MySQL, Redis, Kafka, ES, ZK, etc., devem ser muito familiares.
  • Para projetos, Ali dá mais atenção aos projetos, por isso não devemos apenas estar familiarizados com o que o projeto fez, mas também extrair os destaques ou diferenças do projeto. Por que escolher essa tecnologia, como projetar a arquitetura, como expandir em o futuro e os problemas Como posicionar, etc, estes devem ser pensados ​​antes da entrevista.
  • Algoritmo, isso não quer dizer, é para escovar mais perguntas. Já entrevistei muitas empresas. Exceto Ali, outras empresas pedirão para fazer perguntas sobre algoritmos em cada rodada, portanto, antes da entrevista, você deve estar familiarizado com vários algoritmos comuns, como DFS, BFS, árvores, algoritmos gananciosos, DP comum , etc., Se você tiver tempo, vá revisar as perguntas para encontrar o sentimento.

Compartilhamento de perguntas de entrevista

Nesta parte, compartilharei algumas questões básicas que encontrei durante o processo de preparação e durante a entrevista.Você pode revisar as questões.

1. Noções básicas de Java

1.1 hashmap e ConcurrentHashMap (ênfase)
1.2 Set questões relacionadas com
1.3 compreensão dos genéricos Java
1.4 Qual é o processo de consulta de ConcurrentSkipListMap? Qual é a complexidade de tempo de consulta e inserção?
1,5 Java byte stream fluxo de caracteres
tipo 1.8 Embalagem e comparação tipo básico questão
1.9 Por que reescrever é igual a e hashcode
1.10 A diferença entre stringBuilder e stringBuffer
1.11 Princípios de serialização Java
1.11 Alguns novos recursos de
Java 8, 9, 10, 11 1.12 O intervalo restrito de quatro modificadores em java.
1.13 Métodos na classe Object.
1.14 Cópia superficial e cópia profunda
1.15 A diferença entre interface e classe abstrata, observe que a interface JDK8 pode ser implementada.
1.16 Duas formas de proxy dinâmico e suas diferenças.
1.16 A diferença entre passagem por valor e passagem por referência, como é o Java e existe alguma referência passagem por valor?
1.17 Se um ArrayList for excluído durante o loop, haverá um problema, por quê?
1.18 A diferença entre Exception e Error
1.19 A nova palavra-chave e o método newinstance ()
1.20 Map, List, Set, respectivamente, falam sobre classes thread-safe e classes thread-inseguras que você conhece
1.21 Java impede injeção de SQL
1.22 Princípios de reflexão e cenários de uso
1,23 estático Vs Final? Como evitar que uma classe seja herdada de
1,24 vazamento de memória? Fora da memória?
1.25 Reescrever Vs sobrecarga
1.26 Expressão lambda para alcançar
a diferença entre 1.27 ClassNotFoundException e NoClassDefFoundError

2. Simultaneidade e multithreading

2.1 O princípio da palavra-chave volátil
2.2 Compreensão de bloqueios em java
2.3 Bloqueios pessimistas e bloqueios otimistas
2.4 Compreensão de CAS, como implementar CAS em
java sem inseguro 2.5 Como criar
threads em java Qual é a diferença entre thread executar e iniciar? O que acontece se o mesmo tópico for iniciado duas vezes?
2.6 O princípio do pool de threads Java? Quais são os pools de threads? Quais são os parâmetros do pool de threads?
2.7 ThreadLocal e seus cenários de aplicação
2.8 Noções sobre segurança de thread
2.9 O get precisa ser bloqueado e por quê?
2.10 O princípio básico do Lock. sincronizado, Lock, ReentrantLock, ReadWriteLock.
2.11 Como o AtomicInteger realiza a modificação atômica?
2.11 Como garantir a segurança do thread em um ambiente distribuído.
2.12 Quatro condições necessárias para o impasse?
2.13 Como interromper threads
2.14 Qual é o status dos threads?
2,15 esperar, notificar, notificarTodos, aguardar, sinalizar, hibernar, render
2,16 Entendimento de exigível e futuro.
2.17 O uso, vantagens e desvantagens da palavra-chave sincronizada.
2.18 O uso e o princípio de implementação de bloqueios reentrantes, o processo de bloqueios de cópia na gravação, de leitura e gravação e bloqueios segmentados
2.19 Como os três threads ABC garantem a execução sequencial?
2.20 Paridade de impressão alternativa de thread duplo (Ali)

3. JVM

3.1 Algoritmo GC comum, coletor CMS, G1
3.2 modelo de memória jvm e modelo de memória Java
3.3 Como julgar se o objeto pode ser reciclado? Qual das análises de alcançabilidade GC é considerada RAIZ GC?
3.4 A proporção da área de sobreviventes do éden, por que essa proporção, o processo de trabalho do sobrevivente do éden.
3.4 Pode fullgc reclamar a área do método
3.5 Que objetos entrarão na velhice? Por que a nova geração usa algoritmos de replicação?
3.6 Os objetos julgados como "lixo" pelo GC sempre serão reciclados?
3.7 Qual é o problema de forçar gc jovem?
3.8 O processo de carregamento de classe Por que Java projeta um modelo de delegação parental?
3.9 Quando o gc menor será disparado e quando o gc total será disparado?
3.10 A diferença entre G1 e ZGC
3.12 Você conhece referências fortes, referências fracas e referências suaves? O que GC faz com elas?
3.13 O processo de trabalho da pilha de métodos JVM, qual é a diferença entre a pilha de métodos e a pilha de métodos local.
3.14 Como as referências na pilha JVM se relacionam aos objetos no heap.
3.15 Tecnologia de análise de escape.
3.16 Se Java pode GC direcionar memória.
3.17 Parâmetros de ajuste JVM comumente usados.
3.6 Existem etapas de ajuste de desempenho específicas? Quando o fullgc estiver cheio, a velocidade de resposta da interface será extremamente lenta.
3.18 Análise de arquivos de despejo.
3.19 O Java ativa ativamente o GC
3.20 Se dois projetos java são abertos na mesma máquina, quantas máquinas virtuais java existem?
3.21 fluxo de trabalho do período de compilação javac

4. Primavera

4.1 processo spring IOC
4.2 como resolver a dependência circular
4.3 spring AOP, como realizar o proxy dinâmico
4.4 spring BeanDefinition função
4.5 spring @Autowired (@Resource, similar) princípio de implementação
4.6 ciclo de vida do bean
4.7 Escopo de ação padrão do bean? Outro âmbito de ação?
4.8 Como o singleton do Spring é implementado?
4.11 Como as informações de login do SpringMVC de diferentes usuários garantem a segurança do thread?
4.12 Quais padrões de projeto o Spring usa?
4.13 A maneira como Spring injeta feijão.
4.14 O que é IOC e o que é injeção de dependência.
4.15 Quais são as características do Spring (IOC e AOP)
4.16 Escopos diferentes, quais são as implementações da implementação aop,
4.17 Transações e modos de implementação do
Spring 4.19 Entenda o Spring, SpringMVC e springBoot
4.20 As anotações @transactional irão falhar sob quais circunstâncias, por quê.
4.21 Como o controlador do SpringMVC corresponde um a um entre os parâmetros e os dados do front end.
4.23 Como a Spring mantém os grãos que possui.
4.24 Implementação de anotações personalizadas.
4.25 Como projetar você mesmo a estrutura do IOC
4.26 Como o Quartz completa as tarefas de temporização?
4.18 O ciclo de vida de um servlet, como determinar se é uma solicitação de obtenção ou uma solicitação de postagem e como implementar o compartilhamento de sessão em segundo plano. O ciclo de vida dos filtros da web Java? A diferença entre filtros e interceptores.
4.19 A diferença entre BeanFactory e FactoryBean
4.20 Problemas e soluções que podem ser causados ​​pela configuração de beans com o mesmo id ou nome no Spring
4.21 Métodos para evitar o envio repetido de formulários da Web

5. Middleware de mensagem

5.1 Quais são os componentes do kafka, o processo de eleição do controlador kafka e o processo de reeleição do líder kafka?
5.2 Qual problema o kafka foi originalmente projetado para resolver?
5.3 Por que o kafka usa o zookeeper para armazenar metadados em vez do banco de dados para armazenar?
5.4 O Kafka tem apenas uma produção e apenas um consumo? Faça
5.5 modelo de consumo de Kafka? Como Kafka faz o consumo ordenado? Solução de consumo pesado Kafka? Como resolver a mensagem perdida?
5.6 O papel das réplicas de Kafka?

6. Algoritmo

6.1 B + tree
6.2 A diferença entre hash e B + tree? A que cenários eles são aplicados? Qual é melhor?
6.3 Você conhece árvores vermelhas e pretas, complexidade de tempo? Cinco recursos
6.4 Complexidade de tempo de
classificação de heap 6.5 Classificação rápida, classificação de heap, classificação de inserção
6.6 Algoritmo de hash consistente, aplicativo de algoritmo de hash consistente

 

Mais perguntas e respostas do exame Ali avançado Java necessário

 

Método de aquisição de informação

Siga + curta! Basta adicionar

Acho que você gosta

Origin blog.csdn.net/Java0258/article/details/111410286
Recomendado
Clasificación