Expérience de formation en développement Android! Que signifie l'histoire d'une grande entreprise comme BAT? guidage de l'utilisateur

L'état actuel du développement Android

À l'heure actuelle, le développement mobile est déjà à un stade saturé, et le développement Android n'est pas aussi populaire qu'il l'était dans le passé, et il n'est plus aussi populaire qu'il y a quelques années. Tout comme un langage de programmation a connu son apogée, il doit avoir une telle courbe, comme la courbe sinusoïdale que nous avons apprise, monte d'abord rapidement, puis atteint le pic, puis diminue, et enfin s'approche d'une valeur stable.
On peut voir qu'à partir du second semestre 2016, l'Internet mobile est fondamentalement dans une phase de développement lent, et de nombreux bigwigs l'appellent la seconde moitié d'Internet. Si la première moitié de l'Internet mobile est une étape étendue et forte, alors la seconde moitié est l'étape de la défense du territoire: à ce stade, il y aura de nombreux oligarques.
Techniquement, par rapport à l'entretien précédent, seuls les quatre principaux composants d'Android ont été demandés. La base de données, le réseau et l'expérience du projet sont différents. Désormais, l'entretien pour les postes Android permettra de concevoir divers principes (y compris certains principes du système et les principes et processus de bibliothèques tierces), l'optimisation Android et la technologie multiplateforme liée à Android. De plus, les entreprises légèrement plus grandes auront également besoin d'une expérience utilisateur, d'une maîtrise, etc. de l'application, de sorte que les entretiens Android ne sont plus les mêmes.

Les techniques d'entretien sont les suivantes:

1. Ingénieur UI senior

1. Processus et principe de dessin de l'interface utilisateur
2. Mécanisme de livraison d'événements Analyse approfondie de la couche de code source
3. Explication détaillée du principe de l'animation d'attributs
4. Principe et application d'accélération matérielle de la vue personnalisée du combat réel
5. Haute performance, rendu de page, activité des composants

2. Ingénieur de développement de fond Android

1. Connaissances de base: Fonction principe de disposition de la mémoire Linux 2.
Promotion de base C ++: héritage de classe, polymorphisme, classe abstraite, héritage de modèle
3. Syntaxe MakeFile: fichier Android.mk et donc processus de packaging
4. Syntaxe du shell: définition de variable À utiliser, méthode mécanisme de transfert de paramètres, écriture de script shell et exécution de la compilation de la bibliothèque ffmpeg
5. Compilation AS Principe de So
6. Principe et réalisation audio et vidéo, acquisition et codage audio et vidéo
7. Explication détaillée du principe Opencv
8. Technologie de base d'appel vidéo QQ-WebRTC Réaliser le principe de la communication point à point

