View on GitHub

java-interview

Вопросы для собеседования на разработчика Java

Вопросы для собеседования

Основы сетей

Какие существуют уровни модели OSI?

# Уровень (layer) Тип данных (PDU) Функции Примеры
7 Прикладной (application) - Доступ к сетевым службам HTTP, FTP
6 Представительский (представления) (presentation) - Представление и шифрование данных ASCII, JPEG
5 Сеансовый (session) - Управление сеансом связи RPC, PAP
4 Транспортный (transport) Сегменты(segment) / Дейтаграммы(datagram) Прямая связь между конечными пунктами и надежность TCP, UDP
3 Сетевой (network) Пакеты (packet) Определение маршрута и логическая адресация IP, AppleTalk
2 Канальный (data link) Биты (bit) / Кадры (frame) Физическая адресация Ethernet, IEEE 802.2, L2TP
1 Физический (physical) Биты (bit) Работа со средой передачи, сигналами и двоичными данными USB, витая пара

к оглавлению

Что такое TCP/IP?

TCP/IP - это два основных сетевых протокола Internet. Часто это название используют и для обозначения сетей, работающих на их основе.

IP (Internet Protocol) - маршрутизируемый протокол, отвечающий за IP-адресацию, маршрутизацию, фрагментацию и восстановление пакетов. В его задачу входит продвижение пакета между сетями – от одного маршрутизатора до другого и тех пор, пока пакет не попадет в сеть назначения. В отличие от протоколов прикладного и транспортного уровней, протокол IP разворачивается не только на хостах, но и на всех шлюзах (маршрутизаторах). Этот протокол работает без установления соединения и без гарантированной доставки.

В настоящее время используются следующие две версии протокола IP:

TCP (Transfer Control Protocol) - протокол, обеспечивающий надежную, требующую логического соединения связь между двумя компьютерами. Отвечает за установление соединения, упорядочивание посылаемых пакетов и восстановление пакетов, потерянных в процессе передачи.

Стек протоколов TCP/IP включает в себя четыре уровня:

  1. канальный уровень (link layer) - например Ethernet, IEEE 802.11 Wireless Ethernet, физическая среда и принципы кодирования информации
  2. сетевой уровень (Internet layer) - например IP
  3. транспортный уровень (transport layer) - например TCP, UDP
  4. прикладной уровень (application layer) - например HTTP, FTP, DNS

TCP-соединение двух узлов начинается с handshake (рукопожатия):

После этого TCP соединение считается установленным и приложения, работающие в этих узлах, могут посылать друг другу пакеты с данными.

В заголовке TCP/IP пакета указывается:

к оглавлению

Что такое UDP?

UDP, User Datagram Protocol (Протокол пользовательских датаграмм) — протокол, который обеспечивает доставку без требований соединения с удаленным модулем UDP и обязательного подтверждения получения.

К заголовку IP-пакета UDP добавляет всего четыре поля по 2 байта каждое:

  1. поле порта источника (source port)
  2. поле порта пункта назначения (destination port)
  3. поле длины (length)
  4. поле контрольной суммы (checksum)

Поля «порт источника» и «контрольная сумма» не являются обязательными для использования в IPv4. В IPv6 необязательно только поле «порт отправителя».

UDP используется DNS, SNMP, DHCP и другими приложениями.

к оглавлению

Чем отличаются TCP и UDP?

TCP — ориентированный на соединение протокол, что означает необходимость «рукопожатия» для установки соединения между двумя хостами. Как только соединение установлено, пользователи могут отправлять данные в обоих направлениях.

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

к оглавлению

Что такое протокол передачи данных? Какие протоколы вы знаете?

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

Наиболее известные протоколы передачи данных:

к оглавлению

Вопросы для собеседования