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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Начни карьеру востребованного Java разработчика с наставниками из Java Mentor. Гарантированное трудоустройство в IT и оплата только за результат, когда начнешь работать.

Пройти входное тестирование: https://clck.ru/SDmoi

Тебя ждет высокая зарплата в топовых компаниях Москвы и минимум 10 предложений о работе. А еще 2 года карьерной поддержки с бесплатной возможностью принимать участие в онлайн и оффлайн мероприятиях с экспертами рынка.
Ответ на вопрос

Такой последовательности выполнения можно достичь многими способами, например, просто воспользоваться методом join(), чтобы запустить поток в момент, когда другой уже закончит своё выполнение. Для реализации заданной последовательности, нужно запустить последний поток первым, и затем вызывать метод join() в обратном порядке, то есть Т3 вызывает Т2.join, а Т2 вызывает Т1.join, таким образом Т1 закончит выполнение первым, а Т3 последним.
#вопросы_с_собеседований
Будет ли работать HashMap, если все добавляемые ключи будут иметь одинаковый hashCode()?
Разбираем принципы работы Spring Framework!

В субботу, 12 декабря, состоится онлайн мастер-класс «Пишем свой DI-контейнер на Java», организованный IT-компанией MediaSoft и онлайн-университетом Skillbox.

В программе:
• Познакомимся со структурой современного Java-приложения;
• Разберемся, что такое зависимости, как с ними работать, и какие преимущества дает их внедрение;
• Рассмотрим принцип инверсии управления и как с его помощью снизить связность компонентов и улучшить модульность и расширяемость ПО;
• Реализуем собственный DI-контейнер;
• Рассмотрим практическое применение некоторых паттернов проектирования;
• Ответим на ваши вопросы.

Для кого: для разработчиков начального и среднего уровня. Подойдет как тем, кто только начинает разбираться со Spring, так и тем, кто уже уверенно работает с ним. Необходим опыт разработки на Java.

Когда: 12 декабря (суббота), 12:00-15:00 по московскому времени

Для участия необходимо зарегистрироваться 👈
#вопросы_с_собеседований
Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?
Если очередь пула потоков заполнилась, то поданная задача будет «отклонена». Например - метод submit() у ThreadPoolExecutor выкидывает RejectedExecutionException, после которого вызывается RejectedExecutionHandler.
#вопросы_с_собеседований
1. Что произойдет при вызове Iterator.next() без предварительного вызова Iterator.hasNext()?
2. Сколько элементов будет пропущено, если Iterator.next() будет вызван после 10-ти вызовов Iterator.hasNext()?
1. Если итератор указывает на последний элемент коллекции, то возникнет исключение NoSuchElementException, иначе будет возвращен следующий элемент.
2. Нисколько - hasNext() осуществляет только проверку наличия следующего элемента.
#вопросы_с_собеседований
Какими свойствами обладает порождаемое equals() отношение эквивалентности?
☕️ Рефлексивность: для любой ссылки на значение x, x.equals(x) вернет true;
☕️ Симметричность: для любых ссылок на значения x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.
☕️ Транзитивность: для любых ссылок на значения x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;
☕️ Непротиворечивость: для любых ссылок на значения х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.

Для любой ненулевой ссылки на значение х выражение х.equals(null) должно возвращать false.
JDBC URL состоит из:

☕️ <protocol>: (протокола) - всегда jdbc:.
☕️ <subprotocol>: (подпротокола) - это имя драйвера или имя механизма соединения с базой данных. Подпротокол может поддерживаться одним или несколькими драйверами. Лежащий на поверхности пример подпротокола - это "odbc", отведенный для URL, обозначающих имя источника данных ODBC. В случае необходимости использовать сервис имен (т.е. имя базы данных в JDBC URL не будет действительным именем базы данных), то подпротоколом может выступать сервис имен.
☕️ <subname> (подимени) - это идентификатор базы данных. Значение подимени может менятся в зависимости от подпротокола, и может также иметь под-подимя с синтаксисом, определяемым разработчиком драйвера. Назначение подимени - это предоставление всей информации, необходимой для поиска базы данных. Например, если база данных находится в Интернет, то в состав подимени JDBC URL должен быть включен сетевой адрес, подчиняющийся следующим соглашениям: //<hostname>:<port>/<subsubname.

