70 самых популярных вопросов для собеседований по веб-службам и amp; Ответы

Anonim

Скачать PDF

1) Определить веб-службу?

Веб-сервис - это разновидность программного обеспечения, доступного в Интернете. Он использует систему обмена сообщениями XML и предлагает простой для понимания интерфейс для конечных пользователей.

2) Что нового в этой области за последние несколько лет?

Внедрение XML в этой области - это продвижение, которое предоставляет веб-сервисам единый язык для взаимодействия между RPC, веб-сервисами и их каталогами.

3) Приведите пример реального веб-сервиса?

Одним из примеров веб-служб является браузер IBM Web Services. Вы можете получить его на сайте IBM Alphaworks. Этот браузер показывает различные демонстрации, связанные с веб-сервисами. В основном веб-сервисы можно использовать с помощью SOAP, WSDL и UDDI. Все они предоставляют интерфейс plug-and-play для использования веб-служб, таких как служба котировок акций, служба отчетов о загруженности дорог, служба погоды и т. Д.

4) Как вы определяете стек протоколов веб-сервисов?

В основном это набор различных протоколов, которые можно использовать для исследования и выполнения веб-сервисов. Весь стек состоит из четырех уровней, т. Е. Транспорта службы, обмена сообщениями XML, описания службы и обнаружения службы.

5) Можете ли вы определить каждый из этих уровней стека протоколов?

Уровень Service Transport передает сообщения между различными приложениями, такими как HTTP, SMTP, FTP и Blocks Extensible Exchange Protocol (BEEP). Уровень обмена сообщениями XML кодирует сообщения в формате XML, чтобы сообщения могли быть поняты на всех концах, например XML-RPC и SOAP. Уровень описания службы описывает пользовательский интерфейс веб-службы, например WSDL. Уровень обнаружения служб централизует службы в общем реестре и предлагает простые функции публикации, такие как UDDI.

6) Определить XML - RPC?

Это протокол, который использует сообщения XML для выполнения удаленных вызовов процедур.

7) Определить SOAP?

SOAP - это протокол на основе XML для передачи между компьютерами.

8) Определить WSDL?

Это означает язык описания веб-сервисов. По сути, это уровень описания сервиса из набора протоколов веб-сервисов. Уровень описания службы описывает пользовательский интерфейс веб-службы.

9) Какая безопасность необходима для веб-сервисов?

Уровень безопасности для веб-сервисов должен быть больше, чем то, что мы говорим Secure Socket Layer (SSL). Такой уровень безопасности может быть достигнут только с помощью Entrust Secure Transaction Platform. Веб-сервисы нуждаются в таком уровне безопасности для обеспечения надежных транзакций и защиты конфиденциальной информации.

10) Есть ли у вас какие-либо представления о службах безопасности фонда?

Как следует из названия, эти службы являются основой или основами интеграции, аутентификации, авторизации, цифровых подписей и процессов шифрования.

11) Определить Entrust Identification Service?

Служба идентификации Entrust предоставляется на платформе транзакций Entrust Security. Эта платформа позволяет компаниям контролировать удостоверения, которым доверяют выполнять транзакции для транзакций веб-служб.

12) Что означает UDDI?

UDDI расшифровывается как Универсальный, Описание, Обнаружение и Интеграция. Это уровень обнаружения в стеке протоколов веб-служб.

13) Определить Entrust Entitlements Service?

Эта служба проверяет объекты, которые пытаются получить доступ к веб-службе. Например, служба проверки подлинности, Служба прав обеспечивает безопасность бизнес-операций.

14) Определите Службу конфиденциальности Entrust?

Как следует из названия, он связан с безопасностью и конфиденциальностью. Эта служба шифрует данные, чтобы гарантировать, что только заинтересованные стороны могут получить доступ к данным.

15) Что вы подразумеваете под PKI?

Это означает инфраструктуру открытого ключа.

16) Какие инструменты используются для тестирования веб-службы?

Я использовал SoapUI для SOAP WS и плагин для плакатов Firefox для RESTFul Services.

17) Чем отличается SOA от веб-сервиса?

