Πίνακας περιεχομένων[Κρύβω][Προβολή]
- 1. Τι καταλαβαίνετε με τον όρο REST;
- 2. Τι εννοείτε με τον όρο REST API;
- 3. Τι ακριβώς είναι το URI;
- 4. Ποια είναι τα χαρακτηριστικά των RESTful Web Services;
- 5. Ποιες είναι οι κατευθυντήριες αρχές του REST;
- 6. Αναφέρετε τις μεθόδους HTTP που υποστηρίζει το REST.
- 7. Περιγράψτε τους περιορισμούς που θέτει μια συνεπής διεπαφή.
- 8. Τι ακριβώς είναι ένας πόρος REST;
- 9. Τι σημαίνει για εσάς το JAX-RS;
- 10. Τι διακρίνει το AJAX και το REST το ένα από το άλλο;
- 11. Μπορείτε να αναφέρετε ορισμένα μειονεκτήματα των υπηρεσιών web RESTful;
- 12. Τι διακρίνει τις τεχνικές PUT και POST η μία από την άλλη;
- 13. Πώς δοκιμάζετε τις υπηρεσίες web RESTful;
- 14. Περιγράψτε ένα REST API στον πραγματικό κόσμο.
- 15. Πώς λειτουργεί το Microservice Architecture;
- 16. Τι ακριβώς είναι η προσωρινή αποθήκευση;
- 17. Περιγράψτε το ωφέλιμο φορτίο.
- 18. Διαφοροποιήστε το SOAP Vs REST;
- 19. Μπορεί το πρωτόκολλο ασφαλείας επιπέδου μεταφοράς (TLS) να χρησιμοποιηθεί με το REST;
- 20. Idempotent μέθοδοι: ποιες είναι αυτές; Πώς εφαρμόζεται στον κόσμο των υπηρεσιών web RESTful;
- 21. Ποια είναι η λειτουργικότητα του Βασικού ελέγχου ταυτότητας HTTP;
- 22. Πιστεύετε ότι το GraphQL είναι η καλύτερη επιλογή για τη δημιουργία αρχιτεκτονικής microservice;
- 23. Ποιες είναι οι κύριες διακρίσεις μεταξύ των ασφαλών και ανίκανων μεθόδων HTTP;
- 24. Τι σημαίνει το JAX-RS API από τις κλάσεις πόρων RESTful Root;
- 25. Τι ακριβώς είναι ο Ταχυδρόμος και γιατί χρησιμοποιείται;
- 26. Πώς διατηρούνται ασφαλή τα REST API;
- Συμπέρασμα
Η εξέλιξη του REST έχει κάνει τα API απίστευτα προσβάσιμα, αποκαλύπτοντας ταυτόχρονα την πλήρη ισχύ και τις δυνατότητές τους. Τα API REST είναι εύκολο να δημιουργηθούν και να αποθηκευτούν προσωρινά λόγω της αρχιτεκτονικής τους που είναι προσανατολισμένη στους πόρους.
Επιπλέον, με την πάροδο του χρόνου, τα RESTful API ήταν οι πρόδρομοι άλλων σημαντικών εξελίξεων, όπως το cloud computing και ο σχεδιασμός που βασίζεται σε μικροϋπηρεσίες.
Επομένως, δεν πρέπει να αποτελεί έκπληξη το γεγονός ότι οι προγραμματιστές REST API έχουν ζήτηση σήμερα, δεδομένου του τρόπου με τον οποίο παρέχουν ανταγωνιστικό πλεονέκτημα σε επιχειρήσεις που χρησιμοποιούν υπηρεσίες RESTful. Τα REST API είναι μια δημοφιλής τάση σχεδιασμού.
Πολλές εταιρείες πληροφορικής θέλουν γνώσεις REST API από προγραμματιστές λογισμικού και ρωτήστε για αυτό σε τεχνικές συνεντεύξεις.
Ακολουθούν μερικές από τις πιο τυπικές ερωτήσεις συνεντεύξεων REST API που θα σας βοηθήσουν να είστε έτοιμοι για συνεντεύξεις σε διάφορες εταιρείες, εάν θέλετε να εργαστείτε στον τομέα ανάπτυξης REST API.
1. Τι καταλαβαίνετε με τον όρο REST;
Το REST είναι ένα αρχιτεκτονικό παράδειγμα για το σχεδιασμό εφαρμογών που βασίζονται στο web που βασίζονται στο πρωτόκολλο μεταφοράς υπερκειμένου (HTTP).
Το REST ορίζει ορισμένα πρότυπα που πρέπει να πληρούν οι υπηρεσίες web για να θεωρηθούν RESTful. Αυτές οι συστάσεις εγγυώνται ότι τα αιτήματα και οι πόροι μεταδίδονται γρήγορα και αποτελεσματικά μεταξύ πελάτη και διακομιστή χρησιμοποιώντας τυποποιημένα πρωτόκολλα HTTP.
2. Τι εννοείτε με τον όρο REST API;
Μια σύνδεση λογισμικού-λογισμικού γνωστή ως διεπαφή προγραμματισμού εφαρμογών επιτρέπει την επικοινωνία και την κοινή χρήση δεδομένων μεταξύ ανεξάρτητων κατά τα άλλα προγραμμάτων. Για παράδειγμα, ένας ιστότοπος ειδήσεων θα μπορούσε να χρησιμοποιήσει το Twitter API για να ανακαλύπτει αυτόματα τα σχετικά tweets και να τα ενσωματώνει σε ειδήσεις.
Ένα API που συμμορφώνεται με τις αρχές REST είναι γνωστό ως REST API, μερικές φορές γνωστό ως RESTful API. Σε ένα REST API, κάθε τμήμα δεδομένων αντιμετωπίζεται ως πόρος και δίνεται μια ξεχωριστή τυπική ταυτότητα πόρων (URI).
Για παράδειγμα, το Twitter API καθιστά κάθε tweet έναν ανακτήσιμο πόρο που είναι διαθέσιμος στους πελάτες. Το Twitter API μπορεί να χρησιμοποιηθεί από τους χρήστες για τη δημοσίευση tweets και την εκτέλεση άλλων εργασιών ιστότοπου.
3. Τι ακριβώς είναι το URI;
A δίκτυο υπολογιστών Ο πόρος μπορεί να αναφέρεται χρησιμοποιώντας ένα URI ή ένα ενιαίο αναγνωριστικό πόρων. Χρησιμεύει ως μέσο διαχωρισμού ενός πόρου από τον άλλο. Οι πηγές μπορεί να είναι ή όχι στο διαδίκτυο.
Λόγω της τυπικής δομής τους, τα URI διευκολύνουν τη σύνδεση ακόμη και με διάφορους τύπους πόρων. Η τοποθεσία ή το όνομα του πόρου περιλαμβάνεται στα URI μαζί με μια σειρά χαρακτήρων.
Το URI αποτελείται από μια διαδρομή, σχήμα, ερώτημα και άλλα στοιχεία, αλλά δεν περιλαμβάνει το πρωτόκολλο.
Χρησιμοποιώντας ένα πρωτόκολλο, οι διευθύνσεις URL (Uniform Resource Locators) χρησιμοποιούνται για την εύρεση πόρων στο διαδίκτυο ή προσβάσιμες μέσω αυτού.
4. Ποια είναι τα χαρακτηριστικά των RESTful Web Services;
- Το παράδειγμα Client-Server είναι το θεμέλιο της υπηρεσίας.
- Η υπηρεσία μπορεί να έχει πρόσβαση σε πόρους χρησιμοποιώντας URI.
- Η υπηρεσία χρησιμοποιεί το πρωτόκολλο HTTP για την απόκτηση δεδομένων/πόρων, την εκτέλεση ερωτημάτων και την εκτέλεση άλλων εργασιών.
- Μηνύματα είναι το όνομα της μεθόδου που χρησιμοποιείται για την επικοινωνία μεταξύ του πελάτη και του διακομιστή.
- Αυτές οι υπηρεσίες μπορούν επίσης να εφαρμόσουν το αρχιτεκτονικό μοτίβο REST χρησιμοποιώντας υπηρεσίες SOAP.
- Για να μειωθούν οι κλήσεις διακομιστή για το ίδιο είδος επαναλαμβανόμενων αιτημάτων, αυτές οι υπηρεσίες χρησιμοποιούν επίσης την ιδέα της προσωρινής αποθήκευσης.
5. Ποιες είναι οι κατευθυντήριες αρχές του REST;
Τα API REST πρέπει να πληρούν πέντε κριτήρια:
Αποσύνδεση πελάτη-διακομιστή: Μόνο μια σειρά από αιτήματα και απαντήσεις μπορούν να χρησιμοποιηθούν για την επικοινωνία μεταξύ του πελάτη και του διακομιστή. Μόνο οι πελάτες και οι διακομιστές μπορούν να στέλνουν αιτήματα και απαντήσεις, αντίστοιχα. Αυτή η απλή ιδέα επιτρέπει και στα δύο μέρη να λειτουργούν ανεξάρτητα το ένα από το άλλο.
Uniform Interface: Πρέπει να υπάρχει ένα ενιαίο πρωτόκολλο για όλες τις συνδέσεις πελάτη-διακομιστή. Αυτό το πρωτόκολλο για το REST είναι HTTP. Επειδή κάθε εφαρμογή ζητά και στέλνει δεδομένα χρησιμοποιώντας την ίδια γλώσσα, μια συνεπής διεπαφή κάνει τις ενοποιήσεις απλούστερες.
Χωρίς ιθαγένεια: Ο διακομιστής δεν αποθηκεύει καμία εγγραφή προηγούμενων αιτημάτων ή απαντήσεων σε επικοινωνία χωρίς ιθαγένεια. Κάθε αίτημα και απάντηση παρέχει όλες τις λεπτομέρειες που απαιτούνται για την ολοκλήρωση της ανταλλαγής. Η επικοινωνία χωρίς πατρίδα ενισχύει την ταχύτητα, εξοικονομεί μνήμη και μειώνει το άγχος στον διακομιστή. Επιπλέον, αποφεύγει την πιθανότητα αποτυχίας ενός αιτήματος λόγω ελλιπών δεδομένων.
Επίπεδο σύστημα: Οι διακομιστές που βρίσκονται μεταξύ του πελάτη και του διακομιστή API αναφέρονται ως επίπεδα. Αυτοί οι επιπλέον διακομιστές εκτελούν μια ποικιλία υπηρεσιών, όπως η ανίχνευση ανεπιθύμητων μηνυμάτων και η βελτιστοποίηση της ταχύτητας. Τα επίπεδα στο REST είναι αρθρωτά, που σημαίνει ότι μπορούν να προστεθούν και να διαγραφούν χωρίς να επηρεαστούν οι επικοινωνίες μεταξύ του πελάτη και του διακομιστή API.
Με δυνατότητα προσωρινής αποθήκευσης: Οι πελάτες μπορούν να αποθηκεύσουν προσωρινά οποιουσδήποτε πόρους για να αυξήσουν την ταχύτητα, εάν οι απαντήσεις του διακομιστή υποδεικνύουν εάν ο πόρος είναι προσωρινά αποθηκευμένος ή όχι.
Κωδικοποίηση κατ' απαίτηση: Σε απόκριση, ένα API μπορεί να μεταδώσει εκτελέσιμο κώδικα υπολογιστή σε πελάτες. Η εφαρμογή πελάτη μπορεί στη συνέχεια να εκτελέσει τον κώδικα στο δικό της back end.
6. Αναφέρετε τις μεθόδους HTTP που υποστηρίζει το REST.
Οι μέθοδοι HTTP που υποστηρίζει το REST είναι:
- GET: Αυτή η μέθοδος ζητά έναν πόρο στην καθορισμένη διεύθυνση URL. Ένα σώμα αιτήματος δεν θα πρέπει να συμπεριληφθεί επειδή θα αγνοηθεί. Θα μπορούσε να είναι δυνατή η προσωρινή αποθήκευση τοπικά ή στον διακομιστή.
- POST: Αυτή η μέθοδος στέλνει δεδομένα σε μια υπηρεσία για επεξεργασία και η υπηρεσία θα πρέπει κανονικά να επιστρέψει έναν νέο ή αλλαγμένο πόρο.
- PUT: Ο πόρος ενημερώνεται στη διεύθυνση URL αιτήματος.
- ΔΙΑΓΡΑΦΗ: Ο πόρος διαγράφεται στη διεύθυνση URL αιτήματος.
- Επιλογές: Προσδιορίζει τις υποστηριζόμενες μεθόδους.
- HEAD: Τα μεταδεδομένα της διεύθυνσης URL αιτήματος επιστρέφονται.
7. Περιγράψτε τους περιορισμούς που θέτει μια συνεπής διεπαφή.
Για να διαχωριστεί ο πελάτης από τον διακομιστή, απαιτείται μια συνεπής διεπαφή.
Για να επιτευχθεί μια συνεπής διεπαφή, απαιτούνται οι ακόλουθοι τέσσερις περιορισμοί:
- Αναγνώριση πόρων: Τα αιτήματα πελατών πρέπει να χρησιμοποιούν τυπικά αναγνωριστικά πόρων για τον εντοπισμό πόρων (URI)
- Χειρισμός πόρων χρησιμοποιώντας αυτές τις αναπαραστάσεις: Οι πελάτες έχουν όλες τις πληροφορίες που απαιτούνται για να μπορούν να αλλάξουν την κατάσταση των πόρων όταν λαμβάνουν μια αναπαράσταση πόρων από τον διακομιστή.
- Αυτοπεριγραφικά μηνύματα: Τα μηνύματα περιλαμβάνουν όλα τα μεταδεδομένα και άλλες πληροφορίες που απαιτούνται για να τα κατανοήσει ο παραλήπτης.
- Τα υπερμέσα ως μηχανισμός κατάστασης εφαρμογής: Το κανάλι για την επικοινωνία πελάτη-διακομιστή είναι τα υπερμέσα, όπως το HTML, και οι πελάτες δεν χρειάζονται τεκμηρίωση ειδικά για το API για να κατανοήσουν τις απαντήσεις του διακομιστή.
8. Τι ακριβώς είναι ένας πόρος REST;
Οι πόροι είναι τα θεμελιώδη στοιχεία μιας υπηρεσίας web RESTful σε μια αρχιτεκτονική REST. Περιλαμβάνουν όλες τις κρίσιμες πληροφορίες στις οποίες χρειάζεται να έχει πρόσβαση ένας πελάτης API.
Οποιοσδήποτε τύπος πόρων, όπως μια σελίδα HTML, μια εικόνα, ένα βίντεο ή οτιδήποτε άλλο απαιτείται για μια δραστηριότητα API, μπορεί να προσπελαστεί μέσω του διακομιστή σε ένα σύστημα πελάτη-διακομιστή.
Οι πόροι προσδιορίζονται από ένα Uniform Resource Identifier. Κείμενο, JSON ή XML είναι όλα αποδεκτές αναπαραστάσεις πόρων. Τούτου λεχθέντος, δεν υπάρχουν περιορισμοί στη μορφή της αναπαράστασης.
9. Τι σημαίνει για εσάς το JAX-RS;
Είναι πιο απλό να δημιουργήσετε υπηρεσίες ιστού RESTful σε Java χάρη στο Java API για τις Υπηρεσίες Ιστού RESTful, συχνά γνωστό ως JAX-RS. Οι προγραμματιστές μπορούν να περιγράψουν πόρους και τις λειτουργίες που μπορούν να πραγματοποιηθούν σε αυτούς χρησιμοποιώντας τους σχολιασμούς που παρέχονται.
10. Τι διακρίνει το AJAX και το REST το ένα από το άλλο;
Αϊάς:
- Το Ajax είναι μια ομάδα τεχνολογιών που επιτρέπει τη δυναμική ενημέρωση διεπαφή χρήστη στοιχεία χωρίς να χρειάζεται να φορτώσετε ξανά τη σελίδα.
- Ο Ajax καταργεί την ασύγχρονη επικοινωνία μεταξύ του πελάτη και του διακομιστή.
ΥΠΟΛΟΙΠΟ:
- Το REST απαιτεί επικοινωνία μεταξύ διακομιστή και πελάτη.
- Η χρήση των πόρων είναι σημαντική για τη δομή του URL και το μοτίβο αιτήματος/απόκρισης που χρησιμοποιείται από το REST.
11. Μπορείτε να αναφέρετε ορισμένα μειονεκτήματα των υπηρεσιών web RESTful;
Οι συνεδρίες δεν μπορούν να συνεχιστούν, καθώς οι υπηρεσίες τηρούν την έννοια της ανιθαγένειας. (Ο πελάτης είναι υπεύθυνος για τη μετάδοση του αναγνωριστικού συνεδρίας καθ' όλη τη διάρκεια της προσομοίωσης της συνεδρίας.)
Οι περιορισμοί ασφαλείας δεν είναι θεμελιώδεις για το REST. Τα πρωτόκολλα που το χρησιμοποιούν κληρονομούν τις προφυλάξεις ασφαλείας. Ως εκ τούτου, είναι σημαντικό να είστε προσεκτικοί κατά τη λήψη μέτρων ασφαλείας, όπως η ενσωμάτωση ελέγχων ταυτότητας που βασίζονται σε SSL/TLS.
12. Τι διακρίνει τις τεχνικές PUT και POST η μία από την άλλη;
ΒΑΖΩ:
- Δεν υπάρχει προσωρινή μνήμη για απαντήσεις PUT.
- Idempotent (δηλαδή πολλαπλά αιτήματα θα έχουν το ίδιο αποτέλεσμα)
- το ωφέλιμο φορτίο του αιτήματος ενημερώνει ή αντικαθιστά τον πόρο προορισμού.
ΘΕΣΗ:
- idempotent not (δηλαδή, πολλαπλά αιτήματα θα αποδώσουν πολλαπλάσια του ίδιου πόρου)
- Ο διακομιστής Ιστού επεξεργάζεται το ωφέλιμο φορτίο της αίτησης με βάση τον προβλεπόμενο πόρο.
- Εάν περιλαμβάνεται η κατάλληλη κεφαλίδα ελέγχου κρυφής μνήμης, οι απαντήσεις POST μπορούν να αποθηκευτούν προσωρινά.
13. Πώς δοκιμάζετε τις υπηρεσίες web RESTful;
Η RESTful δοκιμή της υπηρεσίας Ιστού μπορεί να υποστηριχθεί από μια σειρά εργαλείων, συμπεριλαμβανομένων των Swagger και Postman. Η επιθεώρηση παραμέτρων αιτήματος όπως οι παραμέτρους ερωτήματος, οι κεφαλίδες και οι κεφαλίδες απόκρισης καθίσταται δυνατή από την αφθονία των χαρακτηριστικών των τελευταίων.
Ο Ταχυδρόμος μπορεί να χρησιμοποιηθεί για την υποβολή αιτημάτων στα τελικά σημεία και την εμφάνιση των αποτελεσμάτων. Και XML και JSON μπορούν να δημιουργηθούν από αυτές τις απαντήσεις.
Ο Postman και ο Swagger παρέχουν και οι δύο εξαιρετικά συγκρίσιμες λειτουργίες. Από την άλλη πλευρά, το Swagger προσφέρει επίσης δυνατότητες όπως τεκμηρίωση τελικού σημείου.
14. Περιγράψτε ένα REST API στον πραγματικό κόσμο.
- Οι ιστότοποι ταξιδιών και έκδοσης εισιτηρίων μπορούν να αξιοποιήσουν τους χρόνους και τις τιμές πτήσεων που οι αεροπορικές εταιρείες καθιστούν διαθέσιμες μέσω API.
- Προκειμένου οι εφαρμογές χαρτογράφησης και πλοήγησης (όπως οι Χάρτες Google) να τις χρησιμοποιούν, οι εταιρείες δημόσιων μεταφορών κάνουν συχνά τα δεδομένα τους δημόσια διαθέσιμα σε πραγματικό χρόνο μέσω API.
- Οι καιρικές εφαρμογές χρησιμοποιούν ανοιχτά API που ανταλλάσσουν δεδομένα καιρού για την εμφάνιση πληροφοριών καιρού.
- Οι προγραμματιστές μπορούν να έχουν πρόσβαση στα δεδομένα χαρτογράφησης των Χαρτών Google μέσω ορισμένων από τα API που φιλοξενεί. Αυτά τα API χρησιμοποιούνται από προγραμματιστές για την ενσωμάτωση δυναμικών χαρτών στις εφαρμογές και τους ιστότοπούς τους.
15. Πώς λειτουργεί το Microservice Architecture;
- Τα αιτήματα αποστέλλονται από διάφορους πελάτες χρησιμοποιώντας διάφορες συσκευές.
- Μετά την επιβεβαίωση της ταυτότητας των πελατών, οι πάροχοι ταυτότητας παρέχουν διακριτικά ασφαλείας.
- Η διαχείριση των αιτημάτων πελατών γίνεται από το API Gateway.
- Όλο το υλικό του συστήματος διατηρείται ως στατικό περιεχόμενο.
- Το εργαλείο διαχείρισης ελέγχει την ισορροπία των υπηρεσιών στους κόμβους και τυχόν σφάλματα.
- Η ανακάλυψη της διαδρομής επικοινωνίας μεταξύ των μικροϋπηρεσιών υποβοηθάται από την ανακάλυψη υπηρεσιών.
- Τα κέντρα δεδομένων και οι διακομιστές μεσολάβησης αποτελούν συστήματα διάσπαρτων δικτύων που ονομάζονται δίκτυα παράδοσης περιεχομένου.
- Οι απομακρυσμένες υπηρεσίες παρέχουν πρόσβαση σε πληροφορίες από απόσταση.
16. Τι ακριβώς είναι η προσωρινή αποθήκευση;
Η πρακτική της προσωρινής διατήρησης ενός αντιγράφου μιας απάντησης διακομιστή κάπου (όπως η μνήμη του υπολογιστή) για να έχετε πρόσβαση αργότερα σε αυτό πιο γρήγορα είναι γνωστή ως προσωρινή αποθήκευση.
Η προσωρινή αποθήκευση ενισχύει την ταχύτητα διακομιστή κατά τη χρήση REST API μειώνοντας την ποσότητα εργασίας που πρέπει να κάνει ο διακομιστής για να ικανοποιήσει το αίτημα. Οι εφαρμογές που χρησιμοποιούν το API εκτελούνται πιο γρήγορα χάρη στην προσωρινή αποθήκευση, επειδή δεν χρειάζεται να υποβάλλουν νέο αίτημα κάθε φορά που χρειάζονται έναν πόρο.
Το πεδίο Cache-Control της κεφαλίδας απόκρισης HTTP περιέχει πληροφορίες σχετικά με το χρονικό διάστημα που μπορεί να αποθηκευτεί στην κρυφή μνήμη ένας πόρος από τον πελάτη προτού χρειαστεί να προσπελαστεί ξανά.
17. Περιγράψτε το ωφέλιμο φορτίο.
Το ωφέλιμο φορτίο στο REST αναφέρεται στις πληροφορίες που περιέχονται στο σώμα της απόκρισης HTTP. Ο πελάτης χρησιμοποίησε την τεχνική GET για να ζητήσει τα εν λόγω δεδομένα.
Το έγγραφο που περιέχει το κείμενο του tweet και τυχόν απαραίτητα αρχεία για την τοποθέτηση του tweet σε έναν ιστότοπο θα συμπεριληφθεί στο ωφέλιμο φορτίο, για παράδειγμα, εάν ζητήσετε από το API του Twitter για ένα συγκεκριμένο tweet. Επιπλέον, το ωφέλιμο φορτίο μπορεί να συμπεριληφθεί στο αίτημα HTTP χρησιμοποιώντας τη μέθοδο POST.
18. Διαφοροποιήστε SOAP Vs REST?
- Σε αντίθεση με το SOAP, το οποίο μπορεί να χειριστεί μόνο XML, το REST ενεργοποιεί ένα ευρύτερο φάσμα μορφών πόρων, όπως XML, κείμενο, HTML, εικόνες, βίντεο και άλλα.
- Όταν η ασφάλεια είναι ζωτικής σημασίας για διαδικτυακές εφαρμογές, το SOAP είναι χρήσιμο. Το REST δεν μπορεί να χρησιμοποιηθεί όταν οι συναλλαγές πρέπει να ολοκληρωθούν με ασφάλεια, καθώς δεν είναι ιδιαίτερα ασφαλές.
- Δεδομένου ότι το SOAP είναι μόνο ένα πρωτόκολλο, το REST μπορεί να το χρησιμοποιήσει στις υπηρεσίες web του αλλά όχι το αντίστροφο.
- Ενώ το REST είναι μόνο ένα αρχιτεκτονικό μοτίβο που χρησιμοποιείται για την ανάπτυξη υπηρεσιών ιστού και συμμορφώνεται με ορισμένους περιορισμούς, όπως η ρύθμιση πελάτη-διακομιστή, η ανικανότητα, η απόκριση με δυνατότητα προσωρινής αποθήκευσης, τα συστήματα με επίπεδα και η συνεπής διεπαφή, το SOAP είναι ένα πρωτόκολλο που λειτουργεί με συγκεκριμένα πρότυπα που πρέπει να τηρούνται αυστηρά προς την.
- Ενώ το REST χρησιμοποιεί καθολικά αναγνωριστικά πόρων (URI), το SOAP χρησιμοποιεί διεπαφές υπηρεσιών για να παρέχει τις δυνατότητές του σε εφαρμογές πελατών. Το REST έχει χαμηλότερη ανάγκη εύρους ζώνης από το SOAP, καθώς τα μηνύματα SOAP είναι πιο βαριά για πληροφορίες.
19. Μπορεί το πρωτόκολλο ασφαλείας επιπέδου μεταφοράς (TLS) να χρησιμοποιηθεί με το REST;
Στην πραγματικότητα, μπορούμε. Η επικοινωνία του πελάτη και του διακομιστή REST είναι κρυπτογραφημένη μέσω TLS και το πρωτόκολλο δίνει επίσης στους πελάτες έναν τρόπο ελέγχου ταυτότητας διακομιστών.
Λόγω του ότι αντικαθιστά το Secure Socket Layer, χρησιμοποιείται για ασφαλή επικοινωνία (SSL). Η εφαρμογή υπηρεσιών ιστού RESTful είναι επιτυχής με το HTTPS επειδή συνεργάζεται αποτελεσματικά τόσο με το TLS όσο και με το SSL.
Το REST κληρονομεί τα χαρακτηριστικά του πρωτοκόλλου που εφαρμόζει, κάτι που πρέπει να σημειωθεί εδώ. Ως αποτέλεσμα, οι προστασίες ασφαλείας εξαρτώνται από το πρωτόκολλο που χρησιμοποιεί το REST.
20. Idempotent μέθοδοι: ποιες είναι αυτές; Πώς εφαρμόζεται στον κόσμο των υπηρεσιών web RESTful;
Όταν το URI είναι το ίδιο, ορισμένες μέθοδοι HTTP σε ένα αίτημα έχουν τον ίδιο αντίκτυπο στον διακομιστή είτε παραδίδονται μία είτε πολλές φορές. Οι ανίκανες τεχνικές είναι γνωστές ως.
Για παράδειγμα, ανεξάρτητα από το πόσες φορές εκτελείται ένα URI που χρησιμοποιεί τη μέθοδο GET, ο διακομιστής θα έχει πάντα το ίδιο αποτέλεσμα. Οι αδύναμες μέθοδοι περιλαμβάνουν το GET, το PUT και το PATCH, για να αναφέρουμε μερικές.
Οι μέθοδοι Idempotent HTTP είναι μερικές από αυτές που χρησιμοποιεί το RESTful εφαρμογές ιστού. Είναι απαραίτητα για τη διασφάλιση της συνέπειας στις δραστηριότητες των υπηρεσιών web RESTful.
Οι πελάτες που χρησιμοποιούν REST API μπορούν να κάνουν σφάλματα κώδικα που αναγκάζουν ένα REST API να κάνει κατά λάθος επαναλαμβανόμενα αιτήματα. Αυτές οι κλήσεις έχουν τη δυνατότητα να κάνουν κατάχρηση πόρων.
21. Ποια είναι η λειτουργικότητα του Βασικού ελέγχου ταυτότητας HTTP;
Όταν χρησιμοποιείται ο Βασικός έλεγχος ταυτότητας ως μέρος των API, ο χρήστης πρέπει να υποβάλει το όνομα χρήστη και τον κωδικό πρόσβασης, τα οποία συνδέονται από το πρόγραμμα περιήγησης με τη μορφή «όνομα χρήστη: κωδικός πρόσβασης» και κωδικοποιημένα το base64.
Σε κάθε αίτημα HTTP από το πρόγραμμα περιήγησης, η κωδικοποιημένη τιμή παραδίδεται ως τιμή για την κεφαλίδα "Εξουσιοδότηση". Επειδή τα διαπιστευτήρια είναι απλώς κωδικοποιημένα, συνιστάται η χρήση αυτής της φόρμας κατά την αποστολή αιτημάτων HTTPS επειδή δεν είναι ασφαλή και μπορούν να υποκλαπούν από οποιονδήποτε εάν δεν χρησιμοποιηθούν πρωτόκολλα ασφαλείας.
22. Πιστεύετε ότι το GraphQL είναι η καλύτερη επιλογή για τη δημιουργία αρχιτεκτονικής microservice;
Οι Microservices και το GraphQL συμβαδίζουν τέλεια, επειδή το GraphQL κρατά την αρχιτεκτονική microservice σας μυστική από τους πελάτες σας.
Από το μπροστινό μέρος, θέλετε όλα τα δεδομένα σας να προέρχονται από ένα μόνο API, ενώ από το πίσω μέρος, θέλετε να τα χωρίσετε σε μικροϋπηρεσίες. Η καλύτερη τεχνική που γνωρίζω για να πετύχω και τα δύο είναι η χρήση του GraphQL.
Σας δίνει τη δυνατότητα να διαιρέσετε το backend σας σε μικροϋπηρεσίες, ενώ παράλληλα δίνετε σε κάθε εφαρμογή ένα μόνο API και ενεργοποιώντας τις συνδέσεις μεταξύ δεδομένων από διάφορες υπηρεσίες.
23. Ποιες είναι οι κύριες διακρίσεις μεταξύ των ασφαλών και ανίκανων μεθόδων HTTP;
Οι ανεπαρκείς μέθοδοι παράγουν το ίδιο αποτέλεσμα όταν επικαλούνται μία ή πολλές φορές μέσω του ίδιου αιτήματος. Η μέθοδος PUT είναι ανίκανη.
Όλοι οι ασφαλείς τρόποι είναι ανίκανοι, αλλά δεν είναι όλες οι ανίκανες μέθοδοι ασφαλείς αφού οι ασφαλείς μέθοδοι δεν αλλάζουν τους πόρους. Για παράδειγμα, το GET είναι ασφαλές αφού απλώς ανακτά δεδομένα και δεν αλλάζει τον πόρο.
Επιπλέον, είναι ανίκανο, που σημαίνει ότι θα επιστρέφει πάντα την ίδια απάντηση όταν το επικαλείται.
24. Τι σημαίνει το JAX-RS API από τις κλάσεις πόρων RESTful Root;
Η Java Enterprise Edition παρέχει κλάσεις και διεπαφές που συμμορφώνονται με τις απαιτήσεις του JAX-RS API. Με τη βοήθεια του JAX-RS, η δημιουργία υπηρεσιών web Java στο αρχιτεκτονικό στυλ REST γίνεται ευκολότερη.
Στο JAX-RS API, οι κλάσεις πόρων ρίζας είναι απλώς "απλά παλιά αντικείμενα java" ή POJO. Προκειμένου να υλοποιήσουν τους απαραίτητους πόρους Ιστού, χρησιμοποιούν σχολιασμούς JAX-RS.
Είτε έχουν σχολιασμούς @path ή τουλάχιστον μία από τις μεθόδους τους έχει σχολιασμούς @path. Μπορούν να συνοψιστούν ως κλάσεις Java με μεθόδους αντιμετώπισης τελικών σημείων API.
25. Τι ακριβώς είναι ο Ταχυδρόμος και γιατί χρησιμοποιείται;
Ένα εργαλείο ανάπτυξης API που ονομάζεται Postman χρησιμοποιείται για τη δημιουργία, τη δοκιμή και την τροποποίηση API. Αυτό το εργαλείο μπορεί να χρησιμοποιηθεί από προγραμματιστές για οποιαδήποτε δυνατότητα απαιτούν για ένα API. Απλοποιεί και διευκολύνει την εργασία των προγραμματιστών.
Ο Postman διευκολύνει τη δημιουργία μιας ποικιλίας ερωτημάτων HTTP, συμπεριλαμβανομένων των GET, POST, PUT και PATCH, την αποθήκευση περιβαλλόντων για μελλοντική χρήση και τη μετατροπή των API σε κώδικα σε πολλές διαφορετικές γλώσσες.
Κάθε στάδιο του κύκλου API γίνεται πιο απλό με τον Postman και η συνεργασία βελτιστοποιείται για ταχύτερη ανάπτυξη API.
Επιπλέον, δίνει τη δυνατότητα στους προγραμματιστές να διαχειρίζονται την τεκμηρίωση, τις προδιαγραφές, τις περιπτώσεις δοκιμών, τις διαδικασίες και τους καταλόγους API.
26. Πώς διατηρούνται ασφαλή τα REST API;
Δεδομένου ότι τα API REST δεν χρησιμοποιούν τόσο αυστηρές δικλείδες ασφαλείας όσο τα API SOAP, τα ευαίσθητα δεδομένα δεν θα πρέπει να αποστέλλονται ή να ανακτώνται με τη χρήση τους.
Ωστόσο, τα αξιόπιστα API REST συνεχίζουν να ενσωματώνουν ελέγχους ασφαλείας για ασφαλείς και αξιόπιστες μεταδόσεις δεδομένων.
- Έλεγχος ταυτότητας και εξουσιοδότηση: Κάθε αίτημα που υποβάλλεται στο API πρέπει να περάσει αυτούς τους δύο ελέγχους. Η επαλήθευση της ταυτότητας του πελάτη μέσω ελέγχου ταυτότητας και η επικύρωση ότι έχουν την εξουσία να έχουν πρόσβαση στους ζητούμενους πόρους μέσω εξουσιοδότησης είναι δύο διαφορετικές διαδικασίες.
- Επικύρωση: Προτού το API παραχωρήσει πρόσβαση στους πόρους του, τα αιτήματα πρέπει να ελέγχονται για πιθανώς επιβλαβή κώδικα μετά τον έλεγχο ταυτότητας και την εξουσιοδότηση. Ένας διακομιστής θα ήταν επομένως ανοιχτός σε μια επίθεση injection.
- Επικύρωση: Προτού το API παραχωρήσει πρόσβαση στους πόρους του, τα αιτήματα πρέπει να ελέγχονται για πιθανώς επιβλαβή κώδικα μετά τον έλεγχο ταυτότητας και την εξουσιοδότηση. Ένας διακομιστής θα ήταν επομένως ανοιχτός σε μια επίθεση injection.
- Κρυπτογράφηση: Η κρυπτογράφηση TLS/SSL προστατεύει τη σύνδεση μεταξύ του πελάτη και του διακομιστή και εμποδίζει τους χάκερ να υποκλέψουν αιτήματα και απαντήσεις.
- Τεχνικές περιορισμού ρυθμού, όπως τα όρια και το throttling, προστατεύουν τους διακομιστές από επιθέσεις ωμής βίας, όπως το DDoS που στοχεύουν στην υποβάθμιση ή τη συντριβή τους.
- Δεν υπάρχουν ευαίσθητες πληροφορίες σε URI: Τα URI των πόρων δεν πρέπει να περιέχουν προστατευμένα δεδομένα (όπως όνομα χρήστη, κωδικό πρόσβασης ή διακριτικό ελέγχου ταυτότητας).
Συμπέρασμα
Συγχαρητήρια! Αρκετές βασικές έως πολύπλοκες ερωτήσεις συνέντευξης REST API και οι αντίστοιχες λύσεις τους είναι τώρα στα χέρια σας.
Τώρα που έχετε μια καλή ιδέα για το πώς να απαντήσετε σε μερικές από τις τυπικές ερωτήσεις συνέντευξης REST API, μπορείτε να συνεχίσετε να απαντάτε στις συνεντεύξεις. Το επόμενο βήμα εξαρτάται από τους στόχους σας.
Επίσκεψη Σειρά συνέντευξης με τον Hashdork για να προετοιμαστούν για συνεντεύξεις.
Αφήστε μια απάντηση