Пример JDBC URL для подключения к MySQL базе данных «Test» расположенной по адресу localhost и ожидающей соединений по порту 3306: jdbc:mysql://localhost:3306/Test
#вопросы_с_собеседований
Опишите основные этапы работы с базой данных при использовании JDBC.
#вакансия #Java #Spring #middle #senior #Москва #офис #удалённо

Позиция: Java разработчик
Компания: Компания Страховой Дом ВСК
Локация: Москва
Формат работы: офис или удалённо
Занятость: полная
З\п: 150 000 - 210 000 ₽/мес
Контакт: @maximvolkov89

Компания САО "ВСК" - топ 10 компаний лидеров на рынке страхового бизнеса. В штате порядка 7 тыс. сотрудников, в IT-подразделении более 500 сотрудников.

Ищем в команду Ведущего разработчика Java на дистанционное направление (Интернет магазин, Мобильное приложение, Мидл система) - автоматизации новых продуктов страхования, интеграций с внешними и внутренними сервисами, а так же внутренними системами Компании (back).

Перспективы проекта – полностью новый технологический стек, современные подходы в работе, глобальное изменение ИТ-ландшафта компании, в которой процессы разработки значительно упростятся.

Что предстоит делать:

- Разработка высокопроизводительного бэкенда;
- Интеграция со сторонними сервисами компании;
- Распил монолита на отдельные модули.

Стэк: Java 11, Apache Karaf, OSGI, Spring Boot, PostgreSQL, Camunda BPM, Docker, Elasticsearch.
Что нужно уметь

Что нужно уметь:

- Опыт работы с Java;
- Опыт работы с Apache Camel\Karaf, OSGI;
- Знания Core Java и Spring Framework;
- Опыт работы с одним из тестовых Framework: Junit, TestNG, Mockito;
- Опыт работы с базами данных PostgreSQL;

Условия и преимущества

- Оформление по ТК РФ.
- Официальная зп.
- Система премирования: до 2-х окладов в год.
- Корпоративный транспорт от м. Кунцевская/ м. Полежаевская.
- Возможность дистанционной работы фултайм.
- ДМС.
☕️ Регистрация драйверов;
☕️ Установление соединения с базой данных;
☕️ Создание запроса(ов) к базе данных;
☕️ Выполнение запроса(ов) к базе данных;
☕️ Обработка результата(ов);
☕️ Закрытие соединения с базой данных.
#вопросы_с_собеседований
При помощи чего формируются запросы к базе данных?
Для выполнения запросов к базе данных в Java используются три интерфейса:

☕️ java.sql.Statement - для операторов SQL без параметров;
☕️ java.sql.PreparedStatement - для операторов SQL с параметрами и часто выполняемых операторов;
☕️ java.sql.CallableStatement - для исполнения хранимых в базе процедур.

Объекты-носители интерфейсов создаются при помощи методов объекта java.sql.Connection:

☕️ java.sql.createStatement() возвращает объект Statement;
☕️ java.sql.prepareStatement() возвращает объект PreparedStatement;
☕️ java.sql.prepareCall() возвращает объект CallableStatement;
🎄2021 год – самое время стать Java-разработчиком

Повысь свой левел от нуля до Junior-а с интерактивным курсом JavaRush. На JavaRush ты найдешь 1200+ практических задач, автопроверку решений и даже онлайн-стажировку.

А еще курс адаптируется под тебя.

Если ты совсем новичок – будет много деталей и объяснений, если ты чуть более продвинутый джавист – то получишь только hardcore-задачи. Если любишь учиться, развлекаясь – лови острый сюжет и игровой формат, а если хочешь исключительно серьезного контента – то для тебя есть сухая выжимка сути.

Писать код ты будешь уже с первого урока. В любом из вариантов :)

Регистрируйся и воплощай мечту стать Java-программистом: ссылка.

Сейчас действует скидка 50% на все годовые пакеты. Попробовать можно бесплатно.
#вопросы_с_собеседований
Как поделиться данными между двумя потоками?