SOA - это дизайн и архитектура для реализации других сервисов. SOA может быть легко реализован с использованием различных протоколов, таких как HTTP, HTTPS, JMS, SMTP, RMI, IIOP, RPC и т. Д. Хотя веб-сервис сам по себе является реализованной технологией. Фактически, можно реализовать SOA с помощью веб-службы.

18) Обсудить различные подходы к разработке веб-службы на основе SOAP?

Мы можем разработать веб-службу на основе SOAP с двумя различными типами подходов, такими как контракт-первый и последний контракт. В первом подходе сначала определяется контракт, а затем классы выводятся из контракта, в то время как в более позднем подходе сначала определяются классы, а затем контракт выводится из этих классов.

19) Если вам нужно выбрать один подход, то какой вы выберете?

На мой взгляд, первый подход, основанный на контракте, более осуществим по сравнению со вторым, но все же он зависит и от других факторов.

20) Требуется ли какое-либо специальное приложение для доступа к веб-сервису?

Нет, вам не нужно устанавливать какое-либо специальное приложение для доступа к веб-сервису. Вы можете получить доступ к веб-службе из любого приложения, которое поддерживает запрос и ответ объекта на основе XML.

21) Можете ли вы назвать несколько бесплатных и коммерческих реализаций веб-сервисов?

Известные мне реализации: Apache SOAP, эталонная реализация JAX-WS, эталонная реализация JAX-RS, Metro, Apache CXF, MS.NET и Java 6.

22) Назовите браузер, который разрешает доступ к веб-сервису?

Объект JavaScript XmlHttpRequest требуется для доступа к веб-службе через браузеры. Браузеры, поддерживающие этот объект, - это Internet Explorer, Safari и браузеры на основе Mozilla, такие как FireFox.

23) Что такое ОТДЫХ?

REST расшифровывается как передача репрезентативного состояния. Сам REST не является стандартом, хотя он использует различные стандарты, такие как HTTP, URL, XML / HTML / GIF / JPEG.webp (представления ресурсов) и text / xml, text / html, image / gif, image / jpeg.webp и т. Д. (Типы MIME. ).

24) Как можно предоставить API пользователям?

Чтобы предоставить пользователям API, это можно легко сделать с помощью «открытой таблицы». Все, что вам нужно сделать, это написать открытую таблицу, которая в основном представляет собой схему XML, указывающую на веб-службу.

25) Назовите различные каналы связи в веб-сервисе?

Веб-сервис интегрирован с тремя протоколами, такими как HTTP / POST, HTTP / GET и SOAP. Он предоставляет клиентам три разных канала связи. Клиент может выбрать любой способ связи в соответствии с требованиями.

26) Как вы можете задокументировать веб-сервис?

Web-сервисы считаются самодокументированными, поскольку они предоставляют полную информацию о доступных методах и параметрах, используемых для стандарта на основе XML, известного как WSDL. Можно также предоставить дополнительную информацию для объяснения веб-сервисов через их собственные атрибуты WebService и WebMethod.

27) В каких ситуациях нам нужны веб-сервисы ASP.NET?

Веб-службы ASP.NET используются, когда необходимо реализовать трехуровневую архитектуру в веб-службе. Это позволяет удобно использовать компоненты среднего уровня через Интернет. Основное преимущество веб-служб .NET состоит в том, что они способны взаимодействовать через брандмауэры, поскольку они используют SOAP в качестве транспортного протокола.

28) Что такое распределенные технологии?

Увеличение доли распределенных приложений повысило спрос на распределенные технологии. Это позволяет сегментировать блоки приложений и передавать их на разные компьютеры в разных сетях.

29) Чем отличаются веб-службы, CORBA и DCOM?

Веб-сервисы передают / получают сообщения в / из приложения соответственно по протоколу HTTP. Он использует XML для кодирования данных.

CORBA и DCOM передают / получают сообщения в / из приложения соответственно через нестандартные протоколы, такие как IIOP и RPC.

30) Можете ли вы назвать несколько преимуществ веб-сервисов?

Самым большим преимуществом веб-сервиса является то, что он поддерживается широким спектром платформ. Более того, в ближайшем будущем веб-сервисы могут расширить свои границы и усовершенствовать новые методы, которые упростят работу клиентам. Улучшение не повлияет на клиентов, даже если они предлагают старые методы и параметры.

31) Можете ли вы назвать некоторые стандарты, используемые в веб-сервисах?

