40 Συχνές ερωτήσεις και απαντήσεις στη συνέντευξη REST API [2023]

Ένα API σημαίνει Διασύνδεση προγραμματισμού εφαρμογών. Χρησιμεύει ως πύλη πρόσβασης εφαρμογών σε ορισμένους πόρους από άλλες εφαρμογές.

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

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

Τα API χρησιμοποιούνται ευρέως σήμερα σε κάθε αρχιτεκτονική λογισμικού. Εάν κάνετε αίτηση για ρόλο front-end, back-end, full-stack ή μηχανικής δικτύου, τότε θα σας τεθούν πολλές ερωτήσεις σχετικά με τα API.

Με αυτά τα λόγια, ας εξερευνήσουμε μερικές από τις πιο συχνές ερωτήσεις συνεντεύξεων σχετικά με τα REST API.

Πίνακας περιεχομένων

Τι είναι το REST;

Απάντηση: Το REST είναι ένα αρχιτεκτονικό σχέδιο που ορίζει ορισμένους περιορισμούς στη λειτουργία των API. Τα API που ακολουθούν τις αρχές του REST είναι γνωστά ως RESTful API. Το REST σημαίνει Μεταφορά Αντιπροσωπευτικού Κράτους.

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

Παρέχει υψηλή ευελιξία και ελευθερία στους προγραμματιστές και γι’ αυτό χρησιμοποιείται ευρέως για την ανάπτυξη API. Ακολουθούν μερικές από τις αρχές μιας αρχιτεκτονικής REST:

  • Διαχωρισμός πελάτη και διακομιστή: Σε ένα RESTful API, ο πελάτης δεν πρέπει να επηρεάζει τον διακομιστή με οποιονδήποτε άλλο τρόπο εκτός από το να ζητά δεδομένα μέσω ενός URI (Uniform Resource Identifier). Με τον ίδιο τρόπο, ο διακομιστής δεν πρέπει να τροποποιεί το περιεχόμενο του πελάτη με κανέναν τρόπο.
  • Ανιθαγένεια: Όταν υποβάλλονται δύο ξεχωριστά αιτήματα, δεν γνωρίζουν ο ένας για τον άλλον. Με άλλα λόγια, τα αιτήματα είναι ανιθαγενή και δεν διατηρούν κράτος. Εάν ένα αίτημα ικανοποιηθεί, απλώς τερματίζεται. Κάθε αίτημα είναι απομονωμένο από άλλα αιτήματα.
  • Layered Architecture: Ο πελάτης ή ο διακομιστής δεν γνωρίζει εάν το αίτημα υποβάλλεται απευθείας στην προέλευση ή σε μια ενδιάμεση εφαρμογή. Τους ενδιαφέρει μόνο η απάντηση στο αίτημα.
  • Προσωρινή αποθήκευση: Τα δεδομένα ή οι απαντήσεις μπορούν να αποθηκευτούν στην κρυφή μνήμη τόσο από την πλευρά του πελάτη όσο και από τον διακομιστή για να βελτιωθεί η απόδοση και η επεκτασιμότητα. Εάν υπάρχουν συχνά αιτήματα για έναν συγκεκριμένο πόρο, τότε η απάντηση σε αυτό το αίτημα μπορεί να αποθηκευτεί προσωρινά και να χρησιμοποιηθεί όταν χρειάζεται.

Ποια είναι μερικά βασικά χαρακτηριστικά του REST;

Απάντηση: Βασικά χαρακτηριστικά ή χαρακτηριστικά του REST είναι:

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

Τι είναι οι πόροι σε μια αρχιτεκτονική REST;

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

  5 καλύτερα συστήματα DDI/IPAM για να λύσετε το Blue διευθυνσιοδότηση IP σας

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

Αναφέρετε ορισμένα πλεονεκτήματα και μειονεκτήματα ενός REST API.

Απάντηση: Τα πλεονεκτήματα των API REST είναι τα εξής:

  • Είναι απλό στην εφαρμογή.
  • Οι πόροι μπορούν εύκολα να χειριστούν.
  • Είναι επεκτάσιμο λόγω της αρχιτεκτονικής πελάτη-διακομιστή.
  • Υποστηρίζει πολλαπλούς τύπους μέσων μεταφοράς δεδομένων, όπως XML και JSON.

Τα μειονεκτήματα του είναι:

  • Δεν μπορείτε να διατηρήσετε μια κατάσταση μεταξύ των αιτημάτων.
  • Η πραγματική πηγή προέλευσης του πόρου δεν μπορεί να γίνει γνωστή λόγω της πολυεπίπεδης αρχιτεκτονικής.
  • Δεν είναι καλό για περίπλοκες ερωτήσεις ή αιτήματα.

Ορίστε το πρότυπο REST.

Απάντηση: Ένα πρότυπο REST είναι ένα βοηθητικό πρόγραμμα ή ένας πελάτης μέσω του οποίου μπορείτε να αποκτήσετε πρόσβαση στα API REST στο πλαίσιο Spring. Ουσιαστικά κρύβει τον κωδικό του boilerplate που μπορεί να χρειαστεί να γράψετε για να ζητήσετε έναν πόρο από ένα REST API.

Τι είναι το RESTful;

Απάντηση: Τα API ή οι υπηρεσίες RESTful είναι διεπαφές που υλοποιούν το αρχιτεκτονικό στυλ REST (Representational State Transfer) και λειτουργούν χρησιμοποιώντας πρωτόκολλα όπως το HTTP.

Τι είναι οι υπηρεσίες RESTful Web;

Απάντηση: Οι υπηρεσίες ιστού RESTful έχουν δημιουργηθεί για να λειτουργούν καλύτερα στον Ιστό. Το Representational State Transfer (REST) ​​είναι ένα αρχιτεκτονικό στυλ που καθορίζει περιορισμούς, όπως η ομοιόμορφη διεπαφή, η πολυεπίπεδη αρχιτεκτονική και η έλλειψη ιθαγένειας, εάν εφαρμοστούν σε μια υπηρεσία Ιστού, προκαλούν επιθυμητές ιδιότητες, όπως απόδοση και επεκτασιμότητα, που επιτρέπουν στις υπηρεσίες να λειτουργούν καλύτερα σε ο ιστός.

Πώς μπορείτε να δοκιμάσετε RESTful Web Services;

Απάντηση: Για να δοκιμάσετε μια υπηρεσία ιστού RESTful, μπορείτε να χρησιμοποιήσετε έναν πελάτη REST όπως ο Postman ή ο Thunder Client και να ρωτήσετε την υπηρεσία Ιστού που θέλετε να δοκιμάσετε. Στη συνέχεια, όταν λάβετε μια απάντηση, κατανοήστε την απάντηση. αυτό είναι το βασικό κομμάτι.

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

Αναφέρετε ορισμένα χαρακτηριστικά των υπηρεσιών Web RESTful.

Απάντηση: Μερικά από τα βασικά χαρακτηριστικά των υπηρεσιών web RESTful είναι:

  • Υποστήριξη για πολλούς τύπους μέσων όπως JSON και XML.
  • Επεκτασιμότητα
  • Απομόνωση πελάτη και διακομιστή
  • Ευκαμψία

Ορίστε τις κλάσεις πόρων RESTful Root.

Απάντηση: Οι κλάσεις πόρων ρίζας είναι “απλά παλιά αντικείμενα Java” (POJO) που είτε σχολιάζονται με @Path είτε έχουν τουλάχιστον μία μέθοδο σχολιασμένη με @Path ή έναν προσδιοριστή μεθόδου αίτησης, όπως @GET, @POST, @PUT ή @ΔΙΑΓΡΑΦΩ.

Τι είναι το URI;

Απάντηση: Το URI σημαίνει Uniform Resource Identifier. Είναι μια ακολουθία χαρακτήρων που χρησιμοποιούνται για τον εντοπισμό ή την αναγνώριση πόρων ενός API ή μιας υπηρεσίας. Χρησιμοποιεί το όνομα ή τη θέση του πόρου για να τον αναγνωρίσει, αλλά δεν βασίζεται σε μια συγκεκριμένη μέθοδο ή τεχνική.

Τι είναι η ανιθαγένεια στο REST;

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

Τι είναι το JAX-RS;

Απάντηση: Το JAX-RS είναι ένα Java API που σας δίνει τη δυνατότητα να αναπτύξετε εφαρμογές σε Java που χρησιμοποιούν την αρχιτεκτονική REST. Αυτό το API διευκολύνει την ανάπτυξη εφαρμογών REST σε Java.

Ποιοι είναι οι βασικοί σχολιασμοί στο JAX-RS API;

