Comment me suis-je préparé à l'entretien technique lorsque j'ai reçu l'offre d'entretien Tencent Android!

L'expérience d'entrevue de Tencent

L’interview de Tencent signifie que j’ai passé le test écrit de Tencent, puis un côté, deux côtés, trois côtés, et enfin l’entretien RH, puis attendre les nouvelles et enfin obtenir l’offre. Le test écrit consiste essentiellement en des connaissances de base, telles que la structure des données, les principes de composition informatique, les systèmes d'exploitation et les réseaux informatiques. Écoutez attentivement en classe et posez quelques questions avant le test écrit n'est pas un gros problème.

Du côté de Tencent, j'ai surtout parlé de quelques bases, je suis allé vers le client mobile, mais il y avait très peu de questions liées au mobile dans toute l'interview. L'essentiel était de parler de quelques bases. Si vous souhaitez obtenir une offre de Tencent, je pense que la fondation est très importante. En ce qui concerne les questions d'entretien, je ne pense pas qu'il y ait grand-chose à mentionner, car ces questions ne sont pas fixes. L'intervieweur parle principalement avec vous autour de votre CV. Dans votre CV, il est écrit que votre APP implique le téléchargement., Ensuite, le Internet doit demander, que demandez-vous? Je pense que TCP et HTTP valent tous deux la peine d'être demandés. Il y a un livre intitulé "Auto-cultivation du programmeur" Je pense que ce livre a besoin de temps pour être lu. J'ai vu beaucoup de gens se plaindre que je vais affronter iOS, et mon interview est en fait un Android.De mon point de vue personnel, que ce soit iOS ou Android, il existe de nombreuses similitudes dans de nombreuses idées de design. Dites simplement ce que vous pensez. Je pense personnellement que la réflexion est toujours très importante.

Partage des questions d'entretien:

1. La différence entre mvp et mvvm comment la liaison de données dans mvvm actualise la vue
2. Communication inter-processus, mécanisme de reliure
3. Principe de Leakcanary
4. Optimisation de la mémoire et outils, APK minceur
5. La différence entre obtenir et poster, entrez une adresse dans le navigateur, puis Afficher les opérations effectuées dans le processus de la page
6. Le principe du
téléchargement et du téléchargement avec reprise 7. Le principe de la mise en cache glide, le principe de l'algorithme lru
8. Le principe du proxy dynamique

La plus grande impression que Tencent m'a donnée était une phrase de l'intervieweur, choisissez un projet que vous pensez être OK, puis nous parlons de quelque chose. A partir de cette phrase, je sens que beaucoup de gens peuvent le sentir. Le deuxième aspect est principalement de parler de vous. Il doit y avoir un projet. Et préparez bien cette chose. Il n’ya pas non plus de problèmes spécifiques. Le projet de chacun est différent et le plan de mise en œuvre ne peut pas être exactement le même. Par conséquent, il est impossible de parler des mêmes choses. Par contre, il y a trop d'expérience, mais l'essentiel est de préparer un projet sérieusement.

Questions d'entrevue recto-verso à partager:

1. machine virtuelle Java
2. Optimisation de la mémoire
3. Arraylist hashmap linkedhashmap
4. Binder 5.
SurfaceView et vue
6. AMS WMS
7. APK minceur
8. Verrouillage (scénarios et solutions de blocage)
9. Algorithme de comparaison de deux chaînes La plus grande chaîne publique est principalement l'idée (face aux problèmes, utilisez des plus gros)

Trois questions d'entretien à partager:

1. Optimisation http multiplexage okhttp
2. Problème d'échange de pièces [algorithme]
3. Problème de passage de voiture, sur une route, la probabilité de voir une voiture passer dans les 30 minutes est de 90%, puis quelle est la probabilité dans les 5 minutes
4 Le formulaire d'affichage de la figure
5. Le code de la fonction de conversion globale des devises
6. Donnez-vous un tableau d'entiers nums, veuillez trouver la longueur du sous-tableau le plus long dont le produit est un nombre positif