В веб-сервисах используются следующие стандарты: WSDL (используется для создания определения интерфейса), SOAP (используется для структурирования данных), HTTP (каналы связи), DISCO (используется для создания документов обнаружения) и UDDI (используется для создания бизнес-реестров).

32) Объясните вкратце, что такое DISCO?

ДИСКО означает открытие. Он группирует список взаимосвязанных веб-сервисов. Организация, предоставляющая веб-службы, выпускает файл DISCO на своем сервере, и этот файл содержит ссылки на все предоставленные веб-службы. Этот стандарт хорош, когда клиент уже знает компанию. Также его можно использовать в локальной сети.

33) Вкратце объясните, что такое UDDI?

UDDI (универсальное описание, обнаружение и интеграция) предоставляет консолидированный каталог для веб-служб в Интернете. Клиенты используют UDDI для поиска веб-сервисов в соответствии с потребностями своего бизнеса. В основном на нем размещаются веб-сервисы от различных компаний. Чтобы поделиться веб-сервисами, вам необходимо опубликовать их в UDDI.

34) Объясните, какие типы данных поддерживаются веб-службами .NET?

Веб-службы .Net используют стандарты на основе XML для передачи / получения информации. Таким образом, веб-службы .NET могут работать только с типами данных, известными стандарту схемы XML. Как и FileSteam, журнал событий и т. Д. Не распознается стандартами схемы XML и, следовательно, не поддерживается в веб-службах.

35) Как тестируется веб-служба .NET?

ASP.NET регулярно использует тестовую страницу, когда в любом браузере запрашивается URL-адрес файла .asmx. На этой странице представлена ​​полная информация о веб-сервисах.

36) Как используется веб-служба .NET?

Поскольку мы знаем, что веб-сервисы построены на стандартах XML. Следовательно, для обмена сообщениями клиенты должны иметь полное представление о сообщениях на основе XML. Клиенты могут взаимодействовать с веб-службами через платформу .NET, которая предлагает механизмы прокси. Эти прокси-механизмы содержат подробную информацию о совместном использовании данных в веб-службах, которые могут легко использоваться клиентами.

37) Можете ли вы назвать два решения Microsoft для распределенных приложений?

Два решения Microsoft для распределенных приложений - это .NET Web Services и .NET Remoting.

38) Чем отличаются .NET Web Services от .NET Remoting?

Что касается протокола, .NET Web Service использует HTTP, а .NET Remoting использует любой протокол, например TCP / HTTP / SMTP. Что касается производительности, .NET Remoting сравнительно быстрее, чем веб-служба .NET. Кроме того, поскольку веб-службы .NET размещаются через IIS, они намного надежнее, чем .NET Remoting.

39) Назовите компоненты, которые будут опубликованы при развертывании веб-службы?

Компоненты, которые необходимо опубликовать во время развертывания веб-службы, - это каталог веб-приложений, файл Webservice.asmx, файл Webservice.Disco, файл Web.Config и каталог Bin.

40) Какие шаги выполняет клиент для доступа к веб-сервису?

Прежде всего, клиент создает веб-ссылку на веб-службу в своем приложении. Затем создается прокси-класс. После этого создается объект прокси-класса, и, наконец, доступ к веб-сервису осуществляется через этот прокси-объект.

41) Как веб-сервисы реализованы в .NET?

Для реализации веб-служб в .NET используются обработчики HTTP, которые прерывают запросы к файлам .asmx.

42) Объясните несколько недостатков кеширования ответов?

Кэширование ответов бесполезно или некомпетентно, когда метод принимает большое количество значений, потому что кеширование означает хранение большого количества информации. Кроме того, если метод зависит от внешнего источника информации и не указан в параметрах, такие методы игнорируются.

43) Какое альтернативное решение для кеширования ответов?

Можно использовать кэширование данных (System.Web.Caching.Cach) вместо кеширования ответов.

44) Кратко о недостатках использования методов GET и POST для связи с веб-службой?

Эти методы менее безопасны и не позволяют пользователям передавать структуры и объекты в качестве аргументов. Кроме того, он не позволяет пользователям передавать аргументы ByRef.

45) Как можно получить доступ к классу как к веб-сервису?

