50 ερωτήσεις συνέντευξης Android & Απαντήσεις

Anonim

Λήψη PDF

1) Τι είναι το Android;

Είναι ένα λειτουργικό σύστημα ανοιχτού κώδικα που χρησιμοποιείται κυρίως σε κινητές συσκευές, όπως κινητά τηλέφωνα και tablet. Πρόκειται για ένα σύστημα βασισμένο σε πυρήνα Linux που είναι εξοπλισμένο με πλούσια στοιχεία που επιτρέπει στους προγραμματιστές να δημιουργούν και να εκτελούν εφαρμογές που μπορούν να εκτελούν τόσο βασικές όσο και προηγμένες λειτουργίες.

2) Τι είναι το Google Android SDK;

Το Google Android SDK είναι ένα σύνολο εργαλείων που χρειάζονται οι προγραμματιστές για να γράφουν εφαρμογές σε συσκευές με δυνατότητα Android. Περιέχει μια γραφική διεπαφή που προσομοιώνει ένα περιβάλλον χειρός που βασίζεται στο Android, επιτρέποντάς τους να δοκιμάσουν και να εντοπίσουν σφάλματα τους κωδικούς τους.

3) Τι είναι η Αρχιτεκτονική Android;

Το Android Architecture αποτελείται από 4 βασικά στοιχεία:

  • Πυρήνας Linux
  • Βιβλιοθήκες
  • Android Πλαίσιο
  • Εφαρμογές Android

4) Περιγράψτε το Android Framework.

Το Android Framework είναι μια σημαντική πτυχή της Αρχιτεκτονικής του Android. Εδώ μπορείτε να βρείτε όλες τις τάξεις και τις μεθόδους που χρειάζονται οι προγραμματιστές για να γράψουν εφαρμογές στο περιβάλλον Android.

5) Τι είναι το AAPT;

Το AAPT είναι σύντομο για το Android Asset Packaging Tool. Αυτό το εργαλείο παρέχει στους προγραμματιστές τη δυνατότητα να χειρίζονται αρχεία συμβατά με zip, το οποίο περιλαμβάνει τη δημιουργία, την εξαγωγή και την προβολή του περιεχομένου του.

6) Ποια είναι η σημασία της ύπαρξης εξομοιωτή στο περιβάλλον Android;

Ο εξομοιωτής επιτρέπει στους προγραμματιστές να "παίζουν" γύρω από μια διεπαφή που λειτουργεί σαν να ήταν μια πραγματική κινητή συσκευή. Μπορούν να γράψουν και να δοκιμάσουν κωδικούς, ακόμη και να εντοπίσουν σφάλματα Οι εξομοιωτές είναι ένα ασφαλές μέρος για τη δοκιμή κωδικών, ειδικά αν βρίσκεται στην αρχική φάση σχεδιασμού.

7) Ποια είναι η χρήση του ActivityCreator;

Το ActivityCreator είναι το πρώτο βήμα προς τη δημιουργία ενός νέου έργου Android. Αποτελείται από ένα σενάριο κελύφους που θα χρησιμοποιηθεί για τη δημιουργία νέας δομής συστήματος αρχείων απαραίτητων για τη σύνταξη κωδικών εντός του Android IDE.

8) Περιγράψτε τις δραστηριότητες.

Οι δραστηριότητες είναι αυτό που αναφέρετε ως παράθυρο σε μια διεπαφή χρήστη. Ακριβώς όπως δημιουργείτε παράθυρα για να εμφανίσετε την έξοδο ή να ζητήσετε είσοδο με τη μορφή παραθύρων διαλόγου, οι δραστηριότητες παίζουν τον ίδιο ρόλο, αν και μπορεί να μην είναι πάντα με τη μορφή διεπαφής χρήστη.

9) Τι είναι οι προθέσεις;

Το Intents εμφανίζει μηνύματα ειδοποίησης στον χρήστη από τη συσκευή με δυνατότητα Android. Μπορεί να χρησιμοποιηθεί για να ειδοποιήσει τον χρήστη για μια συγκεκριμένη κατάσταση που συνέβη. Οι χρήστες μπορούν να γίνουν για να ανταποκριθούν στις προθέσεις.

10) Διαχωρίστε τις δραστηριότητες από τις υπηρεσίες.

Οι δραστηριότητες μπορούν να κλείσουν ή να τερματιστούν οποιαδήποτε στιγμή ο χρήστης επιθυμεί. Από την άλλη πλευρά, οι υπηρεσίες έχουν σχεδιαστεί για να τρέχουν πίσω από τα παρασκήνια και μπορούν να ενεργούν ανεξάρτητα. Οι περισσότερες υπηρεσίες εκτελούνται συνεχώς, ανεξάρτητα από το εάν υπάρχουν συγκεκριμένες ή καθόλου δραστηριότητες που εκτελούνται.

11) Ποια στοιχεία είναι σημαντικά σε κάθε έργο Android;

Αυτά είναι τα βασικά στοιχεία που υπάρχουν κάθε φορά που δημιουργείται ένα έργο Android:

  • AndroidManifest.xml
  • build.xml
  • αποθήκη/
  • src /
  • res /
  • περιουσιακά στοιχεία/

12) Ποια είναι η σημασία των διατάξεων που βασίζονται σε XML;

Η χρήση διατάξεων που βασίζονται σε XML παρέχει ένα σταθερό και κάπως τυπικό μέσο για τη ρύθμιση της μορφής ορισμού GUI. Στην κοινή πρακτική, οι λεπτομέρειες διάταξης τοποθετούνται σε αρχεία XML ενώ άλλα στοιχεία τοποθετούνται σε αρχεία προέλευσης.

13) Τι είναι τα εμπορευματοκιβώτια;

Τα εμπορευματοκιβώτια, όπως υποδηλώνει το ίδιο το όνομα, συγκρατούν αντικείμενα και γραφικά στοιχεία, ανάλογα με το ποια συγκεκριμένα στοιχεία χρειάζονται και σε ποια συγκεκριμένη διάταξη επιθυμείται. Τα κοντέινερ μπορεί να κρατούν ετικέτες, πεδία, κουμπιά ή ακόμη και παιδικά δοχεία, ως παραδείγματα.

14) Τι είναι ο προσανατολισμός;

Ο προσανατολισμός, που μπορεί να ρυθμιστεί χρησιμοποιώντας το setOrientation (), υπαγορεύει εάν το LinearLayout αντιπροσωπεύεται ως γραμμή ή ως στήλη. Οι τιμές ορίζονται ως ΟΡΙΖΟΝΤΙΑ ή ΚΑΘΕΤΕΣ.

15) Ποια είναι η σημασία του Android στην αγορά κινητής τηλεφωνίας;

Οι προγραμματιστές μπορούν να γράφουν και να εγγράφουν εφαρμογές που θα εκτελούνται συγκεκριμένα σε περιβάλλον Android. Αυτό σημαίνει ότι κάθε κινητή συσκευή με δυνατότητα Android θα μπορεί να υποστηρίζει και να εκτελεί αυτές τις εφαρμογές. Με την αυξανόμενη δημοτικότητα των κινητών συσκευών Android, οι προγραμματιστές μπορούν να επωφεληθούν από αυτήν την τάση δημιουργώντας και ανεβάζοντας τις εφαρμογές τους στο Android Market για διανομή σε όποιον θέλει να το κατεβάσει.

16) Ποια πιστεύετε ότι είναι μερικά μειονεκτήματα του Android;

Δεδομένου ότι το Android είναι μια πλατφόρμα ανοιχτού κώδικα και το γεγονός ότι έχουν κυκλοφορήσει διαφορετικά λειτουργικά συστήματα Android σε διαφορετικές κινητές συσκευές, δεν υπάρχει σαφής πολιτική για τον τρόπο προσαρμογής των εφαρμογών με διάφορες εκδόσεις και αναβαθμίσεις λειτουργικού συστήματος. Μία εφαρμογή που εκτελείται σε αυτήν τη συγκεκριμένη έκδοση του Android OS ενδέχεται να εκτελείται ή να μην εκτελείται σε άλλη έκδοση. Ένα άλλο μειονέκτημα είναι ότι δεδομένου ότι οι κινητές συσκευές, όπως τηλέφωνα και καρτέλες διατίθενται σε διαφορετικά μεγέθη και μορφές, αποτελεί πρόκληση για τους προγραμματιστές να δημιουργήσουν εφαρμογές που μπορούν να προσαρμοστούν σωστά στο σωστό μέγεθος οθόνης και άλλες διαφορετικές λειτουργίες και προδιαγραφές.

