top 50 swift interview questions
Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης Swift (iOS) με παραδείγματα:
Το Swift είναι μια ισχυρή και διαδραστική γλώσσα προγραμματισμού που δημιουργήθηκε για iOS, macOS, tvOS και watchOS, καθώς και για ανάπτυξη Linux από την Apple Inc.
Το Swift είναι ένας φανταστικός τρόπος για την ανάπτυξη λογισμικού, είναι μια διαδραστική γλώσσα προγραμματισμού που είναι γρήγορη, ασφαλής και φιλική προς τα νέα προγράμματα. Το Swift είναι η πιο δημοφιλής γλώσσα για την ανάπτυξη εφαρμογών για συσκευές της Apple, είναι μια εναλλακτική λύση στη γλώσσα Objective-C με κάποιες πρόσθετες αντικειμενοστρεφείς λειτουργίες.
Το Swift ορίζει μεγάλες κατηγορίες συνηθισμένων σφαλμάτων προγραμματισμού υιοθετώντας τα πρόσφατα μοτίβα προγραμματισμού όπως φαίνεται παρακάτω:
- Ανοιχτή πηγή.
- Το Swift είναι εύκολο να μάθει.
- Είναι προσιτό.
- Ενσωματωμένος χειρισμός σφαλμάτων.
- Η μνήμη διαχειρίζεται αυτόματα.
- Οι μεταβλητές αρχικοποιούνται πάντα πριν από τη χρήση.
- Οι ακέραιοι έλεγχοι ελέγχονται για υπερχείλιση.
- Παρέχει σύγχρονα χαρακτηριστικά προγραμματισμού.
- Η λειτουργία διακόπτη μπορεί να χρησιμοποιηθεί αντί της δήλωσης 'if'.
- Υψηλή ταχύτητα & ασφαλέστερη απόδοση, πολυπλοκότητα κώδικα.
- Υποστήριξη δυναμικών βιβλιοθηκών.
Οι πιο δημοφιλείς ερωτήσεις συνέντευξης Swift (iOS)
Ακολουθεί μια λίστα με τις κορυφαίες συμβουλές και ερωτήσεις συνέντευξης για το iOS Swift μαζί με τις απαντήσεις.
Ας εξερευνήσουμε !!
Q # 1) Τι είναι το iOS Swift;
Απάντηση: Το Swift είναι μια μεταγλωττισμένη και νέα γλώσσα προγραμματισμού που εξελίχθηκε από την Apple Inc τον Ιούνιο του 2014 με σκοπό την ανάπτυξη εφαρμογών για κινητά και επιτραπέζιους υπολογιστές. Αυτή η γλώσσα λειτουργεί για watchOS, macOS, iOS και tvOS.
Η Apple δημιούργησε τη γλώσσα Swift για συνεργασία με το Cocoa Touch και το Cocoa. Το Swift υποστηρίζει πολλαπλά λειτουργικά συστήματα όπως το Free BSD, το Linux, το Darwin, κλπ. Αυτή η γλώσσα σχεδιάστηκε για να λειτουργεί μαζί με τη βιβλιοθήκη Objective-C και το κακάο πλαίσιο στα προϊόντα της Apple.
Q # 2) Ποια είναι τα πλεονεκτήματα της χρήσης του Swift;
Απάντηση: Η γρήγορη γλώσσα προγραμματισμού έχει γίνει γρήγορα μία από τις ταχέως αναπτυσσόμενες γλώσσες στο απομνημονεύματα. Το Swift μας κάνει να αναπτύξουμε λογισμικό που είναι απίστευτα γρήγορο, ανθεκτικό και ασφαλές.
Αυτή η γλώσσα είναι η πιο χρήσιμη γλώσσα προγραμματισμού που χρησιμοποιείται για την ανάπτυξη μιας εφαρμογής για macOS και iOS (iPad και iPhone).
Υπάρχουν μερικά σημαντικά πλεονεκτήματα που προσφέρονται από την ανάπτυξη εφαρμογών για macOS και iOS χρησιμοποιώντας swift.
- Γλώσσα ανοιχτού κώδικα: Η γλώσσα προγραμματισμού Swift έχει δημιουργηθεί ως ανοιχτού κώδικα και είναι ανοιχτή σε όλους, γεγονός που καθιστά απλό για το πρόγραμμα να αναβαθμίζει όλους τους πηγαίους κώδικες, τις λίστες email και τον εντοπισμό σφαλμάτων σε τακτά χρονικά διαστήματα.
- Εύκολο στη μάθηση και τη συντήρηση: Η γρήγορη γλώσσα προγραμματισμού είναι πιο απλή και ακριβής σε σύγκριση με το C / C ++. Η Apple ανέπτυξε τη γλώσσα προγραμματισμού της ώστε να είναι εύκολη στη χρήση και οι σύνταξη λαμβάνονται από γλώσσες προγραμματισμού όπως το C #, Πύθων , και η Ruby. Αυτή η απλή σύνταξη αυτής της γλώσσας προγραμματισμού την καθιστά πιο σημαντική. Σε σύντομο χρονικό διάστημα, όλο το περιεχόμενο των αρχείων υλοποίησης (.m) και κεφαλίδας (.h) συνδυάζονται σε ένα μόνο αρχείο που είναι (.swift).
- Υποστηρίζεται από πολλές συσκευές: Η γρήγορη γλώσσα προγραμματισμού δεν περιορίζεται μόνο στην υποστήριξη συσκευών Apple, αλλά θα υποστηρίζει επίσης πολλές συσκευές του κόσμου της τεχνολογίας, όπως συσκευές Linux και Windows.
- Υποστηρίζει δυναμικές βιβλιοθήκες: Οι δυναμικές βιβλιοθήκες είναι τα εκτελέσιμα κομμάτια του κώδικα που μπορούν να συνδεθούν σε μια εφαρμογή. Αυτή η δυνατότητα επιτρέπει την πιο πρόσφατη γρήγορη γλώσσα προγραμματισμού. Σε γρήγορη ταχύτητα, οι δυναμικές βιβλιοθήκες φορτώνονται απευθείας στη μνήμη, με αποτέλεσμα να μειωθεί το αρχικό μέγεθος της εφαρμογής και τελικά να αυξηθεί η απόδοση της εφαρμογής.
- Προαιρετικοί τύποι: Ένα προαιρετικό γρήγορο είναι ένας τύπος που μπορεί να κρατηθεί είτε ως τιμή είτε όχι. Για να δηλώσουμε προαιρετικό, μπορούμε να χρησιμοποιήσουμε μια ερώτηση ';' σημάδι.
- Κλείσιμο: Το κλείσιμο είναι αυτόνομα μπλοκ λειτουργικότητας που μπορούν να περάσουν και να χρησιμοποιηθούν στον κώδικα μας.
Ε # 3) Εξηγήστε Swift εναντίον Objective-C.
Απάντηση: Παρατίθενται παρακάτω οι διάφορες διαφορές μεταξύ Swift vs Objective-C.
- Το Swift είναι μια αντικειμενοστρεφής και λειτουργική γλώσσα προγραμματισμού, ενώ το Objective-C είναι μια βασισμένη στην τάξη αντικειμενοστρεφής γλώσσα προγραμματισμού.
- Το Swift υποστηρίζει δυναμικές βιβλιοθήκες, ενώ το Objective-C δεν υποστηρίζει δυναμικές βιβλιοθήκες.
- Το Swift υποστηρίζει Tuples, ενώ το Objective-C δεν υποστηρίζει Tuples.
- Τα ερωτηματικά δεν απαιτούνται στο Swift, ενώ τα ερωτηματικά απαιτούνται στο Objective-C.
- Το Swift είναι μια γλώσσα προγραμματισμού ανοιχτού κώδικα, ενώ το Objective-C περιορίζεται στην Apple και δεν είναι γλώσσα ανοιχτού κώδικα.
- Πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί «let» για να δηλώσουμε τη σταθερά και τη λέξη-κλειδί «var» για να δηλώσουμε μια μεταβλητή, ενώ στον στόχο Γ, πρέπει να δηλώσουμε τη μεταβλητή ως «NSString» και σταθερή ως «int».
- Το Swift μας επιτρέπει να ορίσουμε μεθόδους στη δομή, τις τάξεις ή την απαρίθμηση, ενώ ο Στόχος Γ δεν το επιτρέπει.
- Σε γρήγορο, μπορούμε να ορίσουμε κλάσεις σε ένα μόνο αρχείο (.swift), ενώ στον Στόχο Γ δημιουργούμε ξεχωριστά αρχεία διεπαφής (.h) για κλάσεις και αρχεία υλοποίησης (.m) για κλάσεις.
Ε # 4) Πού μπορούμε να δοκιμάσουμε τις εφαρμογές Apple iPhone εάν δεν διαθέτουμε συσκευή iOS;
Απάντηση: Εάν δεν διαθέτουμε συσκευή iOS, μπορούμε να δοκιμάσουμε την εφαρμογή μας σε προσομοιωτές που παρέχονται από την Apple στο σύστημα Mac.
Q # 5) Ποια είναι τα εργαλεία που απαιτούνται για την ανάπτυξη εφαρμογών iOS;
Απάντηση: Αυτά είναι μερικά από τα βασικά εργαλεία που πρέπει να έχουμε:
- Mac / MacMini: Είναι απαραίτητο να έχουμε Mac με τον επεξεργαστή που βασίζεται στην Intel να λειτουργεί σε Mac OS. Μην ανησυχείτε, εάν διαθέτουμε τον δικό μας υπολογιστή, μπορούμε ακόμα να αναπτύξουμε εφαρμογές iOS μέσω Mac Mini.
- Xcode: Το Xcode είναι το Apple IDE (Integrated Development Environment) που χρησιμοποιείται τόσο για εφαρμογές iOS όσο και για MAC OS. Μας παρέχει έναν επεξεργαστή οπτικής διάταξης και έναν επεξεργαστή κώδικα που μπορεί να ασχοληθεί με τη λογική, το περιβάλλον χρήστη και την απόκριση πίσω από τη σκηνή.
- Γλώσσα γρήγορου προγραμματισμού: Στον επεξεργαστή κώδικα, η λογική θα γραφτεί σε μια γλώσσα προγραμματισμού που εφευρέθηκε από την Apple, που ονομάζεται Swift.
- Πρόγραμμα προγραμματιστών της Apple: Αυτό το πρόγραμμα επιτρέπει στον προγραμματιστή να προωθεί την εφαρμογή μας ζωντανά στο App Store, έτσι ώστε οι πελάτες και οι χρήστες λήψης σε όλο τον κόσμο να μπορούν να κατεβάσουν την εφαρμογή μας και να τη χρησιμοποιήσουν.
Q # 6) Ποια είναι τα πιο σημαντικά χαρακτηριστικά του γρήγορου;
Απάντηση: Μερικά σημαντικά χαρακτηριστικά του swift δίνονται παρακάτω:
- Πιο εντυπωσιακές δομές και αθροίσματα
- Πρωτόκολλο προσανατολισμένο
- Προαιρετικοί τύποι
- Τύπος Ασφάλεια και Γλώσσα συμπερασμάτων
- Δεν απαιτείται χρήση ερωτηματικών
- Ενισχυμένοι αρχικοποιητές
- Ασφαλής από προεπιλογή
- Λιγότερος κώδικας, λιγότερα αρχεία
- Αναγκαστική αποσυσκευασία
- Tuples
- Κλείσιμο
- Πολύ πιο γρήγορα σε σύγκριση με άλλες γλώσσες.
Ε # 7) Εξηγήστε τις κοινές καταστάσεις εκτέλεσης για μια γρήγορη εφαρμογή iOS (Κύκλος ζωής εφαρμογής iOS).
Απάντηση: Οι 5 κοινές καταστάσεις εκτέλεσης έχουν ως εξής:
- Δεν τρεχω: Αυτή είναι μια απλή κατάσταση στην οποία η εφαρμογή μας δεν εκκινείται ή δεν εκτελείται και τερματίζεται κωδικός από το σύστημα και η εφαρμογή είναι εντελώς απενεργοποιημένη.
- Αδρανής: Αυτή η κατάσταση είναι απλώς μια μεταβατική κατάσταση. Ανενεργή κατάσταση σημαίνει ότι η εφαρμογή μας εκτελείται στο παρασκήνιο, αλλά δεν μπορεί να λάβει συμβάντα.
- Ενεργός: Η ενεργή κατάσταση είναι η κύρια κατάσταση εκτέλεσης, όπου η εφαρμογή μας εκτελείται στο παρασκήνιο και μπορεί να λαμβάνει συμβάντα.
- Ιστορικό: Αυτή είναι η κατάσταση όπου η εφαρμογή μας εκτελείται στο παρασκήνιο και εξακολουθεί να είναι σε θέση να εκτελέσει τον κώδικα στο παρασκήνιο.
- Ανασταλεί: Αυτή η κατάσταση σημαίνει ότι η εφαρμογή μας βρίσκεται σε κατάσταση παρασκηνίου και το σύστημα αναστέλλει αυτήν την εφαρμογή και η εφαρμογή δεν μπορεί να εκτελέσει κανέναν κώδικα.
Q # 8) Είναι το Swift μια αντικειμενοστρεφής γλώσσα προγραμματισμού;
Απάντηση: Ναι, το swift είναι μια αντικειμενοστρεφής γλώσσα προγραμματισμού.
Ε # 9) Ποιος τύπος αντικειμένων είναι βασικοί τύποι δεδομένων γρήγορα;
ερωτήσεις και απαντήσεις κώδικα συνέντευξης java
Απάντηση: Το Swift χρησιμοποιεί ένα τυπικό σύνολο βασικών τύπων δεδομένων για διαφορετικούς σκοπούς, όπως τιμές, αριθμοί και συμβολοσειρές Boolean.
- Εντ .: int χρησιμοποιείται για την αποθήκευση της ακέραιας τιμής.
- Διπλό και Float: Το διπλό και το Float in swift λαμβάνονται υπόψη όταν εργάζεστε με τους δεκαδικούς αριθμούς.
- Bool: Ο τύπος bool χρησιμοποιείται για την αποθήκευση της τιμής Boolean. Σε γρήγορη χρήση, χρησιμοποιεί πραγματικές και ψευδείς συνθήκες.
- Σειρά: Στα γράμματα String, ο χρήστης καθορίζει το κείμενο που περικλείεται με διπλά εισαγωγικά στο Swift.
- Πίνακες: Οι πίνακες είναι η συλλογή των στοιχείων λίστας.
- Λεξικά: Ένα λεξικό είναι μια μη ταξινομημένη συλλογή στοιχείων ενός συγκεκριμένου τύπου που συνδέεται με ένα μοναδικό κλειδί.
Q # 10) Τι είναι το init () στο Swift;
Απάντηση: Η προετοιμασία είναι μια διαδικασία προετοιμασίας μιας παρουσίας απαρίθμησης, δομής ή κλάσης για χρήση.
Οι αρχικοποιητές καλούνται επίσης να δημιουργήσουν μια νέα παρουσία ενός συγκεκριμένου τύπου. Ένας αρχικοποιητής είναι μια μέθοδος εμφάνισης χωρίς παραμέτρους. Χρησιμοποιώντας τον αρχικοποιητή, μπορούμε να γράψουμε τη λέξη-κλειδί init.
init() { // perform some New Instance initialization here }
Ε # 11) Ποιες είναι οι δηλώσεις μεταφοράς ελέγχου που χρησιμοποιούνται στο iOS swift;
Απάντηση: Οι δηλώσεις μεταφοράς ελέγχου που χρησιμοποιούνται στο iOS swift περιλαμβάνουν:
- ΕΠΙΣΤΡΟΦΗ
- Διακοπή
- Να συνεχίσει
- Εμπρός
Q # 12) Ποια είναι η διαφορά μεταξύ Let και Var γρήγορα;
Απάντηση: Σε γρήγορη γλώσσα, μπορούμε να δηλώσουμε μια σταθερή και μεταβλητή χρησιμοποιώντας τη λέξη-κλειδί Let and Var.
(αφήνω: Αφήστε τη λέξη-κλειδί να είναι αμετάβλητη, χρησιμοποιείται για να δηλώσει μια σταθερή μεταβλητή και η σταθερή μεταβλητή δεν μπορεί να αλλάξει μόλις αρχικοποιηθούν.
Για παράδειγμα: αφήστε το myAge = 25
Δεν μπορούμε να αλλάξουμε την τιμή της ηλικίας, μπορείτε να δηλώσετε τη σταθερή τιμή της μόνο μία φορά χρησιμοποιώντας τη λέξη-κλειδί let.
(ii) Υπάρχει: Η λέξη-κλειδί Var είναι μεταβλητή και χρησιμοποιείται για να δηλώσει μια μεταβλητή παραλλαγής. Αυτές οι μεταβλητές παραλλαγής μπορούν να αλλάξουν το χρόνο εκτέλεσης.
Για παράδειγμα:
var myName = 'Dell'
μπορούμε να αλλάξουμε την τιμή του ονόματος = 'Apple'.
Ε # 13) Πώς να προσθέσετε ένα στοιχείο σε μια σειρά;
Απάντηση: Οι πίνακες είναι ένας από τους πιο χρησιμοποιούμενους τύπους δεδομένων σε μια εφαρμογή (app). Χρησιμοποιούμε πίνακες για να οργανώσουμε τα δεδομένα της εφαρμογής μας.
Το Swift διευκολύνει τη δημιουργία ενός πίνακα στον κώδικα μας χρησιμοποιώντας έναν κυριολεκτικό πίνακα. Τα στοιχεία της σειράς απλώς περιβάλλονται από κόμμα και η λίστα τιμών διαχωρίζεται με αγκύλες.
Για παράδειγμα,
// Add ‘Int’ elements in an Array let natural number = (1, 2, 3, 4, 5, 6, 7) // Add ‘String’ elements in an array let countryName = (“India”, “Japan”, “Malaysia”, “Peru”, “Russia”)
Ε # 14) Ποιο πλαίσιο JSON υποστηρίζεται από iOS;
Απάντηση: Το πλαίσιο SBJson υποστηρίζεται από iOS. Το πλαίσιο SBJson παρέχει επιπλέον έλεγχο και ένα ευέλικτο API που διευκολύνει τον χειρισμό του JSON. Είναι ένα καλά και πολύ ευέλικτο πλαίσιο που υποστηρίζει την ευέλικτη λειτουργία των API.
Q # 15) Τι είναι το PLIST στο iOS;
Απάντηση: Το PLIST σημαίνει Λίστα Ακινήτων. Το PLIST είναι βασικά ένα λεξικό αξίας και κλειδιών που μπορούν να αποθηκευτούν στο σύστημα αρχείων μας με επέκταση αρχείου .plist. Η λίστα ιδιοτήτων χρησιμοποιείται ως φορητό και ελαφρύ μέσο για την αποθήκευση μικρότερου όγκου δεδομένων. Συνήθως γράφονται σε XML.
Παρακάτω αναφέρονται διάφοροι τύποι λιστών ιδιοκτησίας:
- Δυαδική λίστα ιδιοκτησίας
- Λίστα ιδιοτήτων XML
- Λίστα ιδιοκτησίας παλαιού τύπου ASCII
Q # 16) Τι είναι λεξικό;
Απάντηση: Τα λεξικά είναι μια ένωση μιας μη ταξινομημένης συλλογής ζευγών κλειδιών-τιμών. Κάθε τιμή σχετίζεται με ένα μοναδικό κλειδί, το οποίο είναι ένας κατακερματισμένος τύπος όπως ένας αριθμός ή μια συμβολοσειρά. Μπορούμε να χρησιμοποιήσουμε την έννοια του λεξικού σε γρήγορη γλώσσα προγραμματισμού όποτε θέλουμε να λάβουμε τις τιμές με βάση μια βασική τιμή.
Σύνταξη Swift Λεξικών:
Ακολουθεί η σύνταξη του ορισμού ενός λεξικού στη γλώσσα προγραμματισμού Swift.
Dictionary ()
Ή
(Key: Value) ()
Δημιουργία λεξικών στο Swift:
Ακολουθούν οι διαφορετικοί τρόποι δημιουργίας ενός λεξικού με ζεύγη κλειδιών-τιμών στη δήλωση.
// using Dictionary Var names = Dictonary () Names = (“Ajay”: 1, “Mohit”: 2) print(names) // it prints (Ajay: 1, Mohit: 2)
Q # 17) Τι είναι ένα πρωτόκολλο γρήγορα;
Απάντηση: Το πρωτόκολλο είναι ένα πολύ κοινό χαρακτηριστικό της γλώσσας προγραμματισμού Swift και το πρωτόκολλο είναι μια ιδέα που είναι παρόμοια με μια διεπαφή από το java. Ένα πρωτόκολλο ορίζει ένα σχεδιάγραμμα ιδιοτήτων, μεθόδων και άλλων απαιτήσεων που είναι κατάλληλες για μια συγκεκριμένη εργασία.
πώς ανοίγετε ένα αρχείο .bin
Στην απλούστερη μορφή του, το πρωτόκολλο είναι μια διεπαφή που περιγράφει ορισμένες μεθόδους και ιδιότητες. Το πρωτόκολλο περιγράφεται απλώς ως σκελετός ιδιοτήτων ή μεθόδων αντί για εφαρμογή. Η υλοποίηση ιδιοτήτων και μεθόδων μπορεί να γίνει με τον καθορισμό απαριθμήσεων, συναρτήσεων και τάξεων.
Τα πρωτόκολλα δηλώνονται μετά τη δομή, την απαρίθμηση ή τα ονόματα τύπων κλάσης. Μια δήλωση ενός και πολλαπλού πρωτοκόλλου μπορεί να είναι δυνατή. Τα πολλαπλά πρωτόκολλα διαχωρίζονται με κόμματα.
Μπορούμε να ορίσουμε ένα πρωτόκολλο με τρόπο που να μοιάζει πολύ με δομές, απαριθμήσεις και τάξεις:
Protocol Someprotocol { // protocol definition goes here }
Μπορούμε να ορίσουμε πολλά πρωτόκολλα, τα οποία διαχωρίζονται με κόμματα:
Class SomeClass: SomeSuperclass, Firstprotocol, Secondprotocol { // Structure definition goes here }
Q # 18) Τι είναι ο εκπρόσωπος γρήγορα;
Απάντηση: Το Delegate είναι ένα μοτίβο σχεδίασης, το οποίο χρησιμοποιείται για τη μετάδοση των δεδομένων ή την επικοινωνία μεταξύ δομών ή κλάσεων. Το Delegate επιτρέπει την αποστολή μηνύματος από ένα αντικείμενο σε άλλο αντικείμενο όταν συμβαίνει ένα συγκεκριμένο συμβάν και χρησιμοποιείται για το χειρισμό συμβάντων προβολής πίνακα και συλλογής.
Οι εκπρόσωποι έχουν μία προς μία σχέση και μία προς μία επικοινωνία.
Q # 19) Ποια είναι η χρήση του διπλού ερωτηματικού '??' σε γρήγορο;
Απάντηση: Το διπλό ερωτηματικό « ?? 'Είναι τελεστής μηδενικής συγχώνευσης, είναι κυρίως συντομογραφία για τον τριμερή τελεστή υπό όρους όπου χρησιμοποιούσαμε δοκιμές για μηδέν. Ένα διπλό ερωτηματικό χρησιμοποιείται επίσης για την παροχή μιας προεπιλεγμένης τιμής για μια μεταβλητή.
stringVar ?? 'Προεπιλεγμένη συμβολοσειρά'
Αυτό κάνει ακριβώς το συνηθισμένο, εάν το stringVar δεν είναι μηδέν τότε επιστρέφεται, διαφορετικά επιστρέφεται η 'προεπιλεγμένη συμβολοσειρά'.
Q # 20) Τι είναι μια δήλωση GUARD; Ποιο είναι το όφελος της γρήγορης χρήσης της δήλωσης GUARD;
Απάντηση: Μια δήλωση GUARD χρησιμοποιείται για τη μεταφορά του ελέγχου προγράμματος εκτός του πεδίου εφαρμογής όταν δεν πληρούνται μία ή περισσότερες προϋποθέσεις. Η χρήση αυτής της δήλωσης βοηθά στην αποφυγή της πυραμίδας της καταστροφής.
Μια δήλωση GUARD θα έχει την ακόλουθη μορφή:
guard condition else { Statements }
Ε # 21) Ποιοι είναι οι τύποι συλλογής που διατίθενται γρήγορα;
Απάντηση: Υπάρχουν τρεις κύριοι τύποι συλλογής που είναι διαθέσιμοι γρήγορα για την αποθήκευση μιας συλλογής τιμών. Είναι λεξικά, σύνολα και πίνακες
- Πίνακες: Το Arrays είναι μια ταξινομημένη συλλογή τιμών, η οποία αποθηκεύεται στον ίδιο τύπο τιμών σε μια λίστα με σειρά.
- Σκηνικά: Τα σύνολα είναι μια μη ταξινομημένη συλλογή μοναδικών τιμών, οι οποίες αποθηκεύονται σε μια ξεχωριστή τιμή του ίδιου τύπου σε μια συλλογή χωρίς καμία καθορισμένη σειρά.
- Λεξικά: Τα λεξικά είναι μια μη ταξινομημένη συλλογή συσχετισμών ζεύγους κλειδιών και τιμών με μη ταξινομημένο τρόπο.
Q # 22) Τι είναι το 'defer';
Απάντηση: Το 'defer' είναι μια λέξη-κλειδί που παρέχει ένα μπλοκ κώδικα που μπορεί να εκτελεστεί ενώ η εκτέλεση αφήνει το τρέχον πεδίο.
Q # 23) Τι είναι το Tuple; Πώς να δημιουργήσετε ένα γρήγορο Tuple;
Απάντηση: Η πλειάδα είναι μια ομάδα διαφορετικών τιμών σε μία μόνο ένωση. Είναι μια ταξινομημένη λίστα στοιχείων. Υπάρχουν δύο τρόποι πρόσβασης στα δεδομένα αντικειμένων σε μια πλειάδα, δηλαδή βάσει ονόματος ή θέσης.
Σε γρήγορη ταχύτητα, μια πλειάδα μπορεί να αποτελείται από πολλούς διαφορετικούς τύπους. Μπορεί να υποστηρίξει δύο τιμές, δηλαδή μία ακέραιου τύπου και την άλλη τύπου συμβολοσειράς. Είναι μια νομική εντολή.
Για παράδειγμα: αφήστε ImplementationError = (501, 'Δεν εφαρμόζεται').
Μπορούμε να δημιουργήσουμε μια βασική πλειάδα όπως αυτή:
let person = (name: “Ajay” , age: 34)
Q # 24) Ποια είναι η διαφορά μεταξύ Array και NSArray;
Απάντηση: Η διαφορά μεταξύ Array και NSArray δίνεται παρακάτω:
- Ένας πίνακας μπορεί να περιέχει μόνο έναν τύπο δεδομένων, ενώ ο πίνακας NSA μπορεί να διατηρεί διαφορετικούς τύπους δεδομένων.
- Ένας πίνακας είναι ένας τύπος τιμής, ενώ το NSArray είναι ένας αμετάβλητος τύπος αναφοράς.
Q # 25) Ποια είναι η διαφορά μεταξύ τάξης και δομής;
Απάντηση: Η διαφορά μεταξύ τάξης και δομής δίνεται παρακάτω:
- Οι τάξεις είναι τύποι αναφοράς, ενώ οι δομές είναι τύποι τιμών.
- Τα μαθήματα μπορούν να οικοδομηθούν σε άλλες κατηγορίες, ενώ τα δομή δεν μπορούν να κληρονομηθούν από άλλη δομή.
- Οι τάξεις έχουν κληρονομιά, ενώ οι δομές δεν μπορούν να έχουν κληρονομιά.
- Στην τάξη, μπορούμε να δημιουργήσουμε μια παρουσία με λέξεις-κλειδιά 'let' και να προσπαθήσουμε να μεταλλάξουμε την ιδιότητά της, ενώ δεν υπάρχει Mutability στις δομές.
- Τα μαθήματα έχουν Type Casting, ενώ το struct δεν έχει Type Casting.
Ε # 26) Ποιοι είναι οι καλύτεροι τρόποι επίτευξης ταυτόχρονης λειτουργίας στο iOS;
Απάντηση: Οι τρεις καλύτεροι τρόποι επίτευξης ταυτόχρονης λειτουργίας στο iOS δίνονται παρακάτω:
- Ουρές αποστολής
- Νήματα
- Ουρές λειτουργίας
Q # 27) Πώς να δημιουργήσετε μια σταθερά στον προγραμματισμό Swift;
Απάντηση: Πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί «let» για να δηλώσουμε μια σταθερά στον προγραμματισμό Swift.
Q # 28) Πώς να μεταφέρετε τα δεδομένα μεταξύ ελεγκτών προβολής;
Απάντηση: Υπάρχουν τρεις τρόποι μετάδοσης των δεδομένων μεταξύ ελεγκτών προβολής όπως φαίνεται παρακάτω.
- Χρησιμοποιώντας το Segue, στην προετοιμασία μέθοδο (Προώθηση).
- Ρύθμιση της μεταβλητής απευθείας (Backword).
- Χρήση του Delegate (Backword).
Ε # 29) Πώς μπορούμε να ορίσουμε μια βασική τάξη γρήγορα;
Απάντηση: Σε μια γρήγορη γλώσσα προγραμματισμού, τα μαθήματα δεν κληρονομούνται από την βασική τάξη. Τα μαθήματα καθορίζονται από τον προγραμματιστή χωρίς να καθορίζει το superclass και θα γίνει αυτόματα η βασική τάξη.
Q # 30) Πώς μπορούμε να κάνουμε ένα ακίνητο προαιρετικό;
Απάντηση: Δήλωση ερωτηματικού « ; 'Στον γρήγορο κώδικα μπορεί να κάνει μια ιδιότητα προαιρετική. Αυτό το ερωτηματικό ' ; 'Βοηθά στην αποφυγή του σφάλματος χρόνου εκτέλεσης όταν μια ιδιότητα δεν έχει τιμή.
Ε # 31) Ποιος καλεί την κύρια λειτουργία της εφαρμογής μας κατά τη διάρκεια του κύκλου εκκίνησης της εφαρμογής;
Απάντηση: Το κύριο νήμα καλεί την κύρια λειτουργία της εφαρμογής μας. Κατά τη διάρκεια του κύκλου εκκίνησης της εφαρμογής, το σύστημα θα δημιουργήσει ένα κύριο νήμα για την εφαρμογή και θα καλέσει την κύρια λειτουργία της εφαρμογής σε αυτό το κύριο νήμα.
Q # 32) Ποια είναι τα στοιχεία διεπαφής χρήστη;
Απάντηση: Εικόνες, κουμπιά, ετικέτες, πεδία κειμένου και άλλα στοιχεία που είναι ορατά στον χρήστη εντός της εφαρμογής ονομάζονται στοιχεία διεπαφής χρήστη.
Q # 33) Ποιο είναι το superclass όλων των αντικειμένων του ελεγκτή προβολής;
Απάντηση: Η κλάση UIViewController είναι το superclass όλων των αντικειμένων του ελεγκτή προβολής. Η λειτουργικότητα για την παρουσίασή τους, τη φόρτωση προβολών, την περιστροφή τους είναι απόκριση στις περιστροφές της συσκευής. Όλη η τυπική συμπεριφορά του συστήματος παρέχεται από την κλάση UIViewController.
Q # 34) Ποιο είναι το νέο χαρακτηριστικό στο Swift 4.0;
Απάντηση: Τα νέα χαρακτηριστικά στο swift 4.0 δίνονται παρακάτω:
- Ταχύτερες και ευκολότερες στη χρήση χορδές που διατηρούν την ορθότητα του Unicode.
- Tuples και πολλαπλές τιμές επιστροφής.
- Εγγενής χειρισμός σφαλμάτων χρησιμοποιώντας ρίψη / δοκιμή / πιάσιμο
- Επεκτείνει την υποστήριξη της σειριοποίησης σε μια δομή.
Q # 35) Πώς να γράψετε ένα σχόλιο πολλαπλών γραμμών γρήγορα;
Απάντηση: Ένα σχόλιο πολλαπλών γραμμών γράφεται μεταξύ του ( / * ) στο σημείο εκκίνησης και ( * / ) στο τελικό σημείο.
Q # 36) Ποια είναι τα στοιχεία προέλευσης που χρησιμοποιούνται από το Xcode;
Απάντηση: Το Xcode χρησιμοποιεί τέσσερις διαφορετικούς τύπους στοιχείων προέλευσης όπως αναφέρεται παρακάτω:
- Δομή
- Ομάδα πηγών
- Αρχείο πηγής
- Φάκελος πηγής
Ε # 37) Ποιοι είναι οι διαφορετικοί τρόποι για τη γρήγορη μετάδοση δεδομένων;
Απάντηση: Υπάρχουν πολλοί τρόποι για τη γρήγορη μετάδοση δεδομένων, όπως KVO, Delegate, NSNotification & Callbacks, Target-Action κ.λπ.
Ερώτηση # 38) Εξηγήστε τη χρήση της Κατηγορίας και τα οφέλη της Κληρονομικότητας.
Απάντηση: Αυτοί είναι:
- Επαναχρησιμοποίηση εφαρμογής
- Η υποκατηγορία παρέχει δυναμική αποστολή.
- Η υποκατηγορία παρέχει τη διεπαφή επαναχρησιμοποίησης.
- Αρθρωτότητα
- Η παράκαμψη παρέχει τον μηχανισμό προσαρμογής.
Ε # 39) Εξηγήστε ορισμένα κοινά χαρακτηριστικά των πρωτοκόλλων και των σούπερ γυαλιά.
Απάντηση: Μερικά κοινά χαρακτηριστικά του Protocol & Superclass δίνονται παρακάτω:
- Επαναχρησιμοποίηση διεπαφής.
- Επαναχρησιμοποίηση εφαρμογής.
- Υποστήριξη αρθρωτού σχεδιασμού.
- Παρέχει σημεία για προσαρμογή.
Ερώτηση # 40) Εξηγήστε μερικές μεγαλύτερες αλλαγές στις Ειδοποιήσεις χρήστη.
Απάντηση: Παρακάτω δίνονται μερικές μεγαλύτερες αλλαγές στις Ειδοποιήσεις χρήστη:
sabui ερωτήσεις και απαντήσεις συνέντευξης pdf
- Επιτρέπει την προσθήκη εικόνων, ήχου και βίντεο.
- Επιτρέπει τη δημιουργία προσαρμοσμένων διεπαφών για ειδοποιήσεις.
- Επιτρέπει τη διαχείριση των ειδοποιήσεων με διεπαφή στο κέντρο ειδοποιήσεων.
Q # 41) Τι είναι η προαιρετική αλυσίδα;
Απάντηση: Η προαιρετική αλυσίδα είναι μια χρήσιμη διαδικασία την οποία μπορούμε να χρησιμοποιήσουμε σε συνδυασμό με το προαιρετικό να καλέσουμε τις μεθόδους, τις ιδιότητες και τους συνδρομητές στα προαιρετικά και αυτές οι τιμές μπορεί ή όχι να είναι μηδενικές. Σε αυτήν τη διαδικασία, ενδέχεται να προσπαθήσουμε να ανακτήσουμε μια τιμή από μια αλυσίδα των προαιρετικών τιμών.
- Εάν το προαιρετικό περιέχει μια τιμή, τότε η κλήση του συνδρομητή, της μεθόδου ή της ιδιότητας ενός προαιρετικού θα επιστρέψει μια τιμή.
- Εάν το προαιρετικό είναι μηδέν, τότε η κλήση του συνδρομητή, η μέθοδος και η ιδιότητα θα επιστρέψουν μηδέν.
Q # 42) Τι είναι η προαιρετική δέσμευση;
Απάντηση: Η προαιρετική ιδέα δέσμευσης χρησιμοποιείται για να διαπιστωθεί εάν ένα προαιρετικό περιέχει μια τιμή και καθιστά αυτήν την τιμή διαθέσιμη ως μεταβλητή ή προσωρινή σταθερά. Χρησιμοποιούμε μια προαιρετική δεσμευτική ιδέα για να ελέγξουμε αν το προαιρετικό περιέχει μια τιμή ή όχι.
Η προαιρετική δέσμευση μπορεί να χρησιμοποιηθεί με τις δηλώσεις συνθήκης (εάν και ενώ) για τον έλεγχο μιας τιμής μέσα σε μια προαιρετική.
Q # 43) Ποιες είναι οι συναρτήσεις υψηλότερης τάξης;
Απάντηση: Οι συναρτήσεις υψηλότερης τάξης δίνονται παρακάτω:
- Χάρτης: Μεταμορφώστε τα περιεχόμενα του πίνακα.
- Περιορίζω: Μειώστε τις τιμές στη συλλογή σε μία μόνο τιμή.
- Είδος: Ταξινόμηση των πινάκων.
- Φίλτρο: Μεταμορφώστε τα περιεχόμενα του πίνακα.
Ε # 44) Εξηγήστε ορισμένα μοτίβα σχεδιασμού που συνήθως χρησιμοποιούμε κατά την ανάπτυξη της εφαρμογής.
Απάντηση: Τα σχέδια σχεδίασης που χρησιμοποιούνται κατά την ανάπτυξη εφαρμογών δίνονται παρακάτω:
- Συμπεριφορά: Memento και Observer.
- Δημιουργική: Builder, Factory και Singleton.
- Κατασκευαστικός: Πρόσοψη, προσαρμογέας και διακοσμητής.
Ε # 45) Ποιοι είναι οι διάφοροι τρόποι για να ξετυλίξετε ένα προαιρετικό γρήγορα;
Απάντηση: Υπάρχουν επτά τρόποι για να ξετυλίξετε ένα προαιρετικό γρήγορα. Αυτοί είναι:
- Δήλωση φρουράς: ασφαλής.
- Αναγκαστική αποσυσκευασία: χρησιμοποιώντας '!' χειριστής, μη ασφαλής.
- Προαιρετική δέσμευση: ασφαλής.
- Προαιρετικό μοτίβο: ασφαλής.
- Μηδενικός χειριστής συγχώνευσης: ασφαλής.
- Σιωπηρά ανακεφαλαιωμένη δήλωση μεταβλητής: ανασφαλής σε πολλές περιπτώσεις.
- Προαιρετική αλυσίδα: ασφαλής.
Q # 46) Ποιος μηχανισμός υποστηρίζει το iOS για multi-threading;
Απάντηση: Είναι:
- NST νήμα: Μπορεί να δημιουργήσει ένα νήμα χαμηλού επιπέδου το οποίο μπορεί να ξεκινήσει χρησιμοποιώντας τη μέθοδο «εκκίνησης».
- NSOperationQueue: Επιτρέπει τη δημιουργία ενός συνόλου νημάτων και χρησιμοποιείται για την εκτέλεση παράλληλα 'NSOperations'.
Q # 47) Τι είναι η ενότητα Swift;
Απάντηση:
- Μια ενότητα είναι μια ενιαία μονάδα διανομής κώδικα.
- Ένα πλαίσιο ή μια εφαρμογή δημιουργείται και αποστέλλεται ως μία μονάδα και μπορεί να εισαχθεί από μια άλλη μονάδα χρησιμοποιώντας τη λέξη-κλειδί γρήγορης εισαγωγής.
- Κάθε στόχος έκδοσης στο εργαλείο Xcode αντιμετωπίζεται ως ξεχωριστή λειτουργική μονάδα γρήγορα.
Ε # 48) Εξηγήστε τα βασικά δεδομένα.
Απάντηση: Τα βασικά δεδομένα είναι ένα από τα πιο ισχυρά πλαίσια που παρέχονται από την Apple για εφαρμογές macOS και iOS. Τα βασικά δεδομένα χρησιμοποιούνται για το χειρισμό του αντικειμένου στρώματος μοντέλου στις εφαρμογές μας. Μπορούμε να αντιμετωπίσουμε τα βασικά δεδομένα ως πλαίσιο για φιλτράρισμα, τροποποίηση, αποθήκευση και παρακολούθηση των δεδομένων εντός των εφαρμογών iOS. Τα βασικά δεδομένα δεν είναι σχεσιακή βάση δεδομένων.
Χρησιμοποιώντας βασικά δεδομένα, μπορούμε εύκολα να αντιστοιχίσουμε τα αντικείμενα της εφαρμογής μας στις εγγραφές πίνακα στη βάση δεδομένων χωρίς να γνωρίζουμε SQL. Τα βασικά δεδομένα είναι η δομή M σε MVC.
Ορισμένες δυνατότητες των βασικών δεδομένων δίνονται παρακάτω για την αναφορά σας:
- Αποτελεσματική ενσωμάτωση με τις εργαλειοθήκες iOS και macOS.
- Οργάνωση, φιλτράρισμα και ομαδοποίηση δεδομένων στη μνήμη και στο περιβάλλον χρήστη (User Interface).
- Αυτόματη υποστήριξη για την αποθήκευση αντικειμένων.
- Αυτόματη επικύρωση των τιμών ιδιοκτησίας.
- Πρώτο πλαίσιο για τη διαχείριση ενός γραφήματος αντικειμένων.
- Πλαίσιο βασικών δεδομένων για τη διαχείριση του κύκλου ζωής του αντικειμένου στο γράφημα αντικειμένων.
Ερώτηση # 49) Εξηγήστε την αποστολή Grand Central (GDC).
Απάντηση: Το GCD (Grand Central Dispatch) είναι ένα API χαμηλού επιπέδου για τη διαχείριση των ταυτόχρονων λειτουργιών. Αυτή η ιδέα χρησιμοποιείται για τη βελτίωση της απόδοσης της εφαρμογής. Αυτή η διαδικασία χρησιμοποιείται για τη διαχείριση πολλαπλών εργασιών ταυτόχρονα. Το Grand Central Dispatch (GCD) είναι το πιο χρήσιμο API για πολλαπλές εργασίες με προγραμματισμό Async και Sync στο iOS.
- Ουρά αποστολής: Η ουρά αποστολής διαχειρίζεται την εργασία με τη σειρά FIFO (First In First Out). Οι ουρές αποστολής είναι ασφαλείς για νήματα, καθώς μπορούμε να έχουμε πρόσβαση σε αυτά από πολλά νήματα ταυτόχρονα.
- Ταυτόχρονος: Αυτή η διαδικασία έχει ξεκινήσει πολλές εργασίες ταυτόχρονα, αλλά δεν είναι σίγουρη για τον τερματισμό ταυτόχρονα. Μπορεί να ολοκληρωθεί με οποιαδήποτε σειρά. Εκτελούν μία ή περισσότερες εργασίες ταυτόχρονα. Η εργασία ολοκληρώνεται σύμφωνα με την πολυπλοκότητα και όχι με τη σειρά στην ουρά.
- Κατα συρροη: Μόνο μία εργασία θα εκτελεστεί κάθε φορά. Μπορεί να χρησιμοποιηθεί για συγχρονισμό της πρόσβασης σε έναν συγκεκριμένο πόρο.
- Συγχρονισμός: Μια σύγχρονη λειτουργία έχει έλεγχο επιστροφής στον καλούντα μετά την ολοκλήρωση της εργασίας.
- Async: Μια ασύγχρονη συνάρτηση επιστρέφει αμέσως, διατάζοντας την εκκίνηση της εργασίας αλλά δεν θα περιμένει να ολοκληρωθεί.
Q # 50) Εξηγήστε τη δομή MVC.
Απάντηση: Το MVC σημαίνει τον ελεγκτή προβολής μοντέλου. Το MVC είναι ένα ισχυρό πρότυπο αρχιτεκτονικής λογισμικού για τη χρήση αναπτυσσόμενων εφαρμογών.
Το MVC βασίζεται πάνω στις έννοιες Προγραμματισμού Αντικειμένου. Διαμορφώνει τη ροή δεδομένων και αλληλεπίδρασης στην εφαρμογή μας. Το Model-View-Controller είναι μια σημαντική θεμελιώδης έννοια που πρέπει να κατανοηθεί στην ανάπτυξη του iOS. Πολλά πλαίσια iOS, όπως το UIKit, το Cocoa Touch, χρησιμοποιούν το μοτίβο MVC για ανταλλαγή μηνυμάτων και δομημένη ροή δεδομένων.
Το Model-View-Controller χρησιμοποιείται για τη μετάδοση των δεδομένων από ένα μέρος της εφαρμογής μας σε άλλο.
Είναι ένα μοτίβο σχεδίασης που χρησιμοποιείται για την εκχώρηση αντικειμένων σε μια εφαρμογή σε οποιονδήποτε από τους τρεις ρόλους:
- Μοντέλο: Το μοντέλο είναι ένα περιτύλιγμα δεδομένων. Το μοντέλο είναι μια αναπαράσταση των δεδομένων της εφαρμογής μας και διατηρεί τις πληροφορίες σε έναν συγκεκριμένο χρήστη, όπως ημερομηνία γέννησης, όνομα χρήστη κ.λπ. Το μοντέλο διαχειρίζεται την κατάσταση της εφαρμογής. Αυτό περιλαμβάνει επίσης δεδομένα γραφής και ανάγνωσης. Το μοντέλο ενσωματώνει ένα μεμονωμένο σύνολο δεδομένων και εφαρμόζει κάποια λογική για τον χειρισμό αυτών των δεδομένων.
- Θέα: Η προβολή είναι μια αναπαράσταση διεπαφής χρήστη (διεπαφή χρήστη). Η Προβολή είναι ένα αντικείμενο που είναι ορατό στον χρήστη και αλληλεπιδρά με μια διεπαφή χρήστη (UI).
- Ελεγκτής: Ο ελεγκτής είναι ένας ενδιάμεσος μεταξύ της προβολής και του μοντέλου. Ο ελεγκτής ελέγχει όλη τη λογική που βρίσκεται μεταξύ του μοντέλου και της προβολής. Διασυνδέει μηνύματα μεταξύ του Μοντέλου και της Προβολή και το αντίστροφο.
συμπέρασμα
Έχουμε διερευνήσει όλες τις πιθανές και σημαντικές ερωτήσεις συνέντευξης Swift μαζί με τις απαντήσεις και τα παραδείγματα σε αυτό το άρθρο.
Ελπίζουμε ότι οι απαντήσεις που παρέχονται εδώ θα ήταν πράγματι πολύ χρήσιμες για την κατανόηση των βασικών στοιχείων του iOS και των προηγμένων θεμάτων. Η σαφής γνώση αυτών των ερωτήσεων συνέντευξης για προγραμματιστές Swift και iOS θα βοηθούσε κάθε αρχάριο ή έμπειρο επαγγελματία να καθαρίσει επιτυχώς τη συνέντευξη στην πρώτη προσπάθεια.
Όλα τα καλύτερα για τη συνέντευξή σας !!
Συνιστώμενη ανάγνωση
- Ερωτήσεις και απαντήσεις συνέντευξης
- Μερικές ενδιαφέρουσες ερωτήσεις συνέντευξης δοκιμών λογισμικού
- Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης Bootstrap 51
- Top 50 ερωτήσεις συνέντευξης Python (πιο δημοφιλείς)
- Ερωτήσεις και απαντήσεις συνέντευξης δοκιμών ETL
- Κορυφαίες 50 πιο δημοφιλείς ερωτήσεις και απαντήσεις συνέντευξης CCNA
- 50 κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης PHP (για ΟΛΑ)
- Top 50+ ερωτήσεις και απαντήσεις συνέντευξης βάσης δεδομένων