top 20 restful web services interview question
Elenco delle domande e risposte dell'intervista sui servizi Web RESTful più frequenti per aiutarti a prepararti per il prossimo colloquio:
Servizi Web, un termine molto noto quando parliamo di scambio di una sorta di dati tra più applicazioni o diciamo software. Basati sul modello client-server, questi servizi possono essere utilizzati da più applicazioni software scritte in varie lingue e hanno anche il vantaggio di funzionare su varie piattaforme.
Allo stesso modo REST, anche il Representational State Transfer si basa su un'architettura in stile client-server senza stato, a cui è possibile accedere facilmente sulla rete ed è identificata da URI, ovvero Uniform Resource Identifier.
Lo scopo principale della descrizione della definizione di servizi Web e REST sopra è di aiutarti a metterti in relazione con il termine ' Servizi web RESTful ' perché i servizi Web RESTful sono definiti come servizi Web che utilizzano il metodo HTTP e sono basati sull'architettura di REST. Ha caratteristiche utili come alta scalabilità e manutenibilità, creazione di API, ecc.
Ulteriori informazioni = >> Flask Restful API
In questo articolo troverai la raccolta di domande e risposte che chiariranno le tue basi e aiuteranno a sviluppare una migliore comprensione dell'argomento.
Leggi anche:
Elenco delle domande sui servizi Web RESTful
Iniziamo.
D # 1) Qual è la tua comprensione di cosa sono i servizi web RESTful?
Risposta: Proprio come SOAP (Simple Object Access Protocol), che viene utilizzato per sviluppare servizi Web con il metodo XML, i servizi Web RESTful utilizzano il protocollo Web, ovvero il metodo del protocollo HTTP. Hanno funzionalità come scalabilità, manutenibilità, aiutano la comunicazione tra più applicazioni basate su vari linguaggi di programmazione, ecc.
L'implementazione del servizio Web RESTful definisce il metodo di accesso alle varie risorse richieste dal client e ha inviato la richiesta al server tramite il browser web.
software password cracker download gratuito versione completa
Gli aspetti importanti di questa implementazione includono:
- Risorse
- Richiedi intestazioni
- Corpo della richiesta
- Corpo di risposta
- Codici di stato
D # 2) Assegnare un nome al protocollo utilizzato dai servizi Web RESTful.
Risposta: I servizi Web RESTful utilizzano un famoso protocollo Web, ovvero il protocollo HTTP. Questo serve come mezzo di comunicazione dati tra client e server. I metodi standard HTTP vengono utilizzati per accedere alle risorse nell'architettura del servizio Web RESTful.
D # 3) Spiegare il termine 'Indirizzamento' rispetto al servizio RESTful WEB.
Risposta: Proprio come richiediamo un indirizzo con codice postale per raggiungere qualsiasi persona, allo stesso modo 'Indirizzamento' individua le risorse presenti sul server allo scopo di ospitare servizi web. Questo di solito viene fatto con URI, ovvero Unified Resource Identifier.
D # 4) Aggiungi funzionalità dei servizi web RESTful.
Risposta: Ogni servizio Web RESTful dovrebbe avere le seguenti caratteristiche e caratteristiche elencate di seguito:
- Basato sulla rappresentazione client-server.
- Utilizzo del protocollo HTTP per eseguire funzioni come il recupero di dati dal servizio web, il recupero di risorse, l'esecuzione di qualsiasi query, ecc.
- La comunicazione tra il server e il client viene eseguita tramite il mezzo noto come 'messaggistica'.
- Indirizzamento delle risorse disponibili sul server tramite URI.
- Basato sul concetto di apolidia in cui ogni richiesta del cliente e la risposta è indipendente dall'altra con la completa certezza di fornire le informazioni richieste.
- Utilizza il concetto di memorizzazione nella cache.
- Funziona sull'interfaccia Uniform.
D # 5) Spiega la tecnica di messaggistica.
Risposta: I messaggi sono la modalità di scambio dei dati affinché avvenga qualsiasi tipo di comunicazione. Allo stesso modo, il protocollo HTTP svolge il ruolo di comunicazione dei messaggi tra il client e il server tramite i metodi di richiesta e risposta HTTP. La richiesta HTTP viene inviata dal client che contiene le informazioni sui dati e, a sua volta, riceve la risposta HTTP dal server.
I messaggi sono la raccolta di informazioni sui dati, ad esempio i metadati.
D # 6) Quali sono i componenti principali della richiesta HTTP e della risposta HTTP?
Risposta: I componenti principali sotto la richiesta HTTP sono:
- Verbo: Include metodi come GET, PUT, POST, ecc.
- Uniform Resource Identifier per identificare le risorse disponibili sul server.
- Versione HTTP per specificare la versione HTTP.
- Intestazione della richiesta HTTP per contenere le informazioni sui dati.
- Corpo della richiesta HTTP che contiene la rappresentazione delle risorse in uso.
I componenti principali in risposta HTTP sono:
- Codice richiesto: Contiene vari codici che determinano lo stato della risposta del server.
- Versione HTTP per specificare la versione HTTP.
- Intestazione della risposta HTTP per contenere le informazioni sui dati.
- Corpo della risposta HTTP che contiene la rappresentazione delle risorse in uso.
D # 7) Spiegare il termine 'apolidia' in relazione al servizio RESTful WEB.
Risposta: In REST, la ST stessa definisce il trasferimento di stato e l'apolidia significa isolamento completo. Ciò significa che lo stato dell'applicazione del client non viene mai memorizzato sul server e viene trasmesso.
domande e risposte dell'intervista allo sviluppatore pl sql
In questo processo, i client inviano tutte le informazioni necessarie al server per soddisfare la richiesta HTTP che è stata inviata. Pertanto, ogni cliente richiede e la risposta è indipendente dall'altro con la completa certezza di fornire le informazioni richieste.
Ogni cliente passa un 'identificatore di sessione' che funge anche da identificatore per ogni sessione.
D # 8) Elenca vantaggi e svantaggi dell ''apolidia'.
Risposta: Nella domanda precedente, abbiamo compreso il significato di apolidia rispetto alla comunicazione client-server. Vediamo ora alcuni dei suoi vantaggi e svantaggi.
Vantaggi:
- Ogni metodo richiesto per la comunicazione è identificato come un metodo indipendente, ovvero non ci sono dipendenze da altri metodi.
- Qualsiasi comunicazione precedente con il client e il server non viene mantenuta e quindi l'intero processo è molto semplificato.
- Se qualsiasi informazione o metadata utilizzata in precedenza è richiesta in un altro metodo, il client invia nuovamente tali informazioni con la richiesta HTTP.
- Il protocollo HTTP e il servizio web REST condividono entrambi la caratteristica di apolidia.
Svantaggi:
- In ogni richiesta HTTP del client, la disponibilità di alcune informazioni riguardanti lo stato del client è richiesta dal servizio web.
D # 9) Elenca alcuni importanti vincoli per i servizi web RESTful.
Risposta: Ogni vincolo ha impatti sia positivi che negativi e per produrre un'architettura complessiva, dovrebbe esserci un equilibrio tra entrambi.
Di seguito sono menzionati alcuni importanti vincoli per il servizio web RESTful:
- Ci dovrebbero essere preoccupazioni separate per ogni server e client che aiuteranno a mantenere la modularità all'interno dell'applicazione. Ciò ridurrà anche la complessità e aumenterà la scalabilità.
- La comunicazione client-server deve essere senza stato, il che significa che non vengono utilizzate informazioni precedenti e l'esecuzione completa viene eseguita in isolamento. In caso di guasto, aiuta anche il client a recuperare.
- Nella comunicazione client-server, la risposta HTTP deve essere memorizzabile nella cache in modo che, quando richiesto, possa essere utilizzata la copia cache, il che a sua volta migliora la scalabilità e le prestazioni del server.
- Il quarto vincolo è l'interfaccia uniforme che consente di comprendere facilmente l'interazione client-server. Questo vincolo è ulteriormente suddiviso in quattro sotto-vincoli come:
- Identificazione delle risorse
- Manipolazione delle risorse
- Ogni messaggio è facilmente comprensibile ed è auto-descrittivo.
- Hypermedia, che è definito come il testo con collegamenti ipertestuali e quando si fa clic, si sposta in un altro stato dell'applicazione.
- La comunicazione client-server dovrebbe essere effettuata su un sistema a più livelli e quindi il client dovrebbe avere solo conoscenza del livello intermedio con cui viene effettuata la comunicazione,
D # 10) Che cos'è una 'risorsa'?
Risposta: Proprio come l'istanza 'Object', abbiamo imparato in Object Orient Programming Language, allo stesso modo, 'Resource' è definito come un oggetto di un tipo che può essere un'immagine, un file HTML, dati di testo e qualsiasi tipo di dinamico dati. Sono disponibili diversi formati di rappresentazione per rappresentare una risorsa.
Alcune risorse più comuni sono elencate di seguito:
- JSON
- YAML
- XML
- HTML
D # 11) Perché è necessaria una corretta rappresentazione delle risorse?
Risposta: La rappresentazione è molto importante perché determina la facile identificazione delle risorse. Con rappresentazioni appropriate delle risorse nel formato appropriato, consente al cliente di comprendere facilmente il formato.
D # 12) Elenca alcuni punti importanti che dovrebbero essere tenuti a mente durante la progettazione della rappresentazione delle risorse per i servizi web RESTful.
Risposta: Poiché non ci sono restrizioni sul formato in cui viene eseguita la rappresentazione della risorsa, ma solo il requisito principale è il formato della rappresentazione dovrebbe essere secondo il requisito del cliente.
Una buona rappresentazione delle risorse è progettata considerando i seguenti punti principali:
- Il formato di rappresentazione delle risorse dovrebbe essere facilmente compreso dal client e dal server.
- La rappresentazione dovrebbe essere completa indipendentemente dalla sua struttura di formato, che può essere complessa o semplice.
- Nel caso del collegamento delle risorse ad altre risorse, anche questi casi dovrebbero essere considerati e gestiti.
D # 13) Che cos'è la cache?
Risposta: La memorizzazione nella cache è il processo in cui viene memorizzata la risposta del server in modo che una copia memorizzata nella cache possa essere utilizzata quando necessario e non è necessario generare nuovamente la stessa risposta. Questo processo non solo riduce il carico del server, ma a sua volta aumenta la scalabilità e le prestazioni del server. Solo il client è in grado di memorizzare nella cache la risposta e anche quella per un periodo di tempo limitato.
Di seguito sono menzionate l'intestazione delle risorse e la loro breve descrizione in modo che possano essere identificate per il processo di memorizzazione nella cache:
- Ora e data di creazione della risorsa
- Ora e data di modifica della risorsa che di solito memorizza l'ultimo dettaglio.
- Intestazione di controllo della cache
- Ora e data in cui scadrà la risorsa memorizzata nella cache.
- L'età che determina il tempo da quando la risorsa è stata recuperata.
D # 14) Spiega l'intestazione del controllo della cache.
Risposta: Un'intestazione Cache-control standard può aiutare a raggiungere la capacità di cache. Di seguito è riportata la breve descrizione delle varie intestazioni di controllo della cache:
- Pubblico: Le risorse contrassegnate come pubbliche possono essere memorizzate nella cache da qualsiasi componente intermedio tra il client e il server.
- Privato: Le risorse contrassegnate come private possono essere memorizzate nella cache solo dal client.
- Nessuna cache significa che una particolare risorsa non può essere memorizzata nella cache e quindi l'intero processo viene interrotto.
D # 15) Quali sono le migliori pratiche da seguire durante la progettazione di servizi Web RESTful?
Risposta: Per progettare un servizio web RESTful sicuro, ci sono alcune best practice o punti da considerare.
Questi sono spiegati come segue:
- Ogni input sul server dovrebbe essere convalidato.
- L'input dovrebbe essere ben formato.
- Non passare mai dati sensibili tramite URL.
- Per ogni sessione, l'utente dovrebbe essere autenticato.
- Solo i messaggi di errore HTTP devono essere utilizzati per indicare qualsiasi errore.
- Utilizzare un formato di messaggio facilmente comprensibile e richiesto dal client.
- L'identificatore di risorsa unificato dovrebbe essere descrittivo e facilmente comprensibile.
Q # 16) Cos'è il carico utile?
Risposta: I dati di richiesta che sono presenti nella parte del corpo di ogni messaggio HTTP sono indicati come 'Payload'. Nel servizio Web Restful, il payload può essere passato al destinatario solo tramite il metodo POST.
Non c'è limite all'invio di dati come payload tramite il metodo POST, ma l'unica preoccupazione è che più dati consumeranno più tempo e larghezza di banda. Ciò potrebbe anche consumare gran parte del tempo dell'utente.
come utilizzare un file bin
D # 17) Elenca alcuni dei metodi HTTP con la descrizione.
Risposta: Di seguito è riportato l'elenco dei metodi HTTP con le loro descrizioni:
- OTTENERE: Questa è un'operazione di sola lettura che recupera l'elenco degli utenti sul server.
- METTERE: Questa operazione viene utilizzata per la creazione di qualsiasi nuova risorsa sul server.
- INVIARE: Questa operazione viene utilizzata per aggiornare una vecchia risorsa o per creare una nuova risorsa.
- ELIMINA: Come suggerisce il nome, questa operazione viene utilizzata per eliminare qualsiasi risorsa sul server.
- OPZIONI: Questa operazione recupera l'elenco di tutte le opzioni di risorse supportate disponibili sul server.
D # 18) Qual è la differenza tra il metodo PUT e il metodo POST?
Risposta: La principale differenza tra il metodo PUT e il metodo POST è che il risultato generato con il metodo PUT è sempre lo stesso indipendentemente dal numero di volte in cui viene eseguita l'operazione. D'altra parte, il risultato generato dall'operazione POST è sempre diverso ogni volta.
D # 19) Qual è la tua comprensione di JAX-RS?
Risposta: JAX-RS è definito come l'API Java per il servizio Web RESTful. Tra più librerie e framework, questa è considerata l'API basata sul linguaggio di programmazione Java più adatta che supporta il servizio web RESTful.
Alcune delle implementazioni di JAX-RS sono:
- Jersey
- RIPOSO Facile
- Apache CFX
- Giocare
Tra questi, Jersey è il framework più popolare.
D # 20) Cosa sono i codici di stato HTTP? Arruolane pochi con un significato.
Risposta: I codici di stato HTTP fondamentalmente sono la rappresentazione dello stato dell'attività che è stata eseguita sul server, con la modalità di alcuni codici. Ogni codice ha il proprio significato.
Alcuni dei codici di stato HTTP con il loro significato sono i seguenti:
- Codice 200: Questo indica il successo.
- Codice 201: Ciò indica che la risorsa è stata creata con successo.
- Codice 204: Ciò indica che non è presente alcun contenuto nel corpo della risposta.
- Codice 404: Ciò indica che non è disponibile alcun metodo.
Ci sono pochi altri codici simili che indicano lo stato.
Conclusione
Questo articolo ti aiuterà a prepararti per il colloquio sui servizi web RESTful e ti aiuterà a comprendere il concetto in modo semplice e facile. Ho cercato di coprire tutte le aree che sono molto necessarie per avere una conoscenza completa dei servizi Web RESTful.
Ulteriore lettura - Esercitazione sull'API Flask
Ricorda, potrebbe essere possibile che tu non sia in grado di rispondere a tutte le domande dell'intervista, ma qualunque cosa tu risponda dovrebbe essere accurata. Il tuo concetto di base dovrebbe essere forte e il tuo livello di fiducia dovrebbe essere alto.
Ti auguro il meglio!!
Lettura consigliata
- Alcune domande e risposte sui test manuali complicati
- Top 20+ .NET Intervista Domande e risposte
- 20 domande e risposte per l'intervista TestNG più popolari
- Le 20 domande e risposte più importanti dell'intervista sui test API
- Domande e risposte al colloquio di prova ETL
- Le 20 più recenti domande e risposte dell'intervista DevOps per il 2021
- 20 principali domande e risposte per l'intervista agli analisti aziendali (ELENCO 2021)
- Top 20 domande e risposte al colloquio sui servizi Web RESTful
- Le 45 principali domande e risposte ai colloqui sui servizi Web (RESTful, SOAP, domande di sicurezza)