17) Τι είναι το adb;

Το Adb είναι σύντομο για το Android Debug Bridge. Επιτρέπει στους προγραμματιστές τη δύναμη να εκτελούν εντολές απομακρυσμένου κελύφους. Η βασική του λειτουργία είναι να επιτρέπει και να ελέγχει την επικοινωνία προς και από τη θυρίδα του εξομοιωτή.

18) Ποιες είναι οι τέσσερις βασικές καταστάσεις μιας δραστηριότητας;

  • Ενεργό - εάν η δραστηριότητα βρίσκεται στο προσκήνιο
  • Σε παύση - εάν η δραστηριότητα βρίσκεται στο παρασκήνιο και εξακολουθεί να είναι ορατή
  • Διακόπηκε - εάν η δραστηριότητα δεν είναι ορατή και ως εκ τούτου είναι κρυμμένη ή απόκρυψη από άλλη δραστηριότητα
  • Καταστράφηκε - όταν η διαδικασία δραστηριότητας σκοτωθεί ή ολοκληρωθεί

19) Τι είναι το ANR;

Το ANR είναι σύντομο για την εφαρμογή που δεν αποκρίνεται. Αυτό είναι στην πραγματικότητα ένας διάλογος που εμφανίζεται στον χρήστη κάθε φορά που μια εφαρμογή δεν ανταποκρίνεται για μεγάλο χρονικό διάστημα.

20) Ποια στοιχεία μπορούν να εμφανιστούν μόνο μία φορά και πρέπει να υπάρχουν;

Μεταξύ των διαφορετικών στοιχείων, τα στοιχεία και τα στοιχεία πρέπει να υπάρχουν και μπορούν να εμφανιστούν μόνο μία φορά. Τα υπόλοιπα είναι προαιρετικά και μπορούν να συμβούν όσες φορές χρειαστεί.

21) Πώς χρησιμοποιούνται οι χαρακτήρες διαφυγής ως χαρακτηριστικό;

Οι χαρακτήρες διαφυγής προηγούνται με διπλή ανάστροφη κάθετη. Για παράδειγμα, δημιουργείται ένας χαρακτήρας νέας γραμμής με χρήση του \ \ n n

22) Ποια είναι η σημασία των δικαιωμάτων ρυθμίσεων στην ανάπτυξη εφαρμογών;

Τα δικαιώματα επιτρέπουν την επιβολή ορισμένων περιορισμών κυρίως για την προστασία δεδομένων και κώδικα. Χωρίς αυτούς, οι κωδικοί θα μπορούσαν να τεθούν σε κίνδυνο, με αποτέλεσμα ελαττώματα στη λειτουργικότητα.

23) Ποια είναι η λειτουργία ενός φίλτρου πρόθεσης;

Επειδή κάθε στοιχείο πρέπει να υποδείξει σε ποιες προθέσεις μπορεί να ανταποκριθεί, χρησιμοποιούνται φίλτρα πρόθεσης για να φιλτράρουν τις προθέσεις που αυτά τα στοιχεία είναι διατεθειμένα να λάβουν. Ένα ή περισσότερα φίλτρα πρόθεσης είναι δυνατά, ανάλογα με τις υπηρεσίες και τις δραστηριότητες που πρόκειται να το χρησιμοποιήσουν.

24) Απαριθμήστε τους τρεις βασικούς βρόχους κατά την παρακολούθηση μιας δραστηριότητας

  • Ολόκληρη η διάρκεια ζωής - η δραστηριότητα συμβαίνει μεταξύ onCreate και onDestroy
  • Ορατή διάρκεια ζωής - η δραστηριότητα συμβαίνει μεταξύ onStart και onStop
  • Διάρκεια ζωής στο προσκήνιο - η δραστηριότητα συμβαίνει μεταξύ onResume και onPause

25) Πότε γίνεται επίκληση της μεθόδου onStop ();