Απάντηση: Οι σχολιασμοί στο JAX-RS χρησιμοποιούνται από προγραμματιστές για τη διακόσμηση κλάσεων Java, προκειμένου να ορίσουν πόρους και μεθόδους που μπορούν να εκτελεστούν σε αυτούς τους πόρους. Μερικοί βασικοί σχολιασμοί του JAX-RS API είναι:

  • @GET: Χρησιμοποιείται για την υποβολή αιτημάτων GET σε HTTP.
  • @POST: Χρησιμοποιείται για την υποβολή αιτημάτων POST σε HTTP.
  • @Path: Αναφέρεται στη σχετική διαδρομή μιας κλάσης Java.
  • @QueryParam: Αναφέρεται στις παραμέτρους ερωτήματος του URI ή του URL.

Ποια είναι μερικά βασικά χαρακτηριστικά του JAX-RS API;

Απάντηση: Τα χαρακτηριστικά του JAX-RS είναι:

  • Προσωρινή αποθήκευση από την πλευρά του πελάτη
  • Προσωρινή αποθήκευση από την πλευρά του διακομιστή
  • Προσαρμογή συμβολοσειράς ερωτήματος
  • Σχολιασμοί χρόνου εκτέλεσης

Πώς μπορούν να ρυθμιστούν οι εφαρμογές JAX-RS;

Απάντηση: Μια εφαρμογή JAX-RS αποτελείται από τουλάχιστον μία κλάση πόρων συσκευασμένη σε ένα αρχείο WAR. Το βασικό URI από το οποίο οι πόροι μιας εφαρμογής απαντούν σε αιτήματα μπορεί να οριστεί με έναν από τους δύο τρόπους:

  • Χρήση του σχολιασμού @ApplicationPath σε μια υποκατηγορία javax.ws.rs.core.Application συσκευασμένη εντός του WAR
  • Χρησιμοποιώντας την ετικέτα servlet-mapping μέσα στον περιγραφέα ανάπτυξης web.xml του WAR

Τι είναι το JAX-WS και το JAX-RS;

Απάντηση: Το JAX-WS είναι ένα API Υπηρεσιών Ιστού XML της Τζακάρτα που χρησιμοποιείται για την ανάπτυξη API χρησιμοποιώντας το πρωτόκολλο πρόσβασης απλού αντικειμένου (SOAP) – ένα πρωτόκολλο ανταλλαγής μηνυμάτων που βασίζεται σε XML.

  Διορθώστε το πρόγραμμα οδήγησης Microsoft IPP Class δεν προσφέρει χρώμα, μόνο κλίμακα του γκρι

Από την άλλη πλευρά, το JAX-RS είναι ένα Java API που χρησιμοποιείται για τη δημιουργία διαδικτυακών υπηρεσιών χρησιμοποιώντας την αρχιτεκτονική REST.

Τι είναι οι κωδικοί κατάστασης HTTP;

Απάντηση: Οι κωδικοί κατάστασης δεν είναι παρά ένας τρόπος επικοινωνίας της κατάστασης της απάντησης που αποστέλλεται από τον διακομιστή στον πελάτη. Υπάρχουν στις κεφαλίδες απόκρισης που αποστέλλονται από τον διακομιστή.

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

Ακολουθούν ορισμένοι συνήθεις κωδικοί κατάστασης του HTTP:-

  • 200 – Αντιπροσωπεύει τη λέξη-κλειδί “OK”. Σημαίνει ότι το αίτημα έχει εκπληρωθεί και η απάντηση είναι εντάξει.
  • 404 – Σημαίνει “Δεν βρέθηκε”. Αυτό σημαίνει ότι δεν υπάρχει πόρος στον διακομιστή ή δεν υπάρχει τελικό σημείο.
  • 500 – Αντιπροσωπεύει “Εσωτερικό σφάλμα διακομιστή”. Αυτό συμβαίνει συνήθως όταν ο διακομιστής δεν μπορεί να δημιουργήσει τη σωστή απόκριση ή υπάρχει ένα σφάλμα που δεν αναφέρεται ρητά.
  • 503 – Σημαίνει «Μη διαθέσιμη υπηρεσία». Σημαίνει ότι επί του παρόντος, ο διακομιστής δεν μπορεί να επεξεργαστεί κανένα αίτημα, πιθανώς επειδή είναι νεκρός ή δεν λειτουργεί λόγω υπερφόρτωσης αιτημάτων. Μπορεί επίσης να συμβεί όταν ο διακομιστής είναι έτοιμος για συντήρηση.

Τι είναι οι μέθοδοι HTTP;