3. Architecte senior Android [direction de conception de l'architecture de base Internet de première ligne, direction du cadre]


1. Conception du cadre d'événements Android 2. Aucune analyse d'angle mort Codage du système Android
3. Technologie de base Skinning
4. Conception du cadre de composants
5. Conception du cadre de plug-in (style Hook)
6. Conception du cadre de la base de données
7. Conception du cadre d'accès au réseau OkHttp
8. Cadre de chargement d'images de Glide
9. Analyse de l'architecture RXJava2 et explication détaillée du code source
10. Conception du cadre IOC et modèle de conception 4.
Aspect Flutter
1. Explication détaillée de la syntaxe de Dart et principe de compilation
2. Pourquoi Flutter est une révolution technologique multiplateforme
3. Avancement de Fliutter et optimisation - Comment améliorer encore les performances de la mémoire Flutter

Entretien RH:

1. Pourquoi avez-vous quitté la dernière entreprise?
2. Que pensez-vous de votre future carrière? (Y compris la répartition du travail et de la famille, comment équilibrer la relation entre la famille et le travail, les heures supplémentaires, les considérations lors du choix d'une entreprise, etc.)
3. Attente de salaire (ne comptez pas seulement, ne montrez jamais combien d'argent ou quel niveau Je ne vais pas, c'est une question de goût, pas de capacité)

Quelques questions posées aux candidats:

1. Quel est le plus grand défi rencontré dans le projet? Comment le résoudre?
2. Quelle est la chose la plus épanouissante
3. Selon vous, quelles sont vos faiblesses / forces dans votre travail?
4. Parlez des forces et des faiblesses de votre propre personnage (décrivez votre propre personnage)
5. Aux yeux de vos amis, à quel genre de personne ressemblez-vous aux yeux de vos proches?
6. Que pensez-vous des heures supplémentaires (pouvez-vous accepter 996, 997, 007)? Si le ton du candidat est dans la ligne (assez officiel), vous pouvez répondre de cette façon: je pense que nous devons faire plus d'efforts pour réaliser nos rêves, donc je suis prêt et je suis prêt à me battre avec mes amis. Il est possible de faire des heures supplémentaires Je fais des heures supplémentaires plus intensément maintenant. Parce que j'aime ce truc, je veux bien le faire.
7. La réduction de salaire est-elle acceptable? (Comme Ant, vous savez) Si le ton du candidat est conforme (assez officiel), vous pouvez répondre de cette façon: je comprends aussi la structure salariale actuelle d'Ant Financial, et je pense que l'entreprise versera un salaire raisonnable en fonction de mes capacités. . Le plan, je crois que tant que les choses sont bien faites, il doit y avoir quelque chose pour un département comme Ant, "Nous écrivons l'histoire et nous faisons quelque chose que personne n'a jamais fait auparavant, donc ça doit être difficile, ça doit être Cela demande beaucoup d'efforts », les enquêteurs apprécieront particulièrement cela.

Compétences en entretien :

1. Le statut de l'entretien est très important: deux exemples, un candidat qui a fait une offre réussie le mois dernier, a une expérience non-Internet, et l'entreprise n'est pas en première ligne, mais il a montré un fort intérêt pour Ali pendant l'entretien, et les RH nous l'ont spécifiquement mentionné par la suite, j'ai été très impressionné par ce candidat; un autre candidat qui vient d'être répertorié aujourd'hui a remporté les deux tours de technologie d'un seul coup. Enfin, les RH ont été raccrochés. Les commentaires des RH à nous c'est que le candidat vient de rejoindre sa propre start-up. En quittant le poste, il semble qu'il est très déprimé et qu'il n'a aucune idée de lui-même. En résumé, lors de l'entretien, vous ne devez ni être consciencieux, être trop passif, ni être trop exagéré, mais montrer votre respect et lutter pour une bonne opportunité, de sorte que l'intervieweur sent que vous avez un grand intérêt pour eux et pour cela. positionner.

2. Répondez à la mauvaise question: lorsque vous sentez que la réponse est dite, l'autre personne n'attendra pas de vous voir, vous pouvez faire: Répondez de manière pertinente à la mauvaise question, faites attention à mettre en valeur vos propres idées et efforcez-vous de faire en sorte que l'intervieweur empathique. Par exemple, les prix des logements à Shenzhen peuvent attirer l'empathie. Grandes plates-formes liées au commerce électronique, stabilité et marge de croissance, etc.

Précautions:

1. Tous les RH d'Ali comprennent l'entreprise, et combineront le jugement des candidats et le contrôle de l'entreprise pour passer au crible, ne les trompez pas, faites simplement ce que vous faites ...

2. Ali accorde plus d'attention aux sentiments et aux rêves que la plupart des entreprises

La devise d'Ali en huit caractères: optimiste, intelligent, pragmatique et auto-examen

Écrit dans l'expérience d'apprentissage à l'arrière.
Rappelez-vous que quelqu'un a souvent posé une telle question auparavant, comment les programmeurs apprennent-ils correctement?

J'ai déjà répondu à une question sur Zhihu: est-il efficace d'apprendre la programmation et de taper les codes des autres? Ensuite, j'ai donné une réponse à mon style d'apprentissage, mais je ne m'attendais pas à ce que la réponse soit plutôt bonne. En fait, à travers cette question, nous pouvons simplement parler de la méthode et de l'efficacité de l'apprentissage. J'espère que cet article pourra vous inspirer

Parlons de la façon d'améliorer l'efficacité de la programmation pour les débutants et comment maîtriser le problème des méthodes de programmation d'introduction.

En fait, pour les débutants, il est certainement impossible de simplement le lire et de le taper à la fois, à moins qu'il n'ait le génie de mémorable. Chaque débutant a un processus d'apprentissage si lent. Pour les débutants, l'efficacité de l'apprentissage ne doit pas être trop considérée. Une plus grande attention devrait être accordée à la qualité de l'apprentissage.

En tapant ligne par ligne en fonction des autres ou du code du livre, le plus gros gain est de pratiquer la vitesse et la capacité de frappe.

Je vais vous donner un exemple: en fait, même si vous suivez le code ligne par ligne, si vous ne le comprenez pas, vous ferez vraiment une erreur. Même si vous avez l'impression de saisir le code dans le livre ou la vidéo. Des exemples sont:

Lorsqu'un ami apprenait Java et Android, il lui arrivait souvent d'avoir le même nom de classe, mais sous des chemins de packages différents. À ce stade, si vous examinez la saisie du code, vous pouvez diriger le chemin du package incorrect, ce qui entraîne une utilisation incorrecte. Lors de l'importation du package, vous utilisez les touches de raccourci. Lorsque vous suivez la vidéo pour apprendre, vous ne connaissez peut-être pas le chemin? Ensuite, vous dirigez le mauvais chemin de package, ce qui le rend indisponible, et vous obtenez une erreur lorsque vous l'exécutez. J'ai commencé à rechercher diverses erreurs. Pourquoi le code de la vidéo fonctionnait-il normalement? J'ai tapé exactement la même chose que ce qu'il a tapé. Pourquoi ai-je signalé une erreur?

Par exemple, Date, certains se trouvent dans le chemin sql et d'autres dans le chemin du package util. Il existe de nombreux cas de ce type en Java. Si vous ne comprenez pas l'utilisation et les principes, cela se produira.

Que nous dit cet exemple? C'est très simple, qu'est-ce que c'est à lire? Au lieu de lire un livre pour le suivre pour taper le code petit à petit, mais lire un livre, c'est lire les points de connaissance et les principes du livre. Il est nécessaire de comprendre les points de connaissance et les principes et méthodes de ces chapitres dans le livre. C'est la lecture et l'apprentissage. Lire pour apprendre, quelle est la particularité de la lecture.

La prochaine étape que vous comprenez est de frapper . Qu'avez-vous fait avant de taper le code? J'ai compris les principes, les méthodes et les points de connaissance, alors maintenant que je comprends, puis-je essayer de frapper à l'aveugle? Ne lisez pas de livres, ne regardez pas de vidéos, ** J'y pense selon ma propre compréhension! **Bien sûr. Sinon, vous l'avez juste regardé pour rien.

Lorsque vous ne pouvez pas frapper ou que vos pensées sont bloquées, allez au livre ou regardez la vidéo pour voir comment ils l'écrivent? De cette façon, vous aurez une mémoire profonde, et vous devez penser en même temps, pourquoi suis-je coincé ici? Est-ce parce que je n'ai pas une compréhension approfondie de ce point de connaissance? ne comprend pas? Ou n'avez-vous pas encore maîtrisé le familier? Apprenez à le connaître à nouveau et continuez à vous frapper. Jusqu'à ce qu'il l'assomme complètement. À plusieurs reprises, petit à petit exercice, votre capacité sera assommée.

En fait, j'ai le sentiment que lors de la lecture de livres, il y a encore un très gros problème, surtout pour les débutants ou les nouveautés et les connaissances. Je ne sais pas si vous l’avez rencontré. Parfois, lorsque vous apprenez les connaissances précédentes, cela implique ces dernières connaissances. Parce que vous venez d'apprendre, et que vous ne connaissez pas ces dernières, vous ne pouvez pas les comprendre, ou cela semble très difficile, ce qui vous rend très irritable.

Pour résumer

Cet article explique certaines de mes opinions sur le statu quo du développement d'Android. Certaines personnes peuvent penser que mes opinions sont fausses, mais je pense qu'il n'y a pas de vrai ou de faux absolu. Laissez le temps tout prouver! Je suis prêt à apprendre les uns des autres et à progresser avec tous les compatriotes qui s'y tiennent!

Ici, je partage également une collection de ** PDF d'apprentissage Android + vidéo d'architecture + document d'interview + notes source , ainsi que carte mentale avancée de technologie d'architecture avancée, matériaux de sujets d'entretien pour le développement Android, matériaux d'architecture avancés avancés ** pour aider tout le monde à apprendre à s'améliorer niveau avancé, il permet également à tout le monde de gagner du temps pour rechercher des informations sur Internet pour apprendre, et vous pouvez également partager avec vos amis autour de vous pour apprendre ensemble

Je suppose que tu aimes

Origine blog.csdn.net/chayel123/article/details/114261203
conseillé
Classement