Préparation avant l'entretien

C'est ce dont je veux parler le plus avec vous, car il faut se concentrer sur le partage de la préparation avant l'entretien ou de ce qu'il faut préparer.

Beaucoup de gens ne savent pas quoi dire pendant l'entretien, et beaucoup de gens disent également qu'ils devraient diriger l'intervieweur au lieu d'être dirigés par l'intervieweur. Mais que faire? Ne laissons-nous pas l'intervieweur parler? Faisons-nous des questions pour l'intervieweur? Tout cela est irréaliste, non? Cependant, avec un peu de préparation, nous pouvons toujours «définir un sujet» pour l'intervieweur. Que devons-nous faire? Donnez quelques exemples simples

Par exemple: vous écrivez dans votre CV que vous avez une certaine compréhension de Socket, alors il est naturel de parler de TCP, vous vous préparez bien à l'avance, vous pouvez le prédire vous-même, lorsque l'intervieweur vous posera des questions sur votre Socket, cela ira naturellement à TCP. Comment préparer? Beaucoup de gens ont vérifié sur Internet.Le TCP classique est la poignée de main à trois pour la connexion et les quatre mains agitées une fois déconnecté. Vous avez également simplement vérifié le type de poignée de main trois fois et le type de vague quatre fois, mais est-ce juste suffisant? Pourquoi n'allons-nous pas plus loin pour nous préparer? Par exemple, pourquoi y a-t-il trois fois de connexion et quatre fois de déconnexion? Que se passe-t-il si je me connecte deux fois? Un total de trois paquets sont envoyés dans la poignée de main à trois, alors ne remplit-il que trois fonctions? Aller plus loin peut impliquer la structure d'en-tête TCP, ainsi que la connexion TCP. Quelles sont les valeurs effectives de SYN, FIN et ACK une fois déconnecté? Je crois que vous obtiendrez certainement des points si vous leur dites tous. Bien sûr, si vous voulez bien le dire, cela ne veut pas dire que vous pouvez le vérifier avant l'entretien, il faut le comprendre. C'est ce que j'appelle la préparation avant l'entrevue: n'interviewez pas pour l'entrevue, mais apprenez pour l'entrevue et améliorez-vous.

Je peux donner un autre exemple simple: en ce qui concerne la mise en cache d'images, il existe de nombreuses solutions de mise en cache dynamique d'images sous iOS et Android. Si vous écrivez dans votre mémoire que vous avez effectué des opérations connexes, je pense que cela vaut toujours la peine d'être posé. Sachant qu'on vous demandera, vous devez bien vous préparer avant l'entretien. Pendant le processus de préparation, je pense que je dois résumer quels sont les avantages et les inconvénients de ma solution, que prévoyez-vous de faire en réponse à vos inconvénients, ou comment vous pouvez résoudre certaines bibliothèques open source bien connues que vous savez, vous avoir De quoi puis-je apprendre, donc je pense que vous devez obtenir des points.Au moins, vous avez lu des bibliothèques open source et y avez pensé sérieusement.

J'ai vu quelqu'un demander comment mettre en cache des images, il a simplement dit de télécharger des images via une URL et de les enregistrer pour utilisation. Il y a beaucoup de choses qui méritent d'être discutées à ce sujet. Dites simplement ceci, je pense qu'il est impossible pour l'intervieweur d'obtenir la réponse qu'il veut. Il n'a pas obtenu la réponse et il doit aller vous demander à nouveau. À ce stade, vous serez considérablement passif, et la prochaine étape est d'être conduit par l'intervieweur. Certaines personnes demanderont de quoi puis-je parler?