Απάντηση: Οι μέθοδοι HTTP χρησιμοποιούνται για την εκτέλεση ενός συγκεκριμένου τύπου ενέργειας σε έναν συγκεκριμένο πόρο ενός API. Για παράδειγμα, εάν θέλετε να ανακτήσετε μια λίστα ταινιών από ένα API συλλογής ταινιών, τότε μπορείτε να χρησιμοποιήσετε τη μέθοδο GET που παρέχεται από το HTTP. Εάν θέλετε να ενημερώσετε τα δεδομένα, μπορείτε να χρησιμοποιήσετε τη μέθοδο POST που παρέχεται από το HTTP.

Οι μέθοδοι HTTP που χρησιμοποιούνται συχνά είναι οι εξής:

  • GET: Τα αιτήματα που χρησιμοποιούν GET θα πρέπει να ανακτούν μόνο δεδομένα.
  • POST: Ενημερώνει τον πόρο στέλνοντας έναν πρόσφατα ενημερωμένο πόρο στον διακομιστή.
  • DELETE: Διαγράφει τον καθορισμένο πόρο.
  • PATCH: Τροποποιεί εν μέρει τον πόρο.

Πώς λειτουργεί ο βασικός έλεγχος ταυτότητας HTTP;

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

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

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

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

Ποια είναι τα βασικά στοιχεία του αιτήματος HTTP;

Απάντηση: Ένα αίτημα HTTP αποτελείται από τα ακόλουθα στοιχεία:

  • Γραμμή αιτήματος: Είναι η πρώτη γραμμή σε οποιοδήποτε αίτημα και αποτελείται από τη μέθοδο HTTP, τη διαδρομή ή το τελικό σημείο και τον αριθμό έκδοσης HTTP.
  • Κεφαλίδες: Οι κεφαλίδες HTTP χρησιμοποιούνται για την παροχή μεταδεδομένων του αιτήματος.
  • Body (Προαιρετικό): Αυτό το στοιχείο υπάρχει μόνο για ορισμένες από τις μεθόδους αιτήματος. Δεν απαιτείται για αιτήματα GET, αλλά απαιτείται για αιτήματα POST. Είναι το πραγματικό μήνυμα του αιτήματος.

Ποια είναι τα βασικά στοιχεία της απόκρισης HTTP;

Απάντηση: Μια απόκριση HTTP αποτελείται από τα ακόλουθα στοιχεία:

  • Κατάσταση: Αναφέρεται στον κωδικό κατάστασης HTTP που αποστέλλεται από τον διακομιστή.
  • Κεφαλίδες: Ακριβώς όπως τα αιτήματα, οι απαντήσεις έχουν επίσης τις αντίστοιχες κεφαλίδες τους, οι οποίες παρέχουν χρήσιμες πληροφορίες σχετικά με την απάντηση.
  • Μήνυμα: Πρόκειται για τα πραγματικά δεδομένα που αποστέλλονται από τον διακομιστή στον πελάτη για να ζητήσει έναν συγκεκριμένο πόρο.

Ποια είναι η διαφορά μεταξύ REST και AJAX;

Απάντηση: Το AJAX είναι ένας πελάτης μέσω του οποίου μπορείτε να αποκτήσετε πρόσβαση σε RESTful API. Χρησιμοποιείται για την αποστολή ασύγχρονων αιτημάτων χρησιμοποιώντας JavaScript.

Το REST, ή Representational State Transfer, είναι μια αρχιτεκτονική που μπορεί να εφαρμοστεί για τη δημιουργία RESTful API. Εν ολίγοις, για να στείλετε αιτήματα HTTP, μπορείτε να χρησιμοποιήσετε το AJAX που λειτουργεί ως πελάτης, αλλά εάν θέλετε να εφαρμόσετε RESTful API, τότε πρέπει να χρησιμοποιήσετε την αρχιτεκτονική REST.

Ποια είναι η διαφορά μεταξύ SOAP και REST;

Απάντηση: Το Representational State Transfer, ή REST, είναι μια αρχιτεκτονική με ελάχιστους περιορισμούς για τη δημιουργία API. Το SOAP, ή το Simple Object Access Protocol, είναι ένα πρωτόκολλο με αυστηρές απαιτήσεις για την υλοποίηση ενός API.

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

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

Ποια είναι η διαφορά μεταξύ PUT και POST;

