Библиотека джависта | 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
加入频道
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, который указывает на то, что класс поддерживает механизм клонирования.
#вопросы_с_собеседований
Почему нельзя объявить метод интерфейса с модификатором final?

В случае интерфейсов указание модификатора final бессмысленно, т.к. все методы интерфейсов неявно объявляются как абстрактные, т.е. их невозможно выполнить, не реализовав где-то еще, а этого нельзя будет сделать, если у метода идентификатор final.
#вопросы_с_собеседований
Зачем нужны и какие бывают блоки инициализации?

Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.

• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
Что имеет более высокий уровень абстракции?
Anonymous Quiz
4%
Класс
15%
Абстрактный класс
80%
Интерфейс
#вопросы_с_собеседований
К каким конструкциям применим модификатор static?

☕️ поля;
☕️ методы;
☕️ вложенные классы;
☕️ члены секции import.
#вопросы_с_собеседований
Объясните смысл параметров в конструкторе HashMap(int initialCapacity, float loadFactor).
☕️ initialCapacity - исходный размер HashMap, количество корзин в хэш-таблице в момент её создания.
☕️ loadFactor - коэффициент заполнения HashMap, при превышении которого происходит увеличение количества корзин и автоматическое перехэширование. Равен отношению числа уже хранимых элементов в таблице к её размеру.