Μια μέθοδος κλήσης για onStop συμβαίνει όταν μια δραστηριότητα δεν είναι πλέον ορατή στον χρήστη, είτε επειδή έχει αναληφθεί άλλη δραστηριότητα είτε εάν βρίσκεται μπροστά σε αυτήν τη δραστηριότητα.

26) Υπάρχει περίπτωση κατά την οποία άλλοι προκριματικοί σε πολλούς πόρους υπερισχύουν των τοπικών;

Ναι, υπάρχουν στην πραγματικότητα περιπτώσεις όπου ορισμένοι προκριματικοί μπορούν να έχουν προτεραιότητα έναντι των τοπικών ρυθμίσεων. Υπάρχουν δύο γνωστές εξαιρέσεις, οι οποίες είναι οι πιστοί MCC (κωδικός χώρας κινητής τηλεφωνίας) και MNC (κωδικός δικτύου κινητής τηλεφωνίας).

27) Ποιες είναι οι διαφορετικές καταστάσεις στις οποίες βασίζεται μια διαδικασία;

Υπάρχουν 4 πιθανές καταστάσεις:

  • δραστηριότητα στο προσκήνιο
  • ορατή δραστηριότητα
  • δραστηριότητα στο παρασκήνιο
  • κενή διαδικασία

28) Πώς μπορεί να προληφθεί το ANR;

Μία τεχνική που εμποδίζει το σύστημα Android να συνάψει έναν κώδικα που ανταποκρίνεται για μεγάλο χρονικό διάστημα είναι να δημιουργήσετε ένα θυγατρικό νήμα. Μέσα στο θυγατρικό νήμα, μπορούν να τοποθετηθούν οι περισσότερες από τις πραγματικές λειτουργίες των κωδικών, έτσι ώστε το κύριο νήμα να τρέχει με ελάχιστες περιόδους χρόνων που δεν ανταποκρίνονται.

29) Τι ρόλο παίζει το Dalvik στην ανάπτυξη Android;

Το Dalvik λειτουργεί ως εικονική μηχανή και είναι εκεί όπου εκτελείται κάθε εφαρμογή Android. Μέσω του Dalvik, μια συσκευή μπορεί να εκτελεί πολλές εικονικές μηχανές αποτελεσματικά μέσω της καλύτερης διαχείρισης μνήμης.

30) Τι είναι το AndroidManifest.xml;

Αυτό το αρχείο είναι απαραίτητο σε κάθε εφαρμογή. Δηλώνεται στον ριζικό κατάλογο και περιέχει πληροφορίες σχετικά με την εφαρμογή που πρέπει να γνωρίζει το σύστημα Android πριν από την εκτέλεση των κωδικών.

31) Ποιος είναι ο σωστός τρόπος ρύθμισης μιας συσκευής με Android για ανάπτυξη εφαρμογών;

Τα ακόλουθα είναι βήματα που πρέπει να ακολουθήσετε πριν από την πραγματική ανάπτυξη εφαρμογών σε μια συσκευή με Android:

-Δηλώστε την εφαρμογή σας ως "εντοπισμένη με δυνατότητα εντοπισμού σφαλμάτων" στο Manifest Android. Ενεργοποιήστε το "USB Debugging" στη συσκευή σας.

32) Καταγράψτε τα βήματα για τη δημιουργία μιας οριοθετημένης υπηρεσίας μέσω του AIDL.

1. δημιουργήστε το αρχείο .aidl, το οποίο καθορίζει τη διεπαφή προγραμματισμού 2. υλοποιήστε τη διεπαφή, η οποία περιλαμβάνει επέκταση της εσωτερικής αφηρημένης κλάσης Stub καθώς και εμφύτευση των μεθόδων της.

3. εκθέστε τη διεπαφή, η οποία περιλαμβάνει την εφαρμογή της υπηρεσίας στους πελάτες.

33) Ποια είναι η σημασία των Προεπιλεγμένων Πόρων;

Όταν οι προεπιλεγμένοι πόροι, οι οποίοι περιέχουν προεπιλεγμένες συμβολοσειρές και αρχεία, δεν υπάρχουν, θα παρουσιαστεί σφάλμα και η εφαρμογή δεν θα εκτελεστεί. Οι πόροι τοποθετούνται σε ειδικά ονόματα υποκαταλόγους κάτω από το έργο res / κατάλογο.

34) Όταν ασχολείστε με πολλούς πόρους, ποιο θα υπερισχύει;

Υποθέτοντας ότι όλοι αυτοί οι πολλαπλοί πόροι είναι σε θέση να ταιριάζουν με τη διαμόρφωση μιας συσκευής, ο προσδιοριστής «locale» παίρνει σχεδόν πάντα την υψηλότερη προτεραιότητα έναντι των άλλων.

35) Πότε εμφανίζεται το ANR;

Ο διάλογος ANR εμφανίζεται στο χρήστη βάσει δύο πιθανών συνθηκών. Το ένα είναι όταν δεν υπάρχει απάντηση σε ένα συμβάν εισόδου εντός 5 δευτερολέπτων, και το άλλο είναι όταν ο δέκτης εκπομπής δεν εκτελείται εντός 10 δευτερολέπτων.

36) Τι είναι το AIDL;

Το AIDL ή το Android Interface Definition Language, χειρίζεται τις απαιτήσεις διεπαφής μεταξύ ενός πελάτη και μιας υπηρεσίας, ώστε και οι δύο να μπορούν να επικοινωνούν στο ίδιο επίπεδο μέσω επικοινωνίας μεταξύ διεργασιών ή IPC. Αυτή η διαδικασία περιλαμβάνει την κατανομή αντικειμένων σε πρωτόγονες που το Android μπορεί να κατανοήσει. Αυτό το μέρος απαιτείται μόνο επειδή μια διαδικασία δεν μπορεί να έχει πρόσβαση στη μνήμη της άλλης διαδικασίας.

37) Ποιοι τύποι δεδομένων υποστηρίζονται από το AIDL;

Η AIDL έχει υποστήριξη για τους ακόλουθους τύπους δεδομένων:

-string-charSequence-List-Map-όλους τους εγγενείς τύπους δεδομένων Java όπως int, long, char και Boolean

38) Τι είναι ένα θραύσμα;

Ένα θραύσμα είναι ένα μέρος ή τμήμα μιας δραστηριότητας. Είναι αρθρωτό με την έννοια ότι μπορείτε να μετακινηθείτε ή να συνδυάσετε με άλλα θραύσματα σε μία μόνο δραστηριότητα. Τα θραύσματα είναι επίσης επαναχρησιμοποιήσιμα.

39) Τι είναι μια ορατή δραστηριότητα;

Μια ορατή δραστηριότητα είναι αυτή που βρίσκεται πίσω από ένα διάλογο προσκηνίου. Είναι πραγματικά ορατό στον χρήστη, αλλά όχι απαραίτητα να βρίσκεται στο πρώτο πλάνο.

40) Πότε είναι η καλύτερη στιγμή για να σκοτώσεις μια δραστηριότητα στο προσκήνιο;

Η δραστηριότητα του προσκηνίου, που είναι η πιο σημαντική μεταξύ των άλλων κρατών, σκοτώνεται ή τερματίζεται μόνο ως έσχατη λύση, ειδικά εάν καταναλώνει ήδη υπερβολική μνήμη. Όταν μια κατάσταση σελιδοποίησης μνήμης έχει επιτευχθεί από μια δραστηριότητα προσκηνίου, τότε σκοτώνεται έτσι ώστε η διεπαφή χρήστη να διατηρεί την ανταπόκρισή της στον χρήστη.

41) Είναι δυνατόν να χρησιμοποιήσετε ή να προσθέσετε ένα κομμάτι χωρίς τη χρήση διεπαφής χρήστη;

Ναι, είναι δυνατό να το κάνετε αυτό, όπως όταν θέλετε να δημιουργήσετε μια συμπεριφορά στο παρασκήνιο για μια συγκεκριμένη δραστηριότητα. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας τη μέθοδο add (Fragment, string) για να προσθέσετε ένα τμήμα από τη δραστηριότητα.

42) Πώς καταργείτε εικονίδια και widget από την κύρια οθόνη της συσκευής Android;

Για να καταργήσετε ένα εικονίδιο ή μια συντόμευση, πατήστε παρατεταμένα αυτό το εικονίδιο. Στη συνέχεια, το σύρετε προς τα κάτω στο κάτω μέρος της οθόνης όπου εμφανίζεται ένα κουμπί αφαίρεσης.

43) Ποια είναι τα βασικά στοιχεία της αρχιτεκτονικής εφαρμογών Android;

Υπάρχουν 5 βασικά στοιχεία στην αρχιτεκτονική της εφαρμογής Android:

- υπηρεσίες - πρόθεση - εξωτερική ανάθεση πόρων - ειδοποιήσεις - πάροχοι περιεχομένου

44) Τι συνθέτει ένα τυπικό έργο εφαρμογής Android;

Ένα έργο υπό ανάπτυξη Android, κατά τη σύνταξη, γίνεται αρχείο .apk. Αυτή η μορφή αρχείου apk αποτελείται πραγματικά από το αρχείο AndroidManifest.xml, τον κωδικό εφαρμογής, τα αρχεία πόρων και άλλα σχετικά αρχεία.

45) Τι είναι κολλώδης πρόθεση;

Το Sticky Intent είναι μια μετάδοση από τη μέθοδο sendStickyBroadcast () έτσι ώστε η πρόθεση να κυμαίνεται ακόμα και μετά τη μετάδοση, επιτρέποντας σε άλλους να συλλέγουν δεδομένα από αυτήν.

46) Υποστηρίζουν όλα τα κινητά τηλέφωνα το πιο πρόσφατο λειτουργικό σύστημα Android;

Ορισμένα τηλέφωνα με Android σάς επιτρέπουν να κάνετε αναβάθμιση στην υψηλότερη έκδοση του λειτουργικού συστήματος Android. Ωστόσο, δεν θα σας επιτρέψουν όλες οι αναβαθμίσεις να λάβετε την πιο πρόσφατη έκδοση. Εξαρτάται σε μεγάλο βαθμό από την ικανότητα και τις προδιαγραφές του τηλεφώνου, αν μπορεί να υποστηρίξει τις νεότερες δυνατότητες που διατίθενται στην τελευταία έκδοση Android.

47) Τι είναι το φορητό σημείο πρόσβασης Wi-Fi;

Το φορητό Wi-Fi Hotspot σάς επιτρέπει να μοιράζεστε την κινητή σας σύνδεση στο Διαδίκτυο με άλλη ασύρματη συσκευή. Για παράδειγμα, χρησιμοποιώντας το τηλέφωνό σας με Android ως σημείο πρόσβασης Wi-Fi, μπορείτε να χρησιμοποιήσετε τον φορητό υπολογιστή σας για να συνδεθείτε στο Διαδίκτυο χρησιμοποιώντας αυτό το σημείο πρόσβασης.

48) Τι είναι μια ενέργεια;

Στην ανάπτυξη Android, μια ενέργεια είναι αυτό που ο αποστολέας πρόθεσης θέλει να κάνει ή αναμένεται να λάβει ως απάντηση. Οι περισσότερες λειτουργίες της εφαρμογής βασίζονται στην προβλεπόμενη ενέργεια.

49) Ποια είναι η διαφορά μεταξύ ενός κανονικού bitmap και μιας εικόνας εννέα ενημερώσεων κώδικα;

Σε γενικές γραμμές, μια εικόνα Nine-patch επιτρέπει την αλλαγή μεγέθους που μπορεί να χρησιμοποιηθεί ως φόντο ή άλλες απαιτήσεις μεγέθους εικόνας για τη συσκευή προορισμού. Το εννέα έμπλαστρο αναφέρεται στον τρόπο με τον οποίο μπορείτε να αλλάξετε το μέγεθος της εικόνας: 4 γωνίες χωρίς κλίμακα, 4 άκρες με κλίμακα σε 1 άξονα και η μεσαία που μπορεί να κλιμακωθεί και στους δύο άξονες.

50) Ποια γλώσσα υποστηρίζεται από το Android για ανάπτυξη εφαρμογών;

Η κύρια γλώσσα που υποστηρίζεται είναι η γλώσσα προγραμματισμού Java. Η Java είναι η πιο δημοφιλής γλώσσα για την ανάπτυξη εφαρμογών, γεγονός που το καθιστά ιδανικό ακόμη και για νέους προγραμματιστές Android να μαθαίνουν γρήγορα να δημιουργούν και να αναπτύσσουν εφαρμογές στο περιβάλλον Android.