Petit livre sur l'optimisation des performances Android! Analyse approfondie d'Android-AutoLayout, partage d'une petite expérience d'entrevue

Situation actuelle: les étudiants de premier cycle d'une université privée de 10e classe sont en fait en contact avec Android depuis plus de 6 ans et travaillent depuis cinq ans et demi (notez que je parle d'années de travail, pas d'expérience de travail). Je me suis reposé après avoir à peine démissionné en janvier de cette année., je n'ai souvent pas reçu quelques offres en une semaine, et je suis finalement arrivé au côté RH. J'ai également été abandonné en raison des exigences salariales élevées. J'ai finalement obtenu un offre qui n’était pas particulièrement satisfaisante.

Tout d’abord, je tiens à préciser que dans l’environnement actuel, l’Internet mobile est bel et bien en hiver. Surtout pour le développement Android / IOS, bien que ce ne soit pas une industrie en déclin, c'est loin d'être la profession informatique populaire. Étant donné qu'un grand nombre de petites entreprises d'innovation ont fait faillite en raison de l'épidémie, la nouvelle de licenciements par de grandes entreprises telles que 360, Didi et Ctrip peut effectivement être vue. Quant aux petites entreprises qui sont encore en vie, les exigences pour les développeurs mobiles. . . Cela semble être hors sujet ~ Parlons des entretiens d'embauche.

En regardant les besoins du recrutement en ligne d'emplois Android:

Exigences du poste Android
Nécessite une maîtrise de l'architecture système et des technologies associées, une familiarité avec l'interface utilisateur avancée et le code source du framework, une maîtrise des plug-ins, de l'optimisation des performances et de l'expérience de développement Java. . .
La première impression que me donne l'interview vidéo est que les questions sont trop difficiles, même si le salaire est bas, et les exigences d'entretien sont toujours élevées.

Entretien téléphonique régulier

1 Idées de base JAVA: modèles de conception et orienté objet
2 Processus de dessin Android View
3 Problèmes généraux relatifs aux composants
4 Mécanisme de distribution d'événements 5 Problèmes de
multi-threading et de sécurité
6 Problèmes d' optimisation des performances et de compatibilité Android: solutions d'optimisation des performances

Entretien spécifique

1 Principe du pool de threads
2 Combien de façons existe-t-il pour réaliser la sécurité des threads
3 Principe du framework de chargement d'image
4 Principe du protocole Http
5 Principe d'Okhttp
6 Diverses optimisations de la mémoire
7 Principe du mécanisme de ramasse-miettes
8 Discuter de la compréhension des requêtes synchrones et asynchrones
9 Comment assurer la synchronisation et asynchrone
10 Intent servise, le principe sous-jacent est réalisé.11
Pourquoi Handler peut-il effectuer une communication inter-ville?
12 Pourquoi Handler ne peut-il pas être déclaré dans un sous-thread, et après la déclaration, une exception être signalé lors de l' exécution.
13 Combinaison de protocole de communication Rxjava et amélioration
14 Parlez de votre threadsafe compréhension du
15 principe de pool de threads personnalisé? Comment définir
16 Principe du framework Glide
17 Verrou d'extension
18 Parler de la pile de protocoles TCP
19 Lien de socket, comment se connecter
20 Git Comment soumettre deux requêtes pour garantir le même ID (opération en ligne de commande)
21 Comment localiser ANR, OOM, rapidement

Partie de modèle de conception

** · ** Présentation des modèles de conception
** · ** Mode singleton, plusieurs types, avantages et inconvénients
** · ** Mode observateur, vous pouvez parler de la conception et de la mise en œuvre d'EventBus
** · ** Mode adaptateur et scénarios d'application
* * · ** Mode lié à l'usine
** · ** Mode stratégie, scénarios d'application sous Android
** · ** MVC, MVP, MVVM, comparez les similitudes et les différences, choisissez-en un sur lequel vous concentrer

Collection de janvier (développement Android intermédiaire par une entreprise)

