Heim >Web-Frontend >Front-End-Fragen und Antworten >Zusammenfassung der wichtigsten technischen Interviewfragen für Android
Empfohlen: „Zusammenfassung der Android-Interviewfragen 2020 [Sammlung] “
Viele Menschen haben möglicherweise noch nie oder nur kurze Zeit in einem Internetunternehmen gearbeitet. Ich frage mich, welche Fragen in technischen Vorstellungsgesprächen gestellt werden bei Internetunternehmen? Außerdem war ich möglicherweise nicht vollständig vorbereitet durch die Fragen des Interviewers innerhalb weniger Runden des Interviews und endete mit einem katastrophalen Misserfolg.
Das Folgende ist eine Zusammenfassung der von mir zusammengestellten Android-Interviewfragen. Ich liste die Fragen nur im Abschnitt „Hot Technology“ auf. Sie können mir später folgen und bleiben Sie auf dem Laufenden, und es hat mir auch viel Zeit gekostet, diese Interviewsammlung zusammenzustellen!
Komponentisierung: besteht darin, eine APP in mehrere Module zu unterteilen. Jedes Modul ist eine Komponente oder kann eine Basisbibliothek sein wird bereitgestellt, damit Komponenten während der Entwicklung voneinander abhängen können. Die Komponenten müssen nicht voneinander abhängig sein, sondern können sich gegenseitig aufrufen. Bei der endgültigen Veröffentlichung werden alle Komponenten in Form einer Bibliothek gepackt durch die Hauptabhängigkeit des APP-Projekts.
Module für jedes Unternehmen nach der Komponentisierung kann eine separate APP sein (isModuleRun=false). Bei der Veröffentlichung des Pakets wird jedes Geschäftsmodul als lib-Abhängigkeit verwendet. Dies wird vollständig durch eine Variable im Root-Projekt gradle.properties gesteuert. Der Status von isModuleRun ist unterschiedlich, und die Ladeanwendung und AndroidManifest unterscheiden sich, um zu unterscheiden, ob es sich um eine unabhängige APK oder eine Bibliothek handelt.
Wenn wir mehrere Module erstellen, wie können dieselben Ressourcenkonflikte in der Datei gelöst werden? Das Zusammenführen von Namen führt zu Konflikten:
Um doppelte Ressourcennamen zu vermeiden, fügen Sie im Build jeder Komponente das Präfix „xxx_“ hinzu. um das Ressourcennamenpräfix in Gradle zu erzwingen. Der Wert „resourcePrefix“ kann jedoch nur die Ressourcen in XML begrenzen und nicht die Bildressourcen So referenzieren Sie einige gängige Bibliotheken und Toolklassen zwischen mehreren Modulen
Nach der Komponentisierung sind die Module voneinander isoliert, wie werden UI-Sprünge und Methoden ausgeführt? Zum Aufrufen können Sie Routing verwenden Frameworks wie Alibaba ARouter oder Meituans WMRouter
Das wissen wir Komponenten sind miteinander verbunden, also wie man die Parameter erhält, die von anderen Modulen übergeben werden, wenn man alleine debuggt
Anwendung
Wenn es um Plug-ins geht, müssen wir das Problem erwähnen, dass die Anzahl der Methoden 65535 überschreitet. Wir können es lösen durch Dex-Unterauftragsvergabe und gleichzeitig Dies kann durch die Verwendung von Plug-In-Entwicklung gelöst werden. Das Konzept des Plug-Ins besteht darin, dass die Host-APP die Plug-In-APP lädt und ausführt.
Um in einem großen Projekt eine klare Arbeitsteilung zu haben, sind oft verschiedene Teams für unterschiedliche Plug-in-APPs verantwortlich, so dass die Arbeitsteilung stimmt klarer. Jedes Modul ist in verschiedene Plug-in-APKs gekapselt und verschiedene Module können separat kompiliert werden, was die Entwicklungseffizienz verbessert. Das obige Problem, dass die Anzahl der Methoden den Grenzwert überschreitet, wurde gelöst. Online-Fehler können durch die Einführung neuer Plug-Ins behoben werden, um einen „Hotfix“-Effekt zu erzielen. Die Größe des Host-APK wurde reduziert.
Apps, die als Plug-Ins entwickelt wurden, können nicht auf Google Play gestartet werden, was bedeutet, dass es keinen Überseemarkt gibt.
Das obige ist der detaillierte Inhalt vonZusammenfassung der wichtigsten technischen Interviewfragen für Android. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!