303 просмотра
От 12 октября 2023

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

1. Различия протоколов TCP и UDP

TCP – транспортный протокол передачи данных в сетях TCP/IP, предварительно устанавливающий соединение с сетью. UDP – транспортный протокол, передающий сообщения-датаграммы без необходимости установки соединения в IP-сети. Разница между протоколами TCP и UDP – в так называемой "гарантии доставки". TCP требует отклика от клиента, которому доставлен пакет данных, подтверждения доставки, и для этого ему необходимо установленное заранее соединение. Также протокол TCP считается надежным, тогда как UDP получил даже именование “протокол ненадежных датаграмм. TCP исключает потери данных, дублирование и перемешивание пакетов, задержки. UDP все это допускает, и соединение для работы ему не требуется. Процессы, которым данные передаются по UDP, должны обходиться полученным, даже и с потерями. TCP контролирует загруженность соединения, UDP не контролирует ничего, кроме целостности полученных датаграмм.

2. Что такое HTTP и HTTPS?

HTTP (от англ. HyperText Transfer Protocol — протокол передачи гипертекста) — это прикладной протокол передачи данных в сети. На текущий момент используется для получения информации с веб-сайтов. Протокол HTTP основан на использовании технологии «клиент-сервер»: клиент, отправляющий запрос, является инициатором соединения; сервер, получающий запрос, выполняет его и отправляет клиенту результат. HTTPS (от англ. HyperText Transfer Protocol Secure — безопасный протокол передачи гипертекста) — это расширение протокола HTTP, поддерживающее шифрование посредством криптографических протоколов SSL и TLS. Чем отличаются HTTP и HTTPS: - HTTPS не является отдельным протоколом передачи данных, а представляет собой расширение протокола HTTP с надстройкой шифрования; - передаваемые по протоколу HTTP данные не защищены, HTTPS обеспечивает конфиденциальность информации путем ее шифрования; - HTTP использует порт 80, HTTPS — порт 443.

3. Какие HTTP-запросы вы знаете?

HTTP определяет множество методов запроса, которые указывают, какое желаемое действие выполнится для данного ресурса. Несмотря на то, что их названия могут быть существительными, эти методы запроса иногда называются HTTP глаголами. Каждый реализует свою семантику, но каждая группа команд разделяет общие свойства: так, методы могут быть безопасными, идемпотентными или кешируемыми. GET запрашивает представление ресурса. Запросы с использованием этого метода могут только получать данные. HEAD запрашивает ресурс так же, как и метод GET, но без тела ответа. POST используется для отправки сущностей к определённому ресурсу. Часто вызывает изменение состояния или какие-то сайд-эффекты на сервере. PUT заменяет все текущие представления ресурса данными запроса. DELETE удаляет указанный ресурс. CONNECT устанавливает "туннель" к серверу, определённому по ресурсу. OPTIONS используется для описания параметров соединения с ресурсом. TRACE выполняет вызов возвращаемого тестового сообщения с ресурса. PATCH используется для частичного изменения ресурса.

4. Разница между HTTP/1.1 и HTTP/2?

В отличие от HTTP/1.1, в котором все запросы и ответы хранятся в простом текстовом формате, HTTP/2 использует двоичный уровень кадрирования для инкапсуляции всех сообщений в двоичном формате, при этом сохраняя семантику HTTP (методы, заголовки). API прикладного уровня по-прежнему создает сообщения в обычных форматах HTTP, но нижележащий уровень преобразовывает эти сообщения в двоичные. Благодаря этому веб-приложения, созданные до HTTP/2, могут продолжать работать как обычно при взаимодействии с новым протоколом. Преобразование сообщений в двоичные позволяет HTTP/2 применять новые подходы к доставке данных, недоступные в HTTP/1.1.

5. Что такое SSL и TLS?

Поддержите проект и получите доступ ко всему контенту всего за 290

6. Что такое трёхстороннее рукопожатие?

Поддержите проект и получите доступ ко всему контенту всего за 290

7. Что такое Cookie?

Поддержите проект и получите доступ ко всему контенту всего за 290

8. Что такое CORS?

Поддержите проект и получите доступ ко всему контенту всего за 290

9. Что такое WebSocket?

Поддержите проект и получите доступ ко всему контенту всего за 290

10. Что такое WebRTC?

Поддержите проект и получите доступ ко всему контенту всего за 290

11. Что такое NAT?

Поддержите проект и получите доступ ко всему контенту всего за 290
Хотите стать частью сообщества Девстанции?
Вступайте в наш чат в Telegram

Также в этой категории

Шпаргалка
  13 вопросов

Общие принципы и понятия ООП

Вопросы для собеседования по теме ООП

255 просмотров
От 7 октября 2023
Шпаргалка
  28 вопросов

Паттерны проектирования с примерами

Раскрытие на примерах почти всех паттернов проектирования

322 просмотра
От 7 октября 2023
Шпаргалка
  15 вопросов

Шпаргалка по Domain-Driven Design

Вопросы и ответы про предметно-ориентированное проектирование

234 просмотра
От 27 января
Шпаргалка
  12 вопросов

Операционные системы: базовые понятия

Потоки, процессы, конкурентность и прочие понятия из мира ОС

256 просмотров
От 27 января

Вам может быть интересно

Шпаргалка
  60 вопросов

60 вопросов про базы данных и SQL

Вопросы и ответы с собеседования по базам данных и SQL

413 просмотров
От 20 февраля
Шпаргалка
  10 вопросов

Всё о репликации баз данных

Описание понятий и процессов репликации БД

269 просмотров
От 8 октября 2023
Шпаргалка
  7 вопросов

Коллекция полезных команд для Docker

Большая шпаргалка по всем командам Docker

266 просмотров
От 12 октября 2023
Шпаргалка
  11 вопросов

Теория шардинга баз данных

О распределении данных между серверами

314 просмотров
От 10 октября 2023

Топ тредов

Gravatar for 9tokio
Tokio:
то что раньше было бесплатным теперь платное - вот это я понимаю

Последнее сообщение:
Логотип Девстанции
Девстанция:
Спасибо за поддержку проекта :) Повышение качества контента - один из важнейших приоритетов. Этому м...
3 сообщения
270 просмотров

Логотип Девстанции
Девстанция:
Поиск людей для совместной разработки IT-стартапов

Последнее сообщение:
В этом треде пока нет сообщений
0 сообщений
141 просмотр

Логотип Девстанции
Девстанция:
Какой язык программирования выбрать в качестве первого?

Последнее сообщение:
Gravatar for 2kokke
Kokke:
Python или JS - универсально. Но по уму надо бы с чего-то строгого начинать и достаточно низкоуровне...
1 сообщение
176 просмотров

Все категории