top 20 restful web services interview question
Список найпоширеніших запитань та відповідей на веб-сервіси RESTful, які допоможуть вам підготуватися до майбутнього співбесіди:
Веб-сервіси, дуже відомий термін, коли ми говоримо про обмін якимись даними між різними додатками або, скажімо, програмне забезпечення. На основі моделі клієнт-сервер ці послуги можуть використовуватися багатьма програмними програмами, написаними різними мовами, а також вона має перевагу роботи на різних платформах.
Так само REST, представницький перенос стану також базується на архітектурі стилю клієнт-сервер без громадянства, до якої можна легко отримати доступ через мережу та ідентифікується за допомогою URI, тобто єдиного ідентифікатора ресурсу.
Основна мета опису визначення веб-служб, а також REST вище, - допомогти вам пов'язати цей термін ' RESTful веб-сервіси ' оскільки веб-служби RESTful визначаються як веб-сервіси, які використовують метод HTTP і засновані на архітектурі REST. Він має такі корисні функції, як висока масштабованість та ремонтопридатність, створення API тощо.
Докладніше = >> API Flask Restful
У цій статті ви знайдете збірник запитань та відповідей, який очистить ваші основи та допоможе краще зрозуміти тему.
як запустити торрент-файл -
Також читайте:
- Найпопулярніші запитання щодо інтерв’ю веб-служб
- Найпопулярніші запитання щодо інтерв’ю у програмі SoapUI
Перелік запитань щодо веб-служб, що відпочивають
Давайте розпочнемо.
Запитання №1) Як ви розумієте, що таке веб-служби RESTful?
Відповідь: Так само, як SOAP (Simple Object Access Protocol), який використовується для розробки веб-служб методом XML, веб-служби RESTful використовують веб-протокол, тобто метод протоколу HTTP. Вони мають таку функцію, як масштабованість, ремонтопридатність, допомагають спілкуванню в декількох додатках, побудованих на різних мовах програмування тощо.
Реалізація веб-сервісу RESTful визначає спосіб доступу до різних ресурсів, які потрібні клієнту, і він надіслав запит на сервер через веб-браузер.
Важливі аспекти цього впровадження включають:
- Ресурси
- Заголовки запитів
- Орган запиту
- Орган реагування
- Коди стану
Q # 2) Назвіть протокол, який використовується веб-службами RESTful.
Відповідь: Інші веб-служби RESTful використовують відомий веб-протокол, тобто протокол HTTP. Це служить носієм передачі даних між клієнтом та сервером. Стандартні методи HTTP використовуються для доступу до ресурсів у архітектурі веб-сервісу RESTful.
Запитання №3) Поясніть термін 'Адресація' стосовно веб-служби RESTful.
Відповідь: Подібно до того, як нам потрібна адреса з поштовим індексом, щоб зв’язатися з будь-якою особою, таким же чином „Адресація” визначає ресурси, які є на сервері для розміщення веб-служб. Зазвичай це робиться за допомогою URI, тобто уніфікованого ідентифікатора ресурсу.
Q # 4) Перерахуйте функції веб-служб RESTful.
Відповідь: Кожен веб-сервіс RESTful повинен мати такі функції та характеристики, які перелічені нижче:
- На основі представлення клієнт-сервер.
- Використання протоколу HTTP для виконання таких функцій, як отримання даних із веб-служби, отримання ресурсів, виконання будь-якого запиту тощо.
- Зв'язок між сервером і клієнтом здійснюється за допомогою середовища, відомого як 'обмін повідомленнями'.
- Адресація ресурсів, доступних на сервері, за допомогою URI.
- Грунтується на концепції безгромадянства, де кожен запит клієнта та відповідь не залежать від іншого, з повною гарантією надання необхідної інформації.
- Використовує концепцію кешування.
- Працює над уніфікованим інтерфейсом.
Q # 5) Поясніть техніку обміну повідомленнями.
Відповідь: Повідомлення - це спосіб обміну даними для будь-якого типу зв'язку. Таким же чином протокол HTTP виконує роль комунікації повідомлень між клієнтом і сервером за допомогою методів HTTP-запитів і відповідей. HTTP-запит надсилається клієнтом, який містить інформацію про дані і, в свою чергу, отримує відповідь HTTP від сервера.
Повідомлення - це збір інформації про дані, тобто метадані.
Q # 6) Які основні компоненти HTTP-запиту та відповіді HTTP?
Відповідь: Основними компонентами під HTTP-запитом є:
- Дієслово: Включає такі методи, як GET, PUT, POST тощо.
- Єдиний ідентифікатор ресурсу для ідентифікації ресурсів, доступних на сервері.
- Версія HTTP для вказівки версії HTTP.
- Заголовок HTTP-запиту, що містить інформацію про дані.
- Тело запиту HTTP, що містить представлення використовуваних ресурсів.
Основними компонентами відповіді HTTP є:
- Код запиту: Він містить різні коди, що визначають стан відповіді сервера.
- Версія HTTP для вказівки версії HTTP.
- Заголовок відповіді HTTP, що містить інформацію про дані.
- Тіло відповіді HTTP, що містить представлення використовуваних ресурсів.
Q # 7) Поясніть термін 'безгромадянство' стосовно веб-служби RESTful.
Відповідь: У REST сам ST визначає передачу держави, а безгромадянство означає повну ізоляцію. Це означає, що стан програми клієнта ніколи не зберігається на сервері і передається далі.
У цьому процесі клієнти надсилають всю інформацію, необхідну серверу для виконання HTTP-запиту, який був відправлений. Таким чином, кожен клієнт запитує та реагує незалежно від іншого, з повною впевненістю у наданні необхідної інформації.
Кожен клієнт передає 'ідентифікатор сеансу', який також виконує роль ідентифікатора для кожного сеансу.
Q # 8) Перелічіть переваги та недоліки 'безгромадянства'.
Відповідь: У вищезазначеному питанні ми зрозуміли значення безгромадянства стосовно спілкування клієнт-сервер. Тепер давайте розглянемо деякі його переваги та недоліки.
Переваги:
- Кожен метод, необхідний для спілкування, ідентифікується як незалежний метод, тобто немає залежності від інших методів.
- Будь-яке попереднє спілкування з клієнтом та сервером не підтримується, і, отже, весь процес значно спрощується.
- Якщо будь-яка інформація або метадані, які використовувались раніше, потрібні в іншому способі, тоді клієнт знову надсилає цю інформацію із запитом HTTP.
- Протокол HTTP та веб-сервіс REST обидва поділяють особливість безгромадянства.
Недоліки:
- У кожному HTTP-запиті від клієнта веб-служба вимагає наявності певної інформації щодо стану клієнта.
Q # 9) Перелічіть деякі важливі обмеження для веб-служб RESTful.
Відповідь: Кожне обмеження має як позитивні, так і негативні наслідки, і для створення загальної архітектури між ними має бути баланс.
Нижче наведено деякі важливі обмеження для веб-служби RESTful:
- Кожен сервер і клієнт повинні мати окремі проблеми, що допоможе зберегти модульність програми. Це також зменшить складність та збільшить масштабованість.
- Зв'язок клієнт-сервер повинен бути без стану, що означає, що попередня інформація не використовується, а повне виконання виконується ізольовано. У випадках невдачі це також допомагає клієнту відновитись.
- У зв'язку клієнт-сервер відповідь HTTP повинна бути кешованою, щоб при необхідності можна було використовувати кешовану копію, що, в свою чергу, покращує масштабованість та продуктивність сервера.
- Четверте обмеження - єдиний інтерфейс, який дозволяє легко зрозуміти взаємодію клієнт-сервер. Дане обмеження далі поділяється на чотири суб-обмеження як:
- Ідентифікація ресурсу
- Маніпулювання ресурсами
- Кожне повідомлення легко зрозуміле і самоописове.
- Гіпермедіа, яка визначається як текст із гіперпосиланнями, і при натисканні вона переходить до іншого стану програми.
- Зв'язок клієнт-сервер повинен здійснюватися в багатошаровій системі, і, отже, клієнт повинен мати лише знання про проміжний рівень, з яким здійснюється зв'язок,
Q # 10) Що таке 'ресурс'?
Відповідь: Так само, як екземпляр 'Об'єкт', ми вивчили мову програмування 'Об'єктно-східне', так само, 'Ресурс' визначається як об'єкт типу, який може бути зображенням, файлом HTML, текстовими даними та будь-яким типом динамічного даних. Для представлення ресурсу доступні різноманітні формати представлення.
Нижче наведено деякі найпоширеніші ресурси:
- JSON
- ЯМЛ
- XML
- HTML
Q # 11) Чому потрібне належне представлення Ресурсу?
Відповідь: Представництво є дуже важливим, оскільки воно визначає легку ідентифікацію ресурсів. Належне подання ресурсу у належному форматі дозволяє клієнту легко зрозуміти формат.
Q # 12) Перелічіть деякі важливі моменти, які слід мати на увазі при розробці представлення ресурсів для веб-служб RESTful.
Відповідь: Оскільки немає обмежень щодо формату, в якому здійснюється представлення ресурсів, але лише, що основною вимогою є формат представлення, який повинен відповідати вимогам клієнта.
Хороше представлення ресурсів розроблено з урахуванням наступних основних моментів:
- Формат подання ресурсу повинен бути зрозумілим для клієнта та сервера.
- Представлення має бути повним, незалежно від структури формату, яка може бути складною або простою.
- У разі прив'язки ресурсів до інших ресурсів такі випадки також слід розглядати та обробляти.
Q # 13) Що таке кешування?
Відповідь: Кешування - це процес, при якому відповідь сервера зберігається так, що кешована копія може бути використана за необхідності, і немає необхідності генерувати таку саму відповідь знову. Цей процес не тільки зменшує навантаження на сервер, але в свою чергу збільшує масштабованість та продуктивність сервера. Тільки клієнт може кешувати відповідь, і це теж протягом обмеженого періоду часу.
Нижче згадано заголовок ресурсів та їх короткий опис, щоб їх можна було визначити для процесу кешування:
- Час і дата створення ресурсу
- Час і дата модифікації ресурсу, в яких зазвичай зберігаються останні деталі.
- Заголовок кешування кешу
- Час і дата, коли термін дії кешованого ресурсу закінчується.
- Вік, який визначає час, з якого ресурс отримано.
Q # 14) Поясніть заголовок керування кешем.
Відповідь: Стандартний заголовок Керування кешем може допомогти досягти здатності кешу. Нижче наведено короткий опис різних заголовків кеш-управління:
- Публічний: Ресурси, позначені як загальнодоступні, можуть бути кешовані будь-якими проміжними компонентами між клієнтом та сервером.
- Приватна: Ресурси, позначені як приватні, можуть бути кешовані лише клієнтом.
- Відсутність кешу означає, що певний ресурс не може бути кешований, і, таким чином, весь процес зупинено.
Запитання № 15) Яких найкращих практик слід дотримуватися при розробці веб-служб RESTful?
Відповідь: Щоб створити безпечний веб-сервіс RESTful, є кілька найкращих практик або рекомендацій, які слід враховувати.
Це пояснюється наступним чином:
- Кожен ввід на сервері повинен бути перевіреним.
- Вхідні дані повинні бути добре сформовані.
- Ніколи не передавайте будь-які конфіденційні дані через URL.
- Для будь-якого сеансу користувач повинен пройти аутентифікацію.
- Для індикації будь-якої несправності слід використовувати лише повідомлення про помилки HTTP.
- Використовуйте формат повідомлення, який легко зрозуміти і потрібний клієнту.
- Уніфікований ідентифікатор ресурсу повинен бути описовим та легко зрозумілим.
Q # 16) Що таке корисне навантаження?
Відповідь: Дані запиту, які містяться в тілі кожного повідомлення HTTP, називаються 'корисним навантаженням'. У веб-службі Restful корисне навантаження може передаватися одержувачу лише методом POST.
Немає обмежень надсилання даних як корисного навантаження за допомогою методу POST, але єдине, що турбується, полягає в тому, що більша кількість даних споживає більше часу та пропускної здатності. Це також може зайняти значну частину часу користувача.
Q # 17) Перелічіть деякі методи HTTP із описом.
Відповідь: Нижче наведено перелік методів HTTP з їх описом:
- ОТРИМАТИ: Це операція лише для читання, яка отримує список користувачів на сервері.
- ВСТАНОВИТИ: Ця операція використовується для створення будь-якого нового ресурсу на сервері.
- ПОСТ: Ця операція використовується для оновлення старого ресурсу або для створення нового ресурсу.
- ВИДАЛИТИ: Як випливає з назви, ця операція використовується для видалення будь-якого ресурсу на сервері.
- ВАРІАНТИ: Ця операція отримує список усіх підтримуваних параметрів ресурсів, доступних на сервері.
Q # 18) Яка різниця між методом PUT та POST?
Відповідь: Основна різниця між методом PUT і POST полягає в тому, що результат, який генерується методом PUT, завжди однаковий, незалежно від того, скільки разів виконується операція. З іншого боку, результат, який генерується операцією POST, щоразу відрізняється.
Q # 19) Яке ваше розуміння щодо JAX-RS?
Відповідь: JAX-RS визначається як API Java для веб-служби RESTful. Серед безлічі бібліотек та фреймворку це вважається найбільш підходящим API на основі мови програмування Java, який підтримує веб-службу RESTful.
Деякі реалізації JAX-RS:
- Джерсі
- Відпочинок
- Apache CFX
- Грати
Серед них Джерсі - найпопулярніший фреймворк.
Питання 20) Що таке коди стану HTTP? Забери мало кого зі значенням.
Відповідь: Коди статусу HTTP в основному являють собою представлення стану завдання, яке було виконано на сервері, в режимі деяких кодів. Кожен код має своє значення.
Деякі коди стану HTTP із їх значенням є такими:
- Код 200: Це свідчить про успіх.
- Код 201: Це означає, що ресурс успішно створений.
- Код 204: Це вказує на відсутність вмісту в тілі відповіді.
- Код 404: Це вказує на відсутність доступного методу.
Ще небагато таких кодів, які вказують на стан.
Висновок
Ця стаття допоможе вам підготуватися до співбесіди з веб-послугами RESTful та допоможе вам зрозуміти концепцію просто та легко. Я намагався охопити всі сфери, які є дуже необхідними для повних знань про веб-служби RESTful.
Подальше читання - Підручник з Flask API
Тільки пам’ятайте, можливо, ви не можете відповісти на всі запитання на співбесіді, але все, що ви відповісте, має бути точним. Ваша основна концепція повинна бути міцною, а рівень довіри - високим.
Всього найкращого!!
Рекомендована література
- Деякі хитрі ручні тестування Питання та відповіді
- Топ 20+ запитань та відповідей на інтерв’ю .NET
- 20 найпопулярніших запитань та відповідей на інтерв’ю TestNG
- 20 найважливіших запитань та відповідей на тестування API
- Запитання та відповіді на інтерв’ю для тестування ETL
- Топ 20 останніх запитань та відповідей на інтерв’ю DevOps на 2021 рік
- 20 найкращих запитань та відповідей на питання співбесіди бізнес-аналітиків (2021 СПИСОК)
- Топ-20 запитань та відповідей на інтерв’ю RESTful Web Services
- Найпопулярніші 45 запитань та відповідей щодо інтерв’ю веб-служб (RESTful, SOAP, питання безпеки)