JavaRush /Java-Blog /Random-DE /Level 40. Antworten auf Interviewfragen zum Levelthema
lichMax
Level 40
Санкт-Петербург

Level 40. Antworten auf Interviewfragen zum Levelthema

Veröffentlicht in der Gruppe Random-DE
Level 40. Antworten auf Interviewfragen zum Thema Level - 1Tatsächlich befanden sich auf dieser Ebene folgende Fragen:
  1. Was ist eine IP-Adresse?
  2. Was ist der Unterschied zwischen Host und Domain?
  3. Welche HTTP-Methoden kennen Sie?
  4. Was ist der Unterschied zwischen den Methoden GET, POST und HEAD?
  5. Was ist REST?
  6. Warum wird die Calendar-Klasse in Java benötigt?
  7. Wie konvertiere ich ein Datum in Java in das gewünschte Format?
  8. Was ist der Unterschied zwischen URI und URL?
  9. Was sind Steckdosen?
  10. Unterschied zwischen Socket- und URL-Klassen?
Und hier sind meine Antworten:
  1. Eine IP-Adresse ist eine eindeutige Netzwerkadresse eines Knotens in einem Computernetzwerk, das auf dem TCP/IP-Protokollstapel basiert. Das Internet erfordert weltweit eindeutige Adressen; Bei der Arbeit in einem lokalen Netzwerk ist die Eindeutigkeit der Adresse innerhalb des Netzwerks erforderlich. In der IPv4-Protokollversion ist die IP-Adresse 4 Bytes lang und in der IPv6-Protokollversion ist die IP-Adresse 16 Bytes lang. Typischerweise wird eine IP-Adresse in der IPv4-Protokollversion als vier Dezimalzahlen mit Werten von 0 bis 255, getrennt durch einen Punkt, geschrieben, zum Beispiel 192.168.0.3.

  2. Eine Domäne ist eine Website-Adresse oder eine bestimmte Zone, die im Gegensatz zu allen anderen Namen im Domänennamensystem einen eigenen Namen hat. Domänen können First-Level, Second-Level, Third-Level usw. sein. Normalerweise steht eine First-Level-Domain normalen Benutzern nicht zur Registrierung zur Verfügung (Beispiele für First-Level-Domains sind „.ru“, „.com“, „.net“). Typischerweise werden Domänen der dritten und nachfolgenden Ebenen als Subdomänen bezeichnet.
    Ein Host ist ein bestimmter Computer oder Server, der mit einem lokalen oder globalen Netzwerk verbunden ist. Der Host verfügt über eine eindeutige Adresse in der TCP/IP-Dienstumgebung (IP-Adresse).

  3. GET, POST, PUT, DELETE, OPTIONS, HEAD, PATCH, TRACE, LINK, UNLINK, CONNECT.

  4. ERHALTEN POST KOPF
    Anforderungstext Nein Essen Nein
    Antwortgremium Ja Ja Nein
    Zwischenspeichern des Anforderungsergebnisses Ja Nein Ja, Schlagzeilen
    Idempotenz Ja Nein Ja

    Die GET- Methode wird verwendet, um den Inhalt einer angegebenen Ressource anzufordern. Die POST- Methode wird verwendet, um Benutzerdaten an eine angegebene Ressource zu übertragen. Die HEAD- Methode wird normalerweise verwendet, um Metadaten abzurufen, die Existenz einer Ressource zu überprüfen (URL-Validierung) und festzustellen, ob sie sich seit dem letzten Zugriff geändert hat. Die HEAD-Methode ähnelt der GET-Methode, außer dass die Serverantwort keinen Text enthält. Die GET-Methode wird als vereinfachte Version von POST betrachtet, da die GET-Methode keine vollständige Anfrage impliziert, sondern nur eine URL als solche.

  5. REST ist ein Architekturstil für die Interaktion verteilter Anwendungskomponenten über ein Netzwerk. Der Begriff wurde im Jahr 2000 von Roy Fielding geprägt. Er stellte außerdem die Anforderungen vor, die eine verteilte Anwendung erfüllen muss, um der REST-Architektur zu entsprechen (solche Anwendungen werden auch RESTful genannt). Das sind die Anforderungen:

    1. Client-Server-Modell (bedeutet, dass das Netzwerk aus einem Client und einem Server bestehen sollte; der Server ist derjenige, der über die Ressourcen verfügt, der Client ist derjenige, der sie anfordert))
    2. Zustandslos (bedeutet, dass weder der Client noch der Server die Zustände des jeweils anderen verfolgen)
    3. Кеширование (клиенты и промежуточные узлы могут кешировать результаты Anfrageов; сооответственно, ответы Serverа должны иметь явное oder неявное обоBedeutung, что они кешируемые oder некешируемые)
    4. Единообразие интерфейса (означает, что между клиентами и Serverами существует общий язык взаимодействия, который позволяет им быть заменяемыми oder изменяемыми, без нарушения Integrität системы):
      • Определение ресурса (означает, что каждый ресурс должны быть обозначен постоянным идентефикатором)
      • Управление ресурсами через представление (означает, что клиент хранит ресурс в виде его представления, и при желании изменения ресурса он отправляет Serverу информацию о том, в Wieом виде он хотел бы видеть этот ресурс; Server же рассматривает этот Wie Anfrage Wie предложение, и сам решает, что делать ему с хранимым ресурсом)
      • Самодостаточные Mitteilungen (каждое сообщение содержит достаточно информации, чтобы понять, Wie его обрабатывать)
      • Гипермедиа (означает, что клиенты изменяют состояние системы только через действия, которые динамически определены в гипермедиа на Server)
      • Система слоёв (означает, что в системе может быть больше двух слоёв (клиент и Server), и при этом каждый такой слой знает только о своих соседних слоях, и не знает об остальных слоях, и взаимодействует только с соседними слоями)
      • Код по требованию (означает, что функциональность клиента может быть расширения за счёт загрузки Codeа с Serverа в виде апплетов oder сценариев)

      Удовлетворение этим требованиям позволяет добиться следующего:

      • Надёжность
      • Производительность
      • Масштабируемость
      • Прозрачность взаимодействия
      • Простота интерфейсов
      • Портативность компонентов
      • Лёгкость внесения изменений
      • Способность эволюционировать, приспосабливаясь к новым требованиям
  6. Он нужен для более удобной работы с датой и временем. Он позволяет работать с датой в рамках календаря, то есть позволяет прибавлять и отнимать дни от Wieой-то конкретной даты, причём будут учитывать и високосные года. Кроме того, он позволяет представить время миллисекундах в удобном виде - год, месяц, день, часы, Protokollы, секунды. Также есть много методов для установки и получения разных параметров даты и времени, например: день недели, день месяца, день в году, номер недели в месяце, номер недели в году.
  7. Для этого существует удобный класс SimpleDateFormat. Экземпляру этого класс можно передать шаблон представления даты, и тогда он в таком виде будет возвращать Datum (в формате строки String), либо считывать Datum (из строки String). Выглядит это всё следующим образом:

    Date date = new Date(); // получаем текущую Datum
    SimpleDateFormat formatter = new SimpleDateFormat("d-MM-yy HH:mm:ss"); //создаём экземпляр класса SimpleDateFormat
             								//и передаём ему шаблон представления даты и времени
    String dateAsString = formatter.format(date); //преобразуем Datum в строку заданного формата
    
    Date dateAfterConversion = formatter.parse(dateAsString); //преобразуем строку обратно в Datum
  8. URI расшифровывается Wie Uniform Resource Identifier и переводится Wie "унифицированный идентификатор ресурса". URI — это последовательность символов, идентифицирующая абстрактный oder физический ресурс. URL расшифровывается Wie Uniform Resource Locator. То есть это некий унифицированный указатель на ресурс, однозначно определяющий его месторасположение. URL служит стандартизированным способом записи Adresseа ресурса в сети Интернет.
    Их отличия в том, что URI — это некоторый идентификатор ресурса, который позволяет этот ресурс Wie-то идентифицировать, а URL — это указатель на ресурс, он даёт информацию о том, где находится ресурс. Таким образом URL — это URI, который помимо идентификации ресурса, даёт информацию о его местонахождении.

  9. Сокеты — это связка IP-Adresse + порт, позволяющая из внешней сети однозначно идентифицировать программу на компьютере oder Serverе. В Java для работы с сокетами есть два класса Socket и ServerSocket. Экземпляры первого класса играют роль клиента, экземпляры второго — роль Serverа. Клиент может отправлять и принимать Mitteilungen через сокет. Сервер же постоянно отслеживает Anfrageы пользователей и отвечает на них.
    Для того, чтобы отправить данные через сокет, в классе Socket существует класс getOutnputStream(), возвращающий исходящий поток, с которым уже можно работать Wie обычно. Для приёма информацию нужно воспользоваться методом getInputStream(), который возвращает входящий поток. Дальше с этим потоком можно работать Wie с обычно потом ввода. Также стоит отметить, что при создании клиентского сокета (экземпляра класса Socket) в конструктор нужно передать ip-Adresse Serverа и порт, на котором он работает принимающая программа-Server.
    При создании Serverного сокета (экземпляра класса ServerSocket) нужно указывать только порт, через который будет работать программа. После этого вызывается метод accept(). Этот метод ожидание подключение клиента, а после этого возвращает экземпляр класса Socket, необходимый для взаимодействия с этим клиентом. Дальше работать идёт с экземпляром класса Socket, Wie в первом случае (в случае клиента).

  10. Главное отличие в том, что класс URL предназначен для работы с URL-строкой (парсинг URL-строки), а Socket используется для соединения с удалённым Serverом и отправки информации на Server и/oder приёма информации от Serverа (хотя, используя класс URL, можно получить доступ к ресурсу, на который указывает сам URL; но делается это не напрямую, а через ein Objekt класса URLConnection). Также, если смотреть в общем, то Socket используется для связи с Serverом (другой программой), а URL — для доступа к ресурсу (например, к файлу). Кроме того, URL и URLConnection ориентированы в основном на работу с HTTP, тогда Wie Socket может работать с любыми протоколами.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION