Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.87K photos
38 videos
42 files
2.65K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Для создания собственного протокола сериализации достаточно реализовать интерфейс Externalizable, который содержит два метода:

public void writeExternal(ObjectOutput out) throws IOException;
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;
#вопросы_с_собеседований
Какие основные методы присутствуют в классе HttpServlet?
☕️ doGet() - для обработки HTTP запросов GET;
☕️ doPost() - для обработки HTTP запросов POST;
☕️ doPut() - для обработки HTTP запросов PUT;
☕️ doDelete() - для обработки HTTP запросов DELETE;
☕️ doHead() - для обработки HTTP запросов HEAD;
☕️ doOptions() - для обработки HTTP запросов OPTIONS;
☕️ doTrace() - для обработки HTTP запросов TRACE.
Твой друг — опытный Java-разработчик?
Порекомендуй его на работу в Сбере и получи 80 000 рублей!

Мы ищем специалиста уровня Middle или Senior с опытом от 2 лет. Вакансии открыты в Москве, Санкт-Петербурге и Новосибирске.

Как получить вознаграждение:
1) отправь контакты друга,
2) дождись, пока он пройдёт отбор и испытательный срок,
3) получи 80 000 рублей!

Узнать подробности и порекомендовать друга: https://u.to/zBwCHA
Приведите примеры поведенческих шаблонов проектирования.

Цепочка обязанностей (Chain of responsibility) - Предназначен для организации в системе уровней ответственности.
Команда (Command) - Представляет действие. Объект команды заключает в себе само действие и его параметры.
Интерпретатор (Interpreter) - Решает часто встречающуюся, но подверженную изменениям, задачу.
Итератор (Iterator) - Представляет собой объект, позволяющий получить последовательный доступ к элементам объекта-агрегата без использования описаний каждого + из объектов, входящих в состав агрегации.
Посредник (Mediator) - Обеспечивает взаимодействие множества объектов, формируя при этом слабую связанность и избавляя объекты от необходимости явно ссылаться друг на друга.
Хранитель (Memento) - Позволяет, не нарушая инкапсуляцию зафиксировать и сохранить внутренние состояния объекта так, чтобы позднее восстановить его в этих состояниях.
Наблюдатель (Observer) - Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом событии.
Состояние (State) - Используется в тех случаях, когда во время выполнения программы объект должен менять своё поведение в зависимости от своего состояния.
Стратегия (Strategy) - Предназначен для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости.
Шаблонный метод (Template method) - Определяет основу алгоритма и позволяет наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом.
Посетитель (Visitor) - Описывает операцию, которая выполняется над объектами других классов. При изменении класса Visitor нет необходимости изменять обслуживаемые классы.
Мы ищем человека в команду контента на позицию саппорта на курс "Backend"

- Это парт-тайм работа, на моменте запуска курса она будет занимать где-то 4-5 часа в день в зависимости от количества задач, когда все будет готово, где-то 2-3

### Обязанности:

- Отвечать на вопросы студентов, которые касаются заданий и их решений
- Выполнение контент задач (написание конспектов по лекциям, дублирование их в Notion и на образовательную платформу, наполнение LMS материалами курса от преподавателей, ревью контента)

### Требования:

- Владеть базовыми инструментами для прохождения курса. С перечнем требований можно ознакомиться на сайте:

Backend | karpov.courses

- Иметь опыт работы в сфере Backend
- Знать Java
- Быть на связи в течение рабочего дня
- Быть заинтересованным в работе в сфере онлайн обучения
- Также быть заинтересованным в прохождении курса, так как обязательно надо будет его прорешать 😉

ЗП: по договоренности

Бонус: саппорт сможет бесплатно пройти наш курс

Отправить резюме: @malikovaj
📈 Big O нотация: что это такое и почему ее обязательно нужно знать каждому программисту

Чем отличается структура данных от абстрактного типа данных? Что такое Big O нотация и как ее применять? Мы постарались ответить на эти вопросы в данной статье.

https://proglib.io/sh/UTxeVEoj27
Что такое Dependency Injection?

Dependency Injection (внедрение зависимости) - это набор паттернов и принципов разработки програмного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.
Как пройти техническое интервью на позицию Java?
Расскажем на митапе Luxoft LoGeek night 24 февраля

Техническое интервью – это способ продемонстрировать свою экспертизу и таланты или очередной повод для волнения? На предстоящем online-митапе мы не только ответим на этот вопрос, но и расскажем:
− как показать себя с лучшей стороны;
− какие ошибки на интервью наиболее распространены, и как их избежать;
− о чем вас обязательно спросят на интервью и многое другое.

Узнать больше и зарегистрироваться можно по ссылке.

Следите за анонсами митапов, вакансиями и другими новостями в телеграм-канале Luxoft
#вопросы_с_собеседований
Что такое ООП?

Объектно-ориентированное программирование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

• объектно-ориентированное программирование использует в качестве основных логических конструктивных элементов объекты, а не алгоритмы;
• каждый объект является экземпляром определенного класса
• классы образуют иерархии.

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