Permettez-moi de donner quelques exemples simples. Par exemple, le schéma de mise en cache de l'image doit impliquer le téléchargement de l'image. Puisqu'il s'agit d'un téléchargement, comment rappeler les informations de progression du téléchargement? Que faire si le téléchargement échoue? Comment faire le rappel lorsque le téléchargement est terminé? Le téléchargement doit impliquer des téléchargements multi-threads, alors comment gérez-vous ces threads? Quelle est la structure du gestionnaire de threads? Même une connexion de téléchargement d'URL est en cours de téléchargement, et un autre endroit lance un téléchargement de la même URL. Dans ce cas, je pense que pour économiser des ressources, un nouveau fil de discussion ne doit pas être ouvert pour le téléchargement. Ensuite, avez-vous traité de ceci situation? En fait, il y a de nombreuses questions qui méritent d'être examinées et qui méritent d'être abordées. Faites la mise en cache, ce que vous faites est la mise en cache de disque? Ou cache mémoire? Ou est-ce les deux? Que ce soit pour prendre en charge le réglage de la taille de l'espace disque, comment définir la période de validité de l'image et le travail de nettoyage de l'image, je pense que peu importe que ce soit sous iOS ou Android, ces bibliothèques open source bien connues ne peuvent pas simplement avoir un nettoyage plan, qui doit prendre en charge le nettoyage partiel, ou Quelle est la base de tout nettoyage et nettoyage partiel? Par exemple, nettoyez en fonction de la période de validité de l'image. Après la période de validité que nous avons définie, nous devons nettoyer cette partie du contenu à ce stade. De plus, si la taille totale de tous les fichiers mis en cache dépasse cette taille, les fichiers prématurés seront supprimés dans une demi-récursivité à chaque fois dans l'ordre inverse de la dernière heure de modification des fichiers jusqu'à ce que la taille réelle du cache soit inférieure à l'utilisation maximale, nous définissons l'espace. Il y a beaucoup de choses à dire à propos de ces choses, bien sûr, tant que vous avez une compréhension plus profonde et une compréhension plus profonde, plus vous ferez l'expérience et meilleure sera votre expression.

Je pense qu’il est facile de parler des choses que je viens de mentionner pendant 20 minutes, car il y a trop de choses et de points à noter. Préparez un projet, trouvez un point positif dans votre projet, puis résumez-le sérieusement, et regardez les plans d'autres personnes, voyez ce que vous n'avez pas, ce que vous n'avez pas est le défaut de votre plan, et voyez comment le résoudre. Je pense que les défauts sont toujours très importants, il n'y a pas de solution parfaite, une bonne solution consiste uniquement à répondre à tous les besoins actuels de l'entreprise. Selon les besoins de votre entreprise, parlez de votre philosophie de conception. Vous n’avez pas besoin de trop de projets, résumez-en un sérieusement. La clé est que beaucoup de gens ont fait beaucoup de projets, mais ils n'ont pas sérieusement compris et résumé un, et ils l'ont fait pour rien, c'était seulement l'augmentation de la maîtrise du code.

Épilogue

N'interviewez pas pour des entretiens, mais apprenez pour vous améliorer. Si vous vous améliorez, vous pourrez affronter sereinement les entretiens d'entreprises bien connues.

Écrivez d'abord ici, le mot de code n'est pas facile, et l'écriture est très unilatérale. Veuillez signaler les mauvais points. Si vous pensez qu'il a une valeur de référence, vous pouvez également faire attention à moi.

Mon [Github] partagera quelques connaissances sur les aspects avancés d'Android et partagera également les dernières questions d'entrevue ~

Si vous maîtrisez les points de connaissances listés dans [Github] , je pense que cela augmentera considérablement vos chances de réussir les deux premières séries d'entretiens techniques! Ces contenus sont pour votre référence et apprennent les uns des autres.

① Version PDF Full HD "Analyse des questions d'entrevue Android" + ② Package de compression de carte mentale d'apprentissage "Android Interview Knowledge System" —————— Vous pouvez le lire et le télécharger sur mon [Github] , et enfin vous sentir utile et nécessiter des amis. J'aime ça

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43901866/article/details/111310737
conseillé
Classement