Απάντηση: Το POST είναι μια μέθοδος αιτήματος HTTP που στέλνει ορισμένα δεδομένα στον διακομιστή. Εάν κάνετε πολλά αιτήματα POST για έναν συγκεκριμένο πόρο, τότε μπορεί να υπάρξουν παρενέργειες στα δεδομένα σας. Για παράδειγμα, εάν θέλετε να προσθέσετε ένα άρθρο σε μια συλλογή, εάν υποβάλετε πολλά αιτήματα POST, πολλά άρθρα θα προστεθούν στη συλλογή που οδηγούν σε περιττά άρθρα.

  Πώς να χρησιμοποιήσετε την εφαρμογή McDonald's

Το PUT είναι μια μέθοδος αιτήματος HTTP που στέλνει δεδομένα στον διακομιστή για έναν συγκεκριμένο πόρο, αλλά ενημερώνει τα δεδομένα μόνο μία φορά. Εάν στείλετε πολλά αιτήματα PUT για έναν συγκεκριμένο πόρο, δεν θα εμφανιστούν παρενέργειες και τα δεδομένα θα προστεθούν μόνο μία φορά. Στο PUT, εάν ο πόρος δεν υπάρχει, θα δημιουργήσει έναν νέο και εάν υπάρχει, θα ενημερώσει τον υπάρχοντα.

Το PUT είναι ανίκανο, ενώ το POST δεν είναι.

Τι είναι το ωφέλιμο φορτίο;

Απάντηση: Ένα ωφέλιμο φορτίο σε ένα REST API είναι απλώς το σώμα του αιτήματος που αποστέλλεται από τον πελάτη στον διακομιστή. Είναι τα δεδομένα που θέλετε να στείλετε στον διακομιστή και να λάβετε απάντηση.

Ποιο είναι το μέγιστο μέγεθος ωφέλιμου φορτίου που μπορεί να σταλεί με μεθόδους ανάρτησης;

Απάντηση: Δεν υπάρχει προεπιλεγμένο όριο που έχει οριστεί από το ίδιο το πρωτόκολλο HTTP. Το όριο μπορεί να εξαρτάται από το μέγιστο όριο του πελάτη ή του διακομιστή, όποιο είναι το ελάχιστο.

Κατά τη δημιουργία URI, ποιες είναι οι βέλτιστες πρακτικές που πρέπει να ακολουθούνται;

Απάντηση: Μερικά από τα βασικά σημεία που πρέπει να έχετε υπόψη κατά το σχεδιασμό των URI είναι:

  • Αποφύγετε τη χρήση επεκτάσεων αρχείων
  • Να είστε συνεπείς με όλα τα URI
  • Διαχωρίστε τα URI σε τομείς και υποτομείς για διαφορετικά σύνολα πόρων
  • Θα πρέπει να χρησιμοποιήσετε παύλα ή υπογράμμιση για να διαχωρίσετε λέξεις σε προτάσεις που είναι ενσωματωμένες σε URI
  • Θα πρέπει να χρησιμοποιήσετε την κάθετο προς τα εμπρός για να υποδείξετε μια ιεραρχία πόρων
  • Κωδικοποιήστε ένα URI χρησιμοποιώντας την κατάλληλη κωδικοποίηση
  • Προσπαθήστε να κάνετε το URI αναγνώσιμο από τον άνθρωπο

Τι είναι οι Idempotent Μέθοδοι;

Απάντηση: Οι μέθοδοι Idempotent HTTP έχουν το ίδιο αποτέλεσμα στον διακομιστή παρά την αποστολή πολλαπλών πανομοιότυπων αιτημάτων. Για παράδειγμα, εάν στείλετε πολλά ίδια αιτήματα DELETE για έναν συγκεκριμένο πόρο, ο πόρος δεν θα αλλάζει σε κάθε αίτημα. θα ενημερώνεται σαν να έχει σταλεί μόνο ένα αίτημα.

Μερικές από τις ανίκανες μεθόδους περιλαμβάνουν:

  • ΒΑΖΩ
  • ΔΙΑΓΡΑΦΩ
  • ΠΑΙΡΝΩ
  • ΚΕΦΑΛΙ
  • ΕΠΙΛΟΓΕΣ

Τι είναι ο Ταχυδρόμος;

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