** · ** Parlez de la compréhension des gestionnaires
** · ** Le Rx est utilisé dans le projet, quels sont les avantages, le projet a-t-il rencontré des fuites de mémoire lors de l'utilisation de Rx et comment le résoudre
** · ** Android 8.0 adaptation de la caméra Avez-vous rencontré des problèmes?
** · ** Parlez de votre compréhension du mécanisme d'autorisation Android, avez-vous déjà compris les autorisations personnalisées?
** · ** Quels problèmes avez-vous rencontrés lors de l'intégration de cartes?
** · ** Le projet utilise listview ou Quels sont les avantages de recycler et recycler par rapport à list
** · ** Quand appeler onNewIntent
** · ** Parlez de la compréhension de la plug-inisation, quelle est la différence entre la composanteisation et la plug - inisation , et les avantages de la composantisation
** · ** Comment résoudre Le problème du taux de livraison push
** · ** entrecoupé de fragment manager pour la gestion des fragments, les outils de débogage, les pools de threads et les choses liées aux processus

Collecte en février (développement Android junior et intermédiaire d'une entreprise)

** · ** Si l'activité en arrière-plan est recyclée par le système pour une raison quelconque, comment enregistrer l'état actuel avant que le système ne soit recyclé?
** · ** Cycle de vie du service, comment démarrer et fermer un service?
* * · ** Le service et l'activité sont-ils dans le même thread?
** · ** Quels sont les quatre composants utilisés? Recevoir simplement leur utilisation?
** · ** La différence entre le lien UDP et TCP, comment utiliser le socket?
** · * * Comment déboguer le débogage dans le développement Android? Écrivez vos commandes de débogage adb couramment utilisées

Apprentissage du bien-être

[Carte mentale détaillée des points de connaissances Android (arbre de compétences)]

En fait, il y a tellement de points de connaissance dans le développement Android, et il y a encore quelques choses dans l'interview. Par conséquent, il n'y a pas d'autres astuces pour l'entretien, regardez simplement dans quelle mesure vous vous préparez à ces points de connaissances. Ainsi, lorsque vous sortez pour une entrevue, il est bon de voir à quelle étape vous en êtes dans votre évaluation.

Bien qu'Android ne soit pas aussi chaud que les années précédentes, l'ère de la recherche d'emplois bien rémunérés avec les quatre principaux composants est révolue. Cela ne peut que montrer que les postes inférieurs au niveau intermédiaire d'Android sont saturés. Désormais, les ingénieurs seniors font encore relativement défaut . De nombreux postes supérieurs reçoivent des salaires très élevés (vous ne pourrez peut-être pas en trouver un qui vous convient si vous avez plus d'argent), donc je m'efforce de devenir ingénieur senior.est le plus important.

Vous trouverez ci-joint des dizaines d'ensembles de ByteDance liés aux questions d'entrevue susmentionnées, des questions d'entrevue de JD.com, Xiaomi, Tencent, Toutiao, Ali, Meituan et d'autres entreprises en 19 ans. Les points techniques sont organisés en vidéos et PDF (en fait, cela a demandé beaucoup d'efforts que prévu), comprenant des connaissances + de nombreux détails.

En raison de l'espace limité, je vais vous montrer une petite partie sous forme d'images.

La disposition détaillée peut être vue sur GitHub;

Vidéo d'architecture Android + sujet d'entrevue BAT PDF + notes d'étude

Il y a beaucoup de matériel pour apprendre Android sur Internet, mais si les connaissances apprises ne sont pas structurées, et quand vous rencontrez des problèmes, il suffit de les goûter et d'arrêter de l'étudier en profondeur, alors il est difficile d'obtenir une véritable amélioration technologique. J'espère que ce système technique systématique vous fournira une référence d'orientation.

Il y a beaucoup de matériel pour apprendre Android sur Internet, mais si les connaissances apprises ne sont pas structurées, et quand vous rencontrez des problèmes, il suffit de les goûter et d'arrêter de l'étudier en profondeur, alors il est difficile d'obtenir une véritable amélioration technologique. J'espère que ce système technique systématique vous fournira une référence d'orientation.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_52746928/article/details/112942585
conseillé
Classement