Библиотека джависта | 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
加入频道
🏗 Поведенческие шаблоны проектирования: назначение, структура, примеры использования

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

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
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований О чем говорит ключевое слово final?
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.

☕️ Класс не может иметь наследников;
☕️ Метод не может быть переопределен в классах-наследниках;
☕️ Поле не может изменить свое значение после инициализации;
☕️ Параметры методов не могут изменять своё значение внутри метода;
☕️ Локальные переменные не могут быть изменены после присвоения им значения.
Media is too big
VIEW IN TELEGRAM
Ищем разработчиков React, .NET, Devops, Angular, Vue, Node.js, Python, PHP, iOS, React Native, Java, Android, Ruby (и других) в международную IT-компанию Noveo!
Ты можешь работать в любом удобном формате, как в офисах Новосибирска, Москвы, Санкт-Петербурга, так и удаленно.
Мы предлагаем:
- крутые проекты разного уровня сложности;
- современный стек технологий;
- продуктовый подход в разработке.
Мы ждем от тебя:
- хорошее знание одной из перечисленных технологий (middle и выше);
- разговорный английский (мы занимаемся разработкой ПО для западноевропейского рынка).
Ждём резюме:
[email protected]
https://noveo.ru/3saJWyK
Контактное лицо в Telegram: @yuliapalkina
#вопросы_с_собеседований
Что вы знаете о функции main()?

Метод main() — точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка `Error: Main method not found`.
#вопросы_с_собеседований
Какие логические операции и операторы вы знаете?

& : Логическое AND (И);
&& : Сокращённое AND;
| : Логическое OR (ИЛИ);
|| : Сокращённое OR;
^ : Логическое XOR (исключающее OR (ИЛИ));
! : Логическое унарное NOT (НЕ);
&= : AND с присваиванием;
|= : OR с присваиванием;
^= : XOR с присваиванием;
== : Равно;
!= : Не равно;
?: : Тернарный (троичный) условный оператор.
Что такое тернарный оператор выбора?

Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.

Выражение записывается в следующей форме:

условие ? выражение1 : выражение2

Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.
Команда Kata Academy открыла новый набор на курс по Java.

В Kata можно изучить Java на реальных проектах и задачах за 8 месяцев с оплатой после трудоустройства. Студенты, успешно завершившие обучение, получают в среднем 3-5 предложений о работе. А если после него вы не устроитесь разработчиком с минимальной зарплатой в 100 тысяч рублей, по договору обучение для вас будет бесплатным.

Переходи и оставляй заявку, чтобы успеть на ближайший поток: https://clck.ru/bpEtT
Hiring Talents нужен Java-разработчик / Middle Java developer
г. Москва
Зарплата – ₽250-300К net
Контактное лицо – @MikhailRekrutto

Цели и задачи
• Поддержка и доработка существующих сервисов, проектирование и разработка новых сервисов;
• Технологический стек: Java 11, Spring (Core, Boot, MVC, Security), Hibernate, MS SQL / PostgreSQL.

Требования к кандидату
• Аналогичный опыт работы 1-3 года;
• Опыт администрирования unix-систем будет плюсом.

Подробнее
Текущие системы для поддержки и развития:
1. «AG Service» — сервис обработки геопространственных данных от GPS/Глонасс-трекеров, написанный на Java. Работает как промежуточное звено между БД MS SQL и другими компонентами. Обеспечивает, во-первых более высокую скорость обработки данных, а во-вторых имеет некоторый функционал, который недоступен в классических учетных системах 1С. Одна часть сервиса работает в виде "запрос-ответ" (предоставление "сырых" либо предварительно рассчитанных данных). Вторая часть постоянно отслеживает поступление новых данных по МО и аккумулирует их в своих таблицах.
2. «Картографический сервис OSM» — сервис визуализации на картах геопространственных данных по мобильным, стационарным объектам, служебным геозонам. Используется библиотека Leaflet.
3. Web площадки разной функциональности, реализованные на
Java 11 + Spring MVC (backend) + Apache Tiles (frontend).
Планируется большое развитие системы «AG Service» в полноценную системы Мониторинга, с генерацией тревожных событий, формирования данных для учетных и оперативных систем контроля. С использованием механизмов потоковой обработки данных и машинного обучения.
На все существующие разработки есть подробная тех. документация.
Наиболее используемые методы класса File:

☕️ boolean createNewFile(): делает попытку создать новый файл;
☕️ boolean delete(): делает попытку удалить каталог или файл;
☕️ boolean mkdir(): делает попытку создать новый каталог;
☕️ boolean renameTo(File dest): делает попытку переименовать файл или каталог;
☕️ boolean exists(): проверяет, существует ли файл или каталог;
☕️ String getAbsolutePath(): возвращает абсолютный путь для пути, переданного в конструктор объекта;
☕️ String getName(): возвращает краткое имя файла или каталога;
☕️ String getParent(): возвращает имя родительского каталога;
☕️ boolean isDirectory(): возвращает значение true, если по указанному пути располагается каталог;
☕️ boolean isFile(): возвращает значение true, если по указанному пути находится файл;
☕️ boolean isHidden(): возвращает значение true, если каталог или файл являются скрытыми;
☕️ long length(): возвращает размер файла в байтах;
☕️ long lastModified(): возвращает время последнего изменения файла или каталога;
☕️ String[] list(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге;
☕️ File[] listFiles(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге.
🔔Напоминаем, что у «Библиотеки программиста» существует курс по математике для Data Science, разработанный совместно с преподавателями ВМК МГУ, одного из лучших математических факультетов страны.

В конце курса вы будете владеть математическим аппаратом, который необходим, чтобы стать специалистом в Data Science. Курс идеально подходит к поступлению в ШАД или Computer Science Center.

Чтобы оставаться востребованным специалистом, никогда не забывайте учиться новому.

📚По промокоду DFA98MK действует скидка 20% на все тарифы до 4 марта.

Курс постоянно обновляется, ваш доступ остается с вами навсегда.

Посмотреть тарифы и записаться можно здесь.
Что из этого является ключевым словом?
Anonymous Quiz
13%
array
4%
none
27%
null
38%
goto
19%
true
#вопросы_с_собеседований
Дайте определение понятию «интерфейс». Какие модификаторы по умолчанию имеют поля и методы интерфейсов?

Ключевое слово interface используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как public.

Начиная с Java 8 в интерфейсах разрешается размещать реализацию методов по умолчанию default и статических static методов.

Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными public, статическими static и неизменяемыми final.
С нас полезные лекции и трудоустройство, с тебя – год опыта коммерческой разработки на Java.

Как все проходит?
На протяжении двух месяцев тебя будут обучать Senior’ы и Teamlead’ы ведущих банков страны. Обучение можно совмещать с работой.

Чему будут учить?
На курсе будем изучать базы данных, Spring, Kafka, Kubernetes и Istio. Помимо этого еще будут практические занятия, домашние задания и консультации с ментором.

Что будет после учебы?
Трудоустройство в Цифровые привычки. Ты будешь работать над высоконагруженными, отказоустойчивыми проектами.

Подать заявку на курс: https://cutt.ly/RAoCfcr
#вопросы_с_собеседований
Что такое JSON?

JSON, JavaScript Object Notation
— текстовый формат обмена данными, основанный на JavaScript.

JSON представляет собой (в закодированном виде) одну из двух структур:

☕️ Набор пар «ключ:значение»;
☕️ Упорядоченный набор значений.

Ключом может быть только строка (регистрозависимая: имена с буквами в разных регистрах считаются разными).

В качестве значений могут быть использованы:
☕️ Объект — неупорядоченное множество пар «ключ:значение», заключённое в фигурные скобки { }. Ключ описывается строкой, между ним и значением стоит символ :. Пары ключ-значение отделяются друг от друга запятыми;
☕️ Массив (одномерный) — упорядоченное множество значений. Массив заключается в квадратные скобки [ ]. Значения разделяются запятыми.
☕️ Число;
☕️ Литералы true, false и null;
☕️ Строка — упорядоченное множество из нуля или более символов Unicode, заключенное в кавычки " ". Символы могут быть указаны с использованием escape-последовательностей, начинающихся с обратной косой черты \, или записаны шестнадцатеричным кодом в кодировке UTF-8 в виде \uFFFF.
Почему в некоторых интерфейсах вообще не определяют методов?

Это так называемые маркерные интерфейсы. Они просто указывают что класс относится к определенному типу. Примером может послужить интерфейс Clonable, который указывает на то, что класс поддерживает механизм клонирования.