В этом видео разберем одну из типичных задач на собеседовании junior java или junior javascript разработчика. Я покажу вам некоторые фишки, которые позволят лучше проходить кодинг интервью, а также покажу техническое решение задачи.
Обновленная версия лекции с более качественным звуком.
IP-адреса — это глобальные адреса, используемые в стеке протоколов TCP/IP. Широко используются в Интернет.
Используются для уникальной идентификации компьютеров в составной сети.
Существует две версии протокола IP:
— IPv4: адрес 4 байта
— IPv6: адрес 16 байт
Длина адреса IPv4 – 4 байта, 32 бита.
Форма представления: 4 десятичных числа 0-255, разделенных точками.
Подсеть (IP-сеть, сеть, subnet) – множество компьютеров, у которых старшая часть IP-адреса одинаковая.
Структура IP-адреса:
— Номер подсети – старшие биты
— Номер хоста (компьютера в сети) – младшие биты
Маска подсети показывает, где в IP-адресе номер сети, а где хоста. Структура маски:
— Длина 32 бита.
— Единицы в позициях, задающих номер сети.
— Нули в позициях, задающих номер хоста.
Формы записи маски:
— Десятичное
— В виде префикса
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках — goo.gl/kW93MA
Основу подхода заложили два японских специалиста Hirotaka Takeuchi, Ikujiro Nonaka в статье The New New Product Development Game, от 1996 год. В статье обобщили опыт нескольких японских корпораций (Xerox, Toyota, Nec и другие), работающих с принципиально новыми продуктами. Ключевая идея статья заключалась в формировании самоорганизующихся команд, которые делают короткие итерации, автономны от других, мотивированы на результат командными целями, и повышает мастерство друг друга делясь друг с другом опытом.
С течением времени под этот подход формировалось все больше и больше проектных методик, пока в 2001 году на горнолыжном курорте не произошла встреча 17 специалистов по разработке ПО. На этой встрече была сформирована общая система ценностей по управлению проектами, в дальнейшем получившая название Agile – манифеста. 4 ценности и 12 принципов легли в основу множества методов согласно подходу Agile.
1. Люди и взаимодействие важнее процессов и инструментов;
2. Работающий продукт важнее исчерпывающей документации;
3. Сотрудничество с заказчиком важнее согласования условий контракта;
4. Готовность к изменениям важнее следования первоначальному плану.
Таким образом, не отрицая важности того, что справа, всё-таки больше ценится то, что слева.
C 2001 подход Agile существенно расширил свои границы и вышел за пределы IT-бизнеса. Теперь под зонтиком Agile находятся многие управленческие и инженерные фреймворки по управлению проектами, формируя зонтик Agile. Под этот зонтик попадают подходы Scrum и Kanban, Crystal и экстремальное программирование (XP), а также другие системы управления и инженерные практики.
Важно понимать, что Agile подходы работают не всегда, и Дейвом Снойденом была разработана Кеневин модель, которая показывает, что использовать экспериментальные практики, коими являются подходы Agile, можно в ситуациях, когда не до конца очевидны причинно-следствие связи проекта, цель представляет собой скорее видение, образ, а стоимость переделок не запредельно высока.
Тем ни менее, в случае инноваций и проектов с высокой степенью неопределенности, подходы Agile являются наилучшими из существующих в современном мире.
Модель TCP/IP – одна из двух эталонных моделей организации сетей, которые популярны в настоящее время. Это фактический (de facto) стандарт на основе стека протоколов TCP/IP. Модель TCP/IP описывает, как нужно строить сети на основе разных технологий, чтобы в них работал стек TCP/IP.
Модель содержит 4 уровня:
— Сетевых интерфейсов
— Интернет
— Транспортный
— Прикладной
По назначению уровни похожи на уровни модели взаимодействия открытых систем ISO OSI.
Уровень сетевых интерфейсов обеспечивает интеграцию стека TCP/IP с существующими сетевыми технологиями Ethernet, Wi-Fi и др. Уровень интернет (аналог сетевого уровня OSI) нужен для объединения сетей, построенных на основе разных сетевых технологий, и поиска маршрута в крупной составной сети. Транспортный уровень, как и в модели OSI, обеспечивает связь между процессами на разных компьютерах сети.
В прикладном уровне модели TCP/IP сочетаются функции уровней сеансового, представления и прикладного модели OSI. Считается, что если приложению TCP/IP нужны возможности сеансового уровня, или уровня представления, то оно должно самостоятельно их реализовать.
Стек протоколов TCP/IP – наиболее популярный набор сетевых протоколов в настоящее время. Он является основой интернет и широко используется.