Согласно парадигме ООП программа состоит из объектов, обменивающихся сообщениями. Объекты могут обладать состоянием, единственный способ изменить состояние объекта - послать ему сообщение, в ответ на которое, объект может изменить собственное состояние.
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Чем полезны неизменяемые объекты?
Неизменяемость (immutability) помогает облегчить написание многопоточного кода. Неизменяемый объект может быть использован без какой-либо синхронизации. К сожалению в Java нет аннотации @ Immutable, которая делает объект неизменяемым, для этого разработчикам нужно самим создавать класс с необходимыми характеристиками. Для этого необходимо следовать некоторым общим принципам: инициализация всех полей только конструкторе, отсутствие методов setX() вносящих изменения в поля класса, отсутствие утечек ссылки, организация отдельного хранилища копий изменяемых объектов и т.д.
🔥 Senior Backend Hiring Week: оффер в EPAM за 24 часа и welcome-бонус 
Мы приглашаем опытных Backend-разработчиков присоединиться к команде EPAM за 24 часа. Никаких многодневных интервью - мы ценим ваше и свое время, поэтому вы пообщаетесь только с теми, кто имеет непосредственное отношение к проектам. Если мы подходим друг другу, вы получите оффер в течение суток, а еще дополнительный welcome-бонус в размере оклада.

Преимущества работы в EPAM
Вы сможете поработать с крупными международными проектами из разных отраслей: медицины, финтеха, торговли, Life Sciences, Big Data. Мы помогаем пройти сертификацию (AWS, Azure, GCP) и предлагаем программы повышения квалификации – Delivery Management School и Solution Architecture School.  

Что еще мы предлагаем:
Карьерный рост в треке Advanced Software Engineer, если вы любите писать код и не видите себя в роли менеджера. 
Реализацию амбициозных идей: от проработки архитектуры до внедрения в эксплуатацию. 
Гибкость в выборе проектов и задач, ориентированную на интересы и цели развития каждого разработчика. 
Уважение к личным границам и личному времени. 
ДМС со стоматологией с первого дня работы.

Ждем вас в EPAM!
https://epa.ms/senior-backend-hiring-week-49
За что отвечает JVM:
• Загрузка, проверка и исполнение байт кода;
• Предоставление среды выполнения для выполнения байт-кода;
• Управление памятью и очисткой мусора (Garbage collection);
Виртуальная машина Java (Java Virtual Machine) - это механизм, предоставляющий среду выполнения для управления Java-кодом или приложениями. Виртуальная машина является независимой оболочкой исполнения кода, благодаря которой возможен её запуск на любой ОС, без влияния ОС на выполняемую программу.

JVM работает с 2мя типами данных: примитивные типы (primitive types) и ссылочные типы (reference types).

Примитивы

JVM работает с примитивными значениями (целыми числами и числами с плавающей точкой). По сути, JVM - это 32-битная машина. Типы long и double, которые являются 64-битными, поддерживаются изначально, но занимают две единицы памяти в frame's local или стеке операндов, поскольку каждая единица составляет 32 бита. Типы boolean, byte, short и char имеют расширенный знак (кроме char с нулевым расширением) и работают как 32-разрядные целые числа, так же, как и типы int. Меньшие типы имеют только несколько специфических для типа инструкций для загрузки, хранения и преобразования типов. boolean значение работает как 8-битное byte значения, где 0 представляет значение false, а 1 - значение true.

Типы ссылок и значения

Существует три типа ссылочных типов: типы классов, типы массивов и типы интерфейсов. Их значения являются ссылками на динамически создаваемые экземпляры классов, массивы или экземпляры классов, которые реализуют интерфейсы соответственно.
🏗 Поведенческие шаблоны проектирования: назначение, структура, примеры использования

Как создавать приложения, которые легко поддерживать и масштабировать: подробный разбор поведенческих шаблонов.

https://proglib.io/sh/Ds0el3ICQk
Канал Java – заметки разработчика о своем опыте в IT:

- тонкости программирования на Java;
- случаи из реальной жизни;
- подборки полезных материалов;
- литература для совершенствования навыков.

Подписывайся: @Coding_Java
«Первые шаги в JavaScript» — создайте сайт и приложение за 3 дня

На бесплатном интенсиве Нетологии вы познакомитесь с разработкой на JavaScript и с нуля создадите сайт и мобильное приложение — гайд по персонажам вселенной Marvel. А ещё получите рекомендации от экспертов по самостоятельной доработке проекта. Интенсив для тех, у кого нет опыта в разработке. 

Попробуйте себя в роли разработчика и проверьте, насколько эта профессия вам подходит.  

Зарегистрироваться на интенсив: https://netolo.gy/hGB
Международная компания Lineate ищет java-разработчика с опытом построения backend на Spring Framework и развитыми коммуникативными навыками.

От вас:

- профессиональное владение инструментами Spring Boot, Spring Data, Spring Batch, Netty (Async IO);
- опыт работы с SQL / NoSQL базами данных;
- уровень английского языка не ниже Pre-intermediate.

От Lineate: возможность работать с иностранными заказчиками из России, комфортная рабочая среда, профессиональное развитие.

Переходите по ссылке и читайте о вакансии подробнее.

Написать рекрутеру @t_katya