Απάντηση: Η κεφαλίδα Cache-Control αποτελείται από οδηγίες ή οδηγίες για τη διαμόρφωση της προσωρινής αποθήκευσης σε προγράμματα περιήγησης και διακομιστές. Λέει στο πρόγραμμα περιήγησης ή στον διακομιστή τι να αποθηκεύσει στην κρυφή μνήμη και πόσο καιρό θα πρέπει να αποθηκευτεί στην προσωρινή μνήμη πριν ζητηθεί μέσω του αιτήματος δικτύου.

Η κεφαλίδα Cache-Control περιλαμβάνει τις ακόλουθες οδηγίες:

  • μέγιστη ηλικία
  • χωρίς κρυφή μνήμη
  • ιδιωτικός
  • δημόσιο
  • χωρίς κατάστημα
  • αμετάβλητος

Ορίστε την ανταλλαγή μηνυμάτων στις υπηρεσίες RESTful Web.

Απάντηση: Η ανταλλαγή μηνυμάτων στις υπηρεσίες web RESTful αναφέρεται στην αποστολή ενός αιτήματος HTTP από τον πελάτη στον διακομιστή, στο οποίο ο διακομιστής απαντά με μια απόκριση HTTP. Αυτή η επικοινωνία μεταξύ του πελάτη και του διακομιστή αναφέρεται ως ανταλλαγή μηνυμάτων.

Ποια είναι η διαφορά μεταξύ της αρχιτεκτονικής μονολιθικής, SOA και Microservices;

Απάντηση: Σε μια μονολιθική αρχιτεκτονική, τα πάντα διαχειρίζονται σε ένα μέρος. Η διαχείριση του πελάτη, του διακομιστή, καθώς και της βάσης δεδομένων γίνεται από ένα μόνο μέρος. Γι’ αυτό είναι γνωστό ως μονολιθικό επειδή η λέξη “μονόλιθος” αναφέρεται σε ένα μόνο ογκόλιθο ή πέτρα.

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

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

Πώς λειτουργεί η Αρχιτεκτονική Microservice;

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

Μερικά πλεονεκτήματα της αρχιτεκτονικής μικροϋπηρεσιών περιλαμβάνουν την ευελιξία, την ευελιξία, την επεκτασιμότητα, τις ανεξάρτητες τεχνολογίες, τις επαναχρησιμοποιήσιμες υπηρεσίες και την εύκολη ανάπτυξη.

Τι είναι το CRUD;

Απάντηση: CRUD σημαίνει Δημιουργία, Ανάγνωση, Ενημέρωση, Διαγραφή. Αυτές είναι οι λειτουργίες που μπορούν να εκτελεστούν σε έναν συγκεκριμένο πόρο. Το API που υποστηρίζει όλες αυτές τις λειτουργίες είναι γνωστό ως CRUD API. Αυτές είναι οι πιο βασικές λειτουργίες που μπορούν να εκτελεστούν από ένα API σε έναν πόρο.

Τι είναι η προσωρινή αποθήκευση;

Απάντηση: Η προσωρινή αποθήκευση είναι μια τεχνική αποθήκευσης μιας απάντησης ή ενός αιτήματος στον πελάτη ή στον διακομιστή για να χρησιμοποιηθεί ξανά αργότερα.

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

Ποια είναι η χρήση του @RequestMapping;

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

Τι κάνει το @PathVariable;

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

Ορίστε το HttpMessageConverter.

Απάντηση: Όταν ένα αίτημα HTTP (ή τμήματα του) πρέπει να μετατραπεί σε έναν τύπο που απαιτείται ως όρισμα για μια μέθοδο χειριστή ή όταν η τιμή που επιστρέφεται από μια μέθοδο χειριστή πρέπει να μετατραπεί με κάποιο τρόπο για να δημιουργηθεί μια απόκριση HTTP, HTTP χρησιμοποιούνται μετατροπείς μηνυμάτων.

Απάντηση: Ορισμένα εργαλεία που μπορούν να σας βοηθήσουν στη δοκιμή API είναι τα εξής:

  • Ταχυδρόμος
  • Μείνε ήσυχος
  • Ξεκουραστείτε Sharp
  • Κατάλον
  • ReadyAPI
  • Apigee

Τελικές Λέξεις

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

Εάν προετοιμάζεστε για μια συνέντευξη, σκεφτείτε τις παραπάνω ερωτήσεις σχετικά με τα API REST που μπορεί να τεθούν στη συνέντευξή σας.

Στη συνέχεια, μπορείτε να ελέγξετε πώς να ξύσετε έναν ιστότοπο χρησιμοποιώντας το API Web Scraping του grtechpc.org.