Escrevi esta história com lágrimas: rejeite o título, desista da Huawei e, finalmente, receba uma oferta com superação de bytes em 6 lados! O salário anual é de 70 w +!

Prefácio

Deixe-me falar sobre minha situação primeiro. Em agosto, fui notificado pelo instrutor de que não tinha as qualificações para uma pesquisa excelente. Comecei a me preparar para passar no exame 819. Em setembro, o recrutamento de outono em grande escala da Huawei, o primeiro lote de ofertas de recrutamento foi recebido, mas foram rejeitadas. Recebi o código de platina e optei por abandonar o exame de admissão de pós-graduação para me preparar para a entrevista de byte. Eu me preparei para a entrevista em 13/10. Depois de três rodadas, recebi a chamada de oferta em 19/10. O recrutamento de outono terminou. Durante este período, recebi a oferta de 360 ​​e mantenha, mas recusei. Porque meu objetivo é claro! ByteDance, não desista se você não tiver uma entrevista. Na verdade, Tencent e manchetes são bem pagos, mas são jovens e frívolos. Como resultado, eles enfrentam 9 faces antes de receber a oferta ByteDance!
Escrevi esta história com lágrimas: rejeite o título, desista da Huawei e, finalmente, receba uma oferta com superação de bytes em 6 lados!  O salário anual é de 70 w +!
Escrevi esta história com lágrimas: rejeite o título, desista da Huawei e, finalmente, receba uma oferta com superação de bytes em 6 lados!  O salário anual é de 70 w +!

Este artigo vai falar sobre a minha experiência de entrevista com um byte de 9 lados!

Minha difícil jornada de entrevista do ByteDance

Um lado (~ 45min)

1. Apresente o projeto , fale sobre o conteúdo do trabalho e as ideias do estágio (~ 10min)

2. O que é vazamento de memória, quais são os cenários de vazamento de memória no Android e quais são os motivos?

3. O que são o processo JVM GC e o algoritmo GC ?

4. O conceito de processo e thread, como realizar multithreading no Android? (Thread Handler AsyncTask IntentService, etc.)

5. O princípio e uso do Handler

6. Como Handler é vinculado ao thread (Looper) e por que Looper.loop () é projetado como um loop infinito

7. Qual é a diferença entre várias classes internas de Java

8. Ciclo de vida da atividade e modo de inicialização

9. Escrevendo o título: a visão correta da árvore binária (a travessia da sequência de nível é suficiente)

Um lado é relativamente curto e as perguntas feitas são relativamente básicas. Após cerca de 30 minutos, os dois lados começarão

Dois lados (~ 1h30min)

1. Introdução

2. Apresente o projeto , por que devo aprender Android sozinho (cerca de 5 minutos)

3. Como o Android realiza multiprocessos e qual é o cenário do aplicativo (má resposta)

4. Você entende o mecanismo IPC (Binder) do Android (a resposta não é boa)

5. Como implementar stack (FILO) com duas filas (FIFO)

6. A diferença entre HashMap e HashTable, o princípio e implementação de HashMap, o algoritmo de hash ()

7. Se você projetar seu próprio cálculo de hash, como projetar e por quê (o número primo da resposta é o resto)

8. String hashCode () e Object hashCode ()

7. O conceito e a relação de memória virtual e memória física, o algoritmo de agendamento de paginação de memória

8. Como implementar o cache LRU (consulte leetcode T146)

9. Posso escrever uma classe java.lang.Object sozinho e qual será carregada pelo sistema?

10. Implementação de Genéricos em Java

11. Você conhece algoritmos de classificação comuns , escreva classificação rápida à mão

12. O método de bloqueio em Java, o princípio da palavra-chave sincronizada, quais são as implementações de bloqueio pessimista e bloqueio otimista

13. Condições e soluções de deadlock, fale sobre o algoritmo dos banqueiros

14. O handshake triplo do TCP acenou quatro vezes, por que acenar quatro vezes

15. Algoritmo de controle de fluxo TCP (janela deslizante), algoritmo de controle de congestionamento

16. Como resolver o problema de várias instâncias causado por usuários que clicam frequentemente para abrir uma nova atividade (modo de inicialização de atividade)

17. Como julgar se duas listas acíclicas unidas individualmente se cruzam

18. Escreva o título: leetcode 445

19. Pergunta retórica

O volume de perguntas secundárias é muito grande, com foco em Java / OS / algoritmos , mas não há perguntas particularmente difíceis de responder. Se você se preparar com cuidado, a maioria delas pode ser respondida. O entrevistador também foi muito simpático e deu muitas orientações e dicas.

Por causa do momento do entrevistador de três lados, os três lados da nomeação dois dias depois

Três lados (~ 45min)

1. Introdução

2. Fale-me sobre o trabalho do estágio: Foi você mesmo quem fez? Quais as dificuldades que encontrou? Quais foram os resultados?

3. Como o RecyclerView implementa o cache de itens? Qual é a diferença com ListView ( me perguntaram porque o item é usado)

4. Escreva o título: leetcode 1233

5. Pergunta de design: função da lista de contatos do WeChat

(1) Projetar uma API para adicionar contatos (responder em termos de formas possíveis, formulários de dados e parâmetros de interface)

(2) Como implementar a IU da lista de contatos (RecyclerView para respostas)

(3) Como realizar a função de posicionamento rápido das iniciais AZ

