Autor: homem da lua estourou corda
Escreva na frente
Depois de muito pensar nisso, comecei a escrever sobre minha experiência de entrevista, ninguém deveria ser melhor do que Ben Xiaocaiji. O proprietário fez um segundo diploma em Faisão e, em seguida, formou-se e foi para uma empresa de soluções para desenvolver o Android Framework da plataforma MTK por um ano, e depois foi para uma Pheasant University na Austrália para fazer um mestrado.
Recrutamento de outono aprovado oficialmente
Em setembro, todos estavam se candidatando a currículos para encontrar empregos, e Ben Xiaocaiji também estava pronto para se mudar, então ele seguiu os grandões para votar em currículos (inesperadamente para ser o denominador) QAQ. . . . Desenvolvimento Android que votou pela superação de byte
exame escrito
Eu havia esquecido algumas perguntas do teste escrito de CA por muito tempo, então recebi um e-mail atordoado e pedi que fosse para uma entrevista.
um lado
Por um lado, eu me apresentei e, em seguida, introduzi o processo de entrevista e, em seguida, comecei a testar a redação de oito etapas da rede de computadores
- A diferença entre TCP / UDP
- Agendamento de thread de processo
- Hand tear LRU não pode usar LinkedHashMap
- Outra questão é usar o DFS para pesquisar o número de caminhos pelo labirinto e terminá-lo violentamente.
- O próximo passo é falar sobre o projeto, reproduzir o método de compressão de dados de um papel, (BWT), explicar em detalhes
- Ligação retórica
A mentalidade desmoronava o tempo todo, e acrescentando que havia um exame naquela época, fiquei desapontado e voltei para me preparar para o exame. . . . .
Dois lados
O entrevistador do segundo lado é muito bom e a experiência é muito boa. É um conjunto de antigos ensaios em oito partes,
- Você usou o hashmap do Java?
- Como isso aconteceu
- Perguntando à Árvore Vermelho-Preta
- Pergunte sobre segurança de thread e conflitos de hash
- Escreva a
velha pergunta dp, a maior subsequência comum
e, em seguida, pergunte ao sistema operacional, esta parte não foi respondida bem. . . . . .
Então recebi uma carta de agradecimento. . . . .
Então, em dezembro, o irmão mais novo caiu acidentalmente e foi operado. Durante a internação, quando não aguentou a refeição na cantina do hospital após a operação, recebeu byte HR quando pediu ao pai para sair para comprar um pequeno vinho e bebida. Telefone de homem. . .
Desenvolvimento de plataforma cruzada de bytes
um lado
- Auto apresentação
- Você já fez desenvolvimento para Android?
- Apresente a estrutura do código-fonte
- Quais são os métodos de comunicação entre processos (ipc) no sistema operacional? - (semáforo, soquete, pipe, named pipe, mmap)
- Introdução ao mecanismo Android Binder
- Inicie o processo de Activity (porque o irmão mais novo leu o código-fonte AOSP, esta parte começa com startActivity e fala sobre o handleMessage no ActivityThread ... Estima-se que o entrevistador esteja cansado de ouvir ... Chamado quase OK ... )
- Ver o processo de desenho? Não respondi esta parte.
- Há alguma otimização de banco de dados? Crie índices - pergunte quando o índice falha? - Acabei de responder onde gostaria. . .
- Qual é a diferença entre http1.1 e HTTP 2 na rede de computadores? (Não sei ...) Não
demorou muito para o RH informar o passe. . . . Irmão Jiwang, o banco de dados está realmente puxando seu quadril
Dois lados
- Auto apresentação
- Introdução ao Projeto
- Persiga o objetivo do projeto
- Você está familiarizado com o sistema operacional? Vamos falar sobre o sistema operacional. Quais são as etapas para a CPU executar as instruções? (Endereçamento, busca, execução)
- Qual é a diferença entre PC e SP? (Contador de programa e ponteiro de pilha)
- Você entende mmap (o antigo IPC significa, esta é a resposta mais clara, e eu falei sobre sincronizá-los)
- Qual é a diferença entre a função virtual C ++ e a função virtual pura? Você conhece a tabela de funções virtuais? (Fale um pouco sobre a sintaxe)
- Kotlin pode usá-lo? (Não) Eu fico um pouco desconfortável depois de não ter estudado e ficar me perguntando
- Comparação de comunicação Binder e comunicação de socket?
- Se você fosse solicitado a projetar um SDK baixado, como você o projetaria?
- Tcp acenou quatro vezes, por que esperar por 2MSL depois que o cliente responde ao ack do servidor?
- Escreva as perguntas em ordem de classificação de três cores e faça o processo de partição. Depois de
rasgar o código, está tudo acabado e o RH informa para que ele seja aprovado e, em seguida, faz um compromisso em três lados. . .
Já se passou muito tempo em três lados, e já se passou mais de uma semana devido ao tratamento de reabilitação e à revisão do hospital.
Três lados
- Auto apresentação
- Apresente o processo do projeto
- Fale-me sobre o sistema operacional (modo de usuário do modo kernel)
- Você mencionou syscall, por favor me dê um exemplo, como o processo de chamada de abertura
- inode introduzir
- Uma matriz bidimensional, 0 significa espaço, 1 significa vírus, 2 significa pessoas suscetíveis
e em cada rodada o vírus se espalhará para suas quatro grades adjacentes (para cima, para baixo, esquerda e direita) e, em seguida, a pessoa infectada tem um período de incubação. É equivalente à propagação após uma rodada. Existem vários vírus em uma matriz e eles começam a se espalhar ao mesmo tempo. Pergunte se isso pode infectar todos. Se você pode voltar à rodada, caso contrário - 1. (BFS é usado aqui) - Você entende o protocolo em socket? (Não entendo)
- Como o TCP garante a transmissão sequencial?
- Ligação retórica
Pouco depois da entrevista, o RH disse aos três lados que passassem. . . . Tenho uma reunião com o RH. . . . .
Rosto de RH
um pouco……
Finalmente, uma semana depois, recebi um byte de OFERTA e entrei no trabalho com sucesso!
Prepare-se para ouro três prata quatro
Deixe-me compartilhar com vocês uma cópia de "2020 Android Review Document Summary Edition"
O livro de entrevistas não inclui apenas as perguntas que encontrei na entrevista, mas também inclui perguntas coletadas de alguns amigos. No trabalho futuro, continuarei a atualizar e enriquecer o livro de entrevistas.Claro, também espero que todos possam contribuir com mais perguntas de entrevista de alta qualidade.
Ele não apenas mostra as perguntas comuns de entrevista e habilidades de resposta, mas também explica em detalhes os pontos de conhecimento contidos em cada pergunta, de modo que todo programador não apenas saiba o que é, mas também por que é.
Por questões de espaço, as imagens a seguir mostram parte do conteúdo. Se precisar do PDF completo de notas de estudo a seguir, você pode curtir e comentar para apoiar o irmão trabalhador.Você pode acessar meu projeto GitHub: https://github.com/733gh/Android-T3 para ver esses documentos de estudo.
Notas básicas de desenvolvimento do
Android Pontos de conhecimento da entrevista do Android Daquan
outro
Finalmente, como o comprimento do artigo é limitado, só posso compartilhá-lo aqui por enquanto. Mas eu gosto de coletar e resolver algumas questões de entrevistas relacionadas ao Android em meu tempo livre e conduzir minha própria escovação para testar se eu atendo às necessidades da posição de mercado. Se você quiser saber mais sobre questões de entrevistas relacionadas ao Android e algum conhecimento pontos, você pode ir diretamente para o endereço do meu projeto GitHub: https://github.com/733gh/Android-T3 para visualização.