Библиотека джависта | 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
加入频道
Устали ждать ответов после собеседований? Получите работу за один день на Java day offer

Международная компания Lineate ищет junior/middle-специалистов на проекты по разработке и внедрению высоконагруженных сервисов, систем сбора, управления, визуализации и анализа данных.

Работу можно получить за один день — запоминайте план действий.

1. Заполнить анкету на сайте и получить письмо с заданием.
2. Отправить тестовое до 22 февраля включительно.
3. Пройти два этапа интервью 26 февраля — ответ придет в тот же день.

От вас: опыт работы от двух лет, знания Spring Framework и готовность общаться с заказчиками на английском.

От Lineate: долгосрочные проекты, гибкий график, современный стек технологий, обучение и другое.

За подробностями переходите по ссылке.
🐘 Руководство по SQL для начинающих. Часть 1: создание базы данных, таблиц и установка связей между таблицами

Пошаговая инструкция по установке, настройке и наполнению базы данных PostgreSQL с помощью pgAdmin и SQL-запросов.

https://proglib.io/sh/7tl9sATS2f
Совместный митап X5 Tech и Слёрма по Keycloak

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

Мы не можем игнорировать это, поэтому вместе с коллегами из X5 Tech решили провести митап по Keycloak.

17 февраля в 19:00 по мск расскажем о возможностях и перспективах Keycloak, научим работать с кастомными плагинами и настраивать Token Exchange.

Кому будет полезно:
❗️DevOps-инженерам — поймёте, как минимизировать рутинные задачи.
❗️Разработчикам — узнаете, как ускорить разработку и сосредоточиться на фичах.
❗️Тимлидам и техническим директорам — сможете упростить реализацию защиты приложений.

Участие бесплатное — регистрируйтесь по ссылке: https://slurm.club/34Aluid
GitHub For Dummies (2019)
Авторы: Sarah Guthals, Phil Haack
Количество страниц: 368

После того, как вы изучите основы программирования, следующим шагом будут обмен опытом, обучение у других профессионалов в области программирования или совместная работа в группах разработчиков. GitHub - это сообщество для облегчения совместной работы над проектами, и GitHub For Dummies может стать следующим шагом в вашем пути в карьере разработчика. Эта книга, написанная инженером GitHub, содержит подробные сведения о том, как он работает и как вы можете использовать его, чтобы стать более эффективным, полезным и ценным членом любой команды разработчиков.

Скачать книгу
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Приведите примеры структурных шаблонов проектирования.
Адаптер (Adapter) — объект, обеспечивающий взаимодействие двух других объектов, один из которых использует, а другой предоставляет несовместимый с первым интерфейс.
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
#вопросы_с_собеседований
Как создать собственный протокол сериализации?
Для создания собственного протокола сериализации достаточно реализовать интерфейс 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