6. É um Android autodidata? Por que você escolheu essa direção? Você tem alguma experiência para alunos que também querem aprender sozinhos?

7. De onde você é e por que deseja trabalhar em Xangai

8. Pergunta retórica

Não há muitas perguntas de três lados, mas como a maioria das perguntas não tem respostas padrão, a dificuldade é realmente maior do que uma ou duas

Quatro lados (1 hora 14 minutos)

Eu perguntei principalmente sobre java e máquinas virtuais, e perguntei um pouco sobre android
1. Introdução ao projeto de estágio e respostas às perguntas
2. A diferença entre reflexão e proxy, proxy dinâmico, proxy estático, a diferença entre os dois e o diagrama UML do modo proxy
3. Word Tecnologia de economia de código
4. Delegação parental de máquinas virtuais e benefícios
5. A função da pilha de máquina virtual e em que circunstâncias será enviada ao Stack Overflow
6. Quem pode fazer GCRoot, por que o método de contagem não é tão bom quanto a acessibilidade
7. Por que você deseja dividir novos alunos Como distinguir entre gerações e gerações antigas
8. O algoritmo GC introduz
o processo de 9. carregamento de classe, o que é armazenado na área de método, que tipo de informação está incluída e como julgar se duas classes são iguais.
10. Fale sobre o método put de HashMap, fale sobre como expandir, fale sobre uma classe como HashMap, quais métodos implementar, qual é a diferença e conexão entre equals e hashCode
11. Fale sobre o mecanismo de mensagem, fale sobre ThreadLoacal, fale sobre informações de processamento do Handler Existe algum método (diferente de handleMessage), existe um limite de comprimento para MessageQueue? Existem muitas mensagens no Android?
12. Um processo de ciclo de vida do salto de Atividade A na Atividade B 13. Atividade
A (modo padrão) salta para B (singleton modo), então B salta para A, eo que acontece quando ele retorna?
14. A diferença entre InVisible e Gone, a diferença entre Gone e ViewStub
15. A primeira vez que um caractere aparece na string

Cinco lados (34 pontos)

Relacionado à rede de computadores
1. A arquitetura osi de sete camadas, o que a camada física faz
2. Uma série de coisas que acontecem após inserir a URL
3. Que protocolo é usado no
DNS e como fazê-lo 4. Protocolo de comunicação TCP de três vias e controle de fluxo
5. O que está na mensagem HTTP
6. Qual é a diferença entre HTTP e HTTPS, e qual é o algoritmo de criptografia
7. Quais são os códigos de resposta de HTTP?
8. A diferença entre get e post
9. Duas matrizes ordenadas, encontre a mediana

Seis lados (50 minutos)

Aspectos aprofundados do Android e experiência de estágio
1. Projeto de estágio relacionado (incluindo algumas implementações específicas e algumas questões-chave)
2. A função do
LayoutManager 3. Qual é a compreensão do uso do RecyclerView, como implementar uma cascata dupla
4. Como projetar um SDK (Muitas perguntas detalhadas)
5. Jogar cartas, a probabilidade de tirar cinco cartas é um flush, e a probabilidade de tirar cinco cartas é um straight
6. RN e Redux's compreensão, benefícios e uso, e a proporção de android e RN no trabalho
7. Os benefícios do modo singleton, quando você não deve usar o singleton? 8. Você
entende a implementação interna do SP? Como conseguir a serialização
9. Você entende a injeção?

Bytedance, entrevistei 3 vezes no total, um total de seis lados, e finalmente recebi uma oferta!

Na última entrevista ao ByteDance, um dos três entrevistadores era meu líder.Ele me perguntou na época, o que você gostaria de fazer se lhe fosse dado um trabalho que só pode ser feito em uma ou duas semanas. Eu disse, primeiro discuta com você e expresse sua opinião. Se você insistir em providenciar para mim, farei hora extra. . . Pode ser legal. . . . Até que seja feito. . . . Ele riu e riu. . . Ele me fez essa pergunta e eu sabia que ele era o líder. E acho que esse problema pode ter me salvado. Para ser honesto, sou um cara de Shandong relativamente direto. Acho que não há problema em trabalhar horas extras. O líder também pode gostar de mim de maneira mais direta, então tirei vantagem disso. Sou muito grato ao meu personagem por me dar uma chance.

Outra questão é por que rejeitamos a Huawei. Na verdade, o salário oferecido pela Huawei é muito bom. Exceto por hr, me sinto um pouco menosprezado. O principal motivo é que a entrevista é muito aguada, o que me faz sentir que o nível de pessoas que entram não é muito alto, e então eu não quero ir. .... Eu sempre acreditei que somente em um ambiente de alto nível podemos alcançar um maior crescimento. Claro, a Huawei ainda é muito forte e realmente espero pular para a Huawei em alguns anos. . . .

fim

Não há atalho para mudar sua vida. Você precisa trilhar esse caminho sozinho. Apenas o pensamento profundo, a reflexão e o resumo constantes, manter o entusiasmo pelo aprendizado e construir seu próprio sistema de conhecimento completo passo a passo são as formas definitivas de vencer. É também a missão que os programadores devem cumprir.

As perguntas da entrevista avançada acima e os materiais de aprendizagem do sistema podem ser compartilhados com todos gratuitamente. Amigos que precisam da versão completa, clique aqui para ver todo o conteúdo .

Acho que você gosta

Origin blog.51cto.com/14971211/2542826
Recomendado
Clasificación