Чтобы получить доступ к классу как к веб-службе, необходимо унаследовать класс от класса System.Web.Services.WebService и квалифицировать класс с помощью атрибута WebService.

46) Как можно получить доступ к методу класса веб-службы через Интернет?

Чтобы получить доступ к методу класса веб-службы через Интернет, необходимо квалифицировать метод с помощью атрибута WebMethod.

47) Как структурировано сообщение SOAP?

Сообщение SOAP состоит из конверта SOAP, заголовков SOAP и тела SOAP.

48) Можете ли вы назвать разные виды веб-сервисов?

Всего существует два типа веб-служб: веб-служба на основе SOAP и веб-служба RESTful.

Этот вопрос уже упоминался ранее.

49) Чем отличаются веб-службы RESTful?

Веб-службы RESTful не содержат контрактов или файлов WSDL.

50) Назовите несколько причин использовать веб-службу RESTful?

Веб-службы RESTFul просты в реализации и тестировании. Он поддерживает различные форматы данных, такие как XML, JSON и т. Д.

51) Объясните, что такое веб-сервисы JAVA? Какие есть методы создания веб-сервисов?

Веб-сервисы Java разработаны для создания и развертывания базовых веб-сервисов на платформе JAVA.

Для создания веб-сервисов используются два подхода.

  • Нисходящий подход
  • Подход к пополнению

52) Объясните, что такое JAXP?

JAXP - это JAVA API для обработки XML, который позволяет приложению писать, читать, манипулировать и преобразовывать данные XML. Точно так же для выполнения других различных функций существуют другие API-интерфейсы Java, такие как JAX-RPC, JAXM, JAXR, JAXB и т. Д.

53) Упомянули структуру привязки JAXB?

Фреймворк привязки JAXB доступен в трех пакетах Java.

  • xml.bind: этот пакет определяет абстрактные классы и интерфейсы, которые используются непосредственно с классами содержимого.
  • xml.bind.util: этот пакет содержит служебные классы, которые могут использоваться клиентскими приложениями для управления событиями маршалинга, демаршалинга и проверки.
  • xml.bind.helper: этот вспомогательный пакет предоставляет частичные реализации для некоторых интерфейсов javax.xml.bind. Эти API-интерфейсы не должны напрямую использоваться приложениями, использующими архитектуру JAXB.

54) Приведите простой пример того, как XML-документ может быть Marshal и Unmarshal в структуре JAVA?

Маршаллинг - это процесс преобразования XML-документа в читаемую форму Java, в то время как немаршаллинг - это процесс, обратный маршаллингу. Давайте посмотрим, как Java демаршалирует XML-документ, а затем маршалирует его обратно.

JAXBContext jc = JAXBContext.newInstance ("com.acme.foo");

// демаршалировать из foo.xml

Unmarshaller u = jc.createUnmarshaller ();

FooObject fooObj =

(FooObject) u.unmarshal (новый файл ("foo.xml"));

// маршал на sytem.out

Маршаллер m = jc.createMarshaller ();

m.marshal (fooObj, System.out);

55) Объясните, что делает Marshaller, если свойство jaxb.encoding не объявлено?

По умолчанию Marshaller будет использовать "UTF-8", если свойство jaxb.encoding не объявлено.

56) Укажите, какие типы проверки может выполнять клиент JAXB?

Существует два типа проверки клиента JAXB, которые может выполнять JAXB.

  • Неупорядоченная проверка времени
  • Проверка по требованию

57) Назовите три способа обработки события, возникающего во время операций маршала, демаршала и проверки?

  • Использование обработчика событий по умолчанию
  • Зарегистрируйте и внедрите собственный обработчик событий
  • Используйте служебную программу ValidationEventCollector

58) Объясните, где находится компилятор JAXB?

Компилятор привязки схемы JAXB помещается в каталог / jaxb / bin. В этом каталоге есть два сценария: xjc.sh (Solaris / Linux) и xjc.bat (Windows).

59) В каких случаях нужно настраивать привязку по умолчанию?

В некоторых случаях вам необходимо настроить привязку по умолчанию, например

  • Создание документации API для пакетов, классов, методов и констант JAXB, производных от схемы.
  • Предоставление семантически значимых настраиваемых имен для случаев, которые отображение идентификатора XML-имени в Java по умолчанию не может обрабатывать автоматически
  • Переопределение привязки по умолчанию - как указание того, что группа моделей должна быть присоединена к классу, а не к списку

60) Объясните, что такое встроенная настройка?

Настройка привязок JAXB выполняется с помощью встроенных объявлений привязки в файле схемы XML, которые принимают форму элементов , встроенных в элементы схемы .

61) Объясните, что такое XML-подпись?

XML можно использовать для подписи любых произвольных данных, будь то двоичные данные или XML. Данные распознаются через URI в одном или нескольких ссылочных элементах. Он описывается в одной или нескольких формах, например, отдельно, в оболочке или в оболочке.

62) Объясните, что такое Стакс?

Stax означает Streaming API для XML; это API для чтения и записи XML-документов, происходящих из языка программирования JAVA.

63) Упомяните, что такое обычные XML API?

Обычные XML API включают

  • API на основе DOM или на основе дерева: весь документ считывается в память в виде древовидной структуры для случайной доступности путем вызова приложения.
  • API на основе событий: приложение регистрируется для получения событий по мере того, как сущности встречаются в исходном документе.

64) Объясните, что такое Push-анализ и Pull-анализ?

  • Анализ по запросу: потоковый анализ по запросу относится к модели программирования, в которой клиентское приложение вызывает методы в библиотеке синтаксического анализа XML, когда ему необходимо взаимодействовать с информационным набором XML, что означает, что клиент будет получать данные XML только тогда, когда он запрашивается.
  • Push Parsing: в Push Parsing анализатор отправляет в приложение события синтаксического анализа или данные XML. В модели push синтаксический анализатор получил контроль над процессом синтаксического анализа, а синтаксический анализатор вызывает реализованные методы обработчика.

65) Объясните, на какой технологии основана безопасность XWS? Перечислите параметры, которые обеспечивает безопасность XWS для защиты приложений JAX-RPC?

Безопасность XWS основана на защите веб-сервисов, построенных на JAX-RPC, и на автономном приложении на основе SAAJ. Для защиты приложения JAX-RPC параметры безопасности XWS:

  • Цифровая подпись XML
  • XML-шифрование
  • Проверка токена имени пользователя
  • API фреймворка безопасности XWS

66) Перечислите шесть пакетов, доступных в API цифровой подписи XML?

API цифровой подписи

  • xml.crypto
  • xml.crypto.dsig
  • xml.crypto.dsig.keyinfo
  • xml.crypto.dsig.spec
  • xml.crypto.dom
  • xml.crypto.dsig.dom

67) Объясните, что такое JAXR?

JAXR - это API-интерфейсы программирования JAVA для приложений платформы Java для доступа и программного взаимодействия с различными типами реестров метаданных.

68) Объясните, из чего состоит архитектура JAXR?

Архитектура JAXR состоит из клиента JAXR и поставщика JAXR.

  • Клиент JAXR: это клиентская программа, которая использует JAXR API для использования реестра через поставщика JAXR.
  • Поставщик JAXR: это реализация JAXR API, обеспечивающая доступ к определенному поставщику реестра или к классу поставщиков реестра, основанных на общих спецификациях.

69) Объясните, что такое модели обмена сообщениями JAXM?

Существует два типа моделей обмена сообщениями для синхронного и асинхронного JAXM.

  • Модель синхронного обмена сообщениями: в модели такого типа клиент напрямую связывается с источником. При этом клиент отправит запрос и ждет.
  • Модель асинхронного обмена сообщениями: в этой модели клиент направляет сообщение поставщику сообщений и возвращает обратно. Затем провайдер обмена сообщениями выполняет маршрутизацию сообщения к конечному источнику.

70) Объясните, что такое UDDI, DISCO и WSDL?

  • UDDI: это означает универсальное описание, обнаружение и я. Это каталог, который используется для публикации и обнаружения общедоступных веб-сервисов.
  • ДИСКО: Это широко известно как открытие. Он объединяет общие службы вместе и предоставляет документы схем веб-служб.
  • WSDL: обозначает язык описания веб-сервисов (WSDL). Он используется для описания веб-сервисов. Описание включает URL-адрес веб-служб, свойства и методы, поддерживаемые веб-службами, тип данных, которые он поддерживает, и детали протокола, которые он поддерживает.