JavaRush /Java Blogu /Random-AZ /Səviyyə 40. Səviyyə mövzusu üzrə müsahibə suallarına cava...
lichMax
Səviyyə
Санкт-Петербург

Səviyyə 40. Səviyyə mövzusu üzrə müsahibə suallarına cavablar

Qrupda dərc edilmişdir
Səviyyə 40. Səviyyə - 1 mövzusu üzrə müsahibə suallarına cavablarƏslində, aşağıdakı suallar bu səviyyədə idi:
  1. IP ünvanı nədir?
  2. Host və domen arasındakı fərq nədir?
  3. Hansı HTTP üsullarını bilirsiniz?
  4. GET, POST və HEAD üsulları arasındakı fərq nədir?
  5. REST nədir?
  6. Java-da Calendar sinfi nə üçün lazımdır?
  7. Java-da tarixi istədiyiniz formata necə çevirmək olar?
  8. URI və URL arasındakı fərq nədir?
  9. Soketlər nədir?
  10. Socket və URL sinifləri arasındakı fərq?
Və cavablarım bunlardır:
  1. IP ünvanı TCP/IP protokol yığını üzərində qurulmuş kompüter şəbəkəsindəki qovşağın unikal şəbəkə ünvanıdır. İnternet qlobal miqyasda unikal ünvanlar tələb edir; lokal şəbəkədə işləyərkən şəbəkə daxilində ünvanın unikallığı tələb olunur. IPv4 protokol versiyasında IP ünvanı 4 bayt, IPv6 protokol versiyasında isə IP ünvanı 16 baytdır. Tipik olaraq, IPv4 protokol versiyasında bir IP ünvanı nöqtə ilə ayrılmış 0-dan 255-ə qədər dəyərləri olan dörd onluq ədəd kimi yazılır, məsələn, 192.168.0.3.

  2. Domen , domen adı sistemindəki hər hansı digər addan fərqli olaraq, öz adına malik olan veb-sayt ünvanı və ya xüsusi zonadır. Domenlər birinci səviyyə, ikinci səviyyə, üçüncü səviyyə və s. ola bilər. Tipik olaraq, birinci səviyyəli domen adi istifadəçilər üçün qeydiyyat üçün əlçatan deyildir (birinci səviyyəli domenlərə misal olaraq “.ru”, “.com”, “.net”). Tipik olaraq, üçüncü və sonrakı səviyyələrin domenləri subdomenlər adlanır.
    Host yerli və ya qlobal şəbəkəyə qoşulmuş xüsusi kompüter və ya serverdir. Hostun TCP/IP xidmət mühitində (IP ünvanı) unikal ünvanı var.

  3. GET, POST, PUT, SİL, OPSİYONLAR, HEAD, PATCH, İZLƏR, BAĞLANT, BAĞLANTI KEÇİR, BAĞLA.

  4. GET POST BAŞ
    Sorğu orqanı Yox Yemək Yox
    Cavab Bədəni Bəli Bəli Yox
    Sorğunun Nəticəsinin Keşləşdirilməsi Bəli Yox Bəli, başlıqlar
    Qüsursuzluq Bəli Yox Bəli

    GET metodu müəyyən resursun məzmununu tələb etmək üçün istifadə olunur. POST metodu istifadəçi məlumatlarını müəyyən bir mənbəyə ötürmək üçün istifadə olunur. HEAD metodu adətən metaməlumatları əldə etmək, resursun mövcudluğunu yoxlamaq (URL doğrulaması) və sonuncu müraciətdən sonra onun dəyişib-dəyişmədiyini görmək üçün istifadə olunur. HEAD metodu GET metoduna bənzəyir, ancaq server cavabında heç bir cisim yoxdur. GET metodu POST-un sadələşdirilmiş versiyası hesab olunur, çünki GET metodu tam sorğu deyil, sadəcə URL-i nəzərdə tutur.

  5. REST, paylanmış proqram komponentlərinin şəbəkə üzərində qarşılıqlı əlaqəsinə dair memarlıq üslubudur. Termini 2000-ci ildə Roy Fieldinq təklif etmişdir. O, həmçinin REST arxitekturasına uyğun olmaq üçün paylanmış tətbiqetmənin təmin etməli olduğu tələbləri də təqdim etdi (belə tətbiqlərə RESTful da deyilir). Bunlar tələblərdir:

    1. Müştəri-Server modeli (o deməkdir ki, şəbəkə müştəri və serverdən ibarət olmalıdır; server resurslara malik olandır, müştəri onları tələb edəndir))
    2. Vətəndaşlığı olmayan (nə müştəri, nə də server bir-birinin vəziyyətini izləmir deməkdir)
    3. Keşləmə (müştərilər və aralıq qovşaqlar sorğuların nəticələrini keşləyə bilər; müvafiq olaraq, server cavabları açıq və ya gizli şəkildə keşləşdirilə bilən və ya keşlənməyən kimi təyin edilməlidir)
    4. İnterfeys vahidliyi (sistemin bütövlüyünü pozmadan onları dəyişdirməyə və ya dəyişdirməyə imkan verən müştərilər və serverlər arasında ümumi qarşılıqlı əlaqə dilinin olması deməkdir):
      • Resurs tərifi (hər bir resurs davamlı identifikatorla müəyyən edilməlidir)
      • Nümayəndəlik vasitəsilə resursun idarə edilməsi (o deməkdir ki, müştəri resursu təqdimat şəklində saxlayır və resursu dəyişdirmək istəsə, bu resursu necə görmək istədiyi barədə serverə məlumat göndərir; server bunu təklif olaraq tələb edir və saxlanılan resursla nə edəcəyinə özü qərar verir)
      • Öz-özünə məzmunlu mesajlar (hər bir mesajın necə işlənəcəyini anlamaq üçün kifayət qədər məlumat var)
      • Hipermedia (müştərilərin sistem vəziyyətini yalnız hipermediada serverə dinamik olaraq təyin olunan hərəkətlər vasitəsilə dəyişməsi deməkdir)
      • Layer sistemi (o deməkdir ki, sistemin ikidən çox təbəqəsi (müştəri və server) ola bilər və belə təbəqələrin hər biri yalnız qonşu təbəqələri bilir, digər təbəqələri isə bilmir və yalnız qonşu təbəqələrlə qarşılıqlı əlaqədə olur)
      • Tələb üzrə kod (o deməkdir ki, müştərinin funksionallığı serverdən proqramlar və ya skriptlər şəklində kodu endirməklə genişləndirilə bilər)

      Bu tələblərin ödənilməsi bizə aşağıdakılara nail olmağa imkan verir:

      • Etibarlılıq
      • Performans
      • Ölçeklenebilirlik
      • Qarşılıqlı əlaqənin şəffaflığı
      • İnterfeyslərin sadəliyi
      • Komponentlərin daşınması
      • Dəyişikliklər etmək asanlığı
      • Способность эволюционировать, приспосабливаясь к новым требованиям
  6. Он нужен для более удобной работы с датой и временем. Он позволяет работать с датой в рамках календаря, то есть позволяет прибавлять и отнимать дни от Howой-то конкретной даты, причём будут учитывать и високосные года. Кроме того, он позволяет представить время миллисекундах в удобном виде - год, месяц, день, часы, minutesы, секунды. Также есть много методов для установки и получения разных параметров даты и времени, например: день недели, день месяца, день в году, номер недели в месяце, номер недели в году.
  7. Для этого существует удобный класс SimpleDateFormat. Экземпляру этого класс можно передать шаблон представления даты, и тогда он в таком виде будет возвращать date (в формате строки String), либо считывать date (из строки String). Выглядит это всё следующим образом:

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

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

  10. Главное отличие в том, что класс URL предназначен для работы с URL-строкой (парсинг URL-строки), а Socket используется для соединения с удалённым serverом и отправки информации на server и/or приёма информации от serverа (хотя, используя класс URL, можно получить доступ к ресурсу, на который указывает сам URL; но делается это не напрямую, а через an object класса URLConnection). Также, если смотреть в общем, то Socket используется для связи с serverом (другой программой), а URL — для доступа к ресурсу (например, к файлу). Кроме того, URL и URLConnection ориентированы в основном на работу с HTTP, тогда How Socket может работать с любыми протоколами.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION