📓 Книги по Java
870 subscribers
340 photos
27 videos
5 files
835 links
📓 Книги по Java

Самый крутой канал c подборкой книг, статей, но и как без рекламы все в одном месте
По ворпосам размещения @qa_autom
Download Telegram
В чём заключается различие между методами submit() и execute() у пула потоков?

Оба метода являются способами подачи задачи в пул потоков, но между ними есть небольшая разница.

execute(Runnable command) определён в интерфейсе Executor и выполняет поданную задачу и ничего не возвращает.

submit() – перегруженный метод, определённый в интерфейсе ExecutorService. Способен принимать задачи типов Runnable и Callable и возвращать объект Future, который можно использовать для контроля и управления процессом выполнения, получения его результата.
#задача

О неединственном дубликате в массиве целых чисел

Условия
:
Дан лист целых чисел от 1 до 100. В нём есть дубликаты (больше одного). Как найти элементы, которые встречаются больше одного раза (найти сам элемент и указать, сколько раз он встречается)?
Java Developer (Middle)
#полныйдень #удаленка
Компания: Иннотех

Вместе с нами тебе предстоит:
- На старте формировать команду и развивать направление;
- Координация работы кросс-функциональной команды, организация и контроль разработки нового функционала, включая процессы сбора требований, разработки, тестирования и внедрения функционала;
- Постановка задач, работа с мотивацией, организация обучения и развития сотрудников;
- Ведение планов работ команды, оценка трудоёмкости работ;
- Взаимодействие с Solution Architect для проектирования реализации решений;
- Разработка back-end части банковских сервисов в микросервисной архитектуре c использованием фреймворка Spring Boot;
- Стать code owner части уже существующих микросервисов и заниматься их развитием;
- Участие в разработке и согласовании API;
- Участие в разработке архитектуры решения и выборе технологий, построение моделей данных;
- Внедрение новых технологий и решение технических проблем;
R&D ключевых участков подсистем.

Какие знания и навыки для нас важны:
- Опыт работы в аналогичной должности от 2 лет;
- Опыт BE разработки от 5-х лет;
- Готовность принимать решения и брать на себя ответственность;
- Стек Java, spring;
- Опыт проектирования и построения микросервисных архитектур;
- Опыт построения CI/CD;
- Опыт работы с платформой Kubernetes/OpenShift;
- Опыт работы с Message/Streaming-oriented middleware (Kafka/RabbitMQ).
- Коммуникационные навыки, умение находить общий язык как с бизнес-заказчиками, так и с разработчиками и смежными подразделениями.
⚡️Лекторы из МГУ создали канал для обучения нового поколения программистов: @MGU_IT

Получи качественные знания и раскрой в себе талант кодера бесплатно
#Вопросы_с_собеседования

🎙️ Можно ли переопределить статический или частный метод в Java?

Частный метод недоступен вне класса, поэтому он не будет переопределен подклассом. Следовательно, его нельзя переопределить. Точно так же статический метод не может быть переопределен, потому что если мы создадим статические методы с одним и тем же именем метода и сигнатурой как в базовом, так и в производном классе, производный класс скроет методы в базовом классе. Это известно как сокрытие метода.
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.

Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.

➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.

Подписывайтесь и качайте свои скиллы: @javatasks
Мы ищем бэкенд-разработчиков сразу в несколько сервисов и команд!

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

👉 разработка быстрорастущей real-time распределённой файловой системы в Яндекс Диске;
👉 разработка сервиса data plane — программного маршрутизатора и балансировщика нагрузки в Yandex Cloud (CloudGate);
👉 задачи по массовому обслуживанию виртуальных машин: расселение, эвакуация и оптимизация использования кластеров — для Yandex Cloud (API Compute);
👉 разработка новых способов борьбы с вредоносными сообщениями и подготовка входных данных для машинного обучения в Спамооборону;
👉 проектирование фреймворка с учётом eBFP для внутреннего инфраструктурного контейнерного облака.

➡️ Посмотреть все вакансии
Мы ищем бэкенд-разработчиков сразу в несколько сервисов и команд!

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

👉 разработка быстрорастущей real-time распределённой файловой системы в Яндекс Диске;
👉 разработка сервиса data plane — программного маршрутизатора и балансировщика нагрузки в Yandex Cloud (CloudGate);
👉 задачи по массовому обслуживанию виртуальных машин: расселение, эвакуация и оптимизация использования кластеров — для Yandex Cloud (API Compute);
👉 разработка новых способов борьбы с вредоносными сообщениями и подготовка входных данных для машинного обучения в Спамооборону;
👉 проектирование фреймворка с учётом eBFP для внутреннего инфраструктурного контейнерного облака.

➡️ Посмотреть все вакансии
Облачной бывает не только погода…

Но и технологии, про которые расскажут на Alfa Cloud Day Meetup 🌥

На митапе вы узнаете, как в Альфа-Банке внедряли новый подход, что важно учесть при общении с бизнесом, как за счёт «облака» ускориться и извлечь выгоду

Когда: 22 марта в 18:30
Где: офлайн в Москве, Андропова пр-т, 18, к. 3, Альфа-Банк, Конгресс-холл или онлайн

Что вас ждет:

🌦 Максим Чернухин, Senior Software Architect, расскажет о положительных и отрицательных сторонах использования облака, а также о нюансах, которые стоит учесть

🌦 Дмитрий Кузнецов, Head of Application Security, расскажет о безопасной миграции в облако

🌦 Дмитрий Гадеев, Site Reliability Engineer, и Максим Малыгин, Head of IT Infrastructure Support Department, поделятся своим опытом внедрения «облачного» подхода в Альфе

🌦 Светлана Вагнер, Cloud Product Owner, расскажет, как бизнесу показать преимущества cloud-технологий, как использовать их для ускорения бизнес-процессов

Все, кому интересен «облачный» подход, ждем вас на митапе, вдо...
JEP 430: шаблоны строк (предварительная версия)

Расширьте возможности языка программирования Java с помощью строковых шаблонов
https://openjdk.org/jeps/430
Video4j — высокоуровневый API видео для Java.
Я написал набор библиотек, которые позволяют обрабатывать видео в java. Библиотеки используют openpnp opencv под капотом, который использует JNI.

Возможности: потоковая передача кадров, распознавание лиц на видео и извлечение признаков с помощью jdlib, генерация эскизов, снятие видеоотпечатков.

https://github.com/metaloom/video4j https://github.com/metaloom/video4j-fingerprint https://github.com/metaloom/video4j-facedetect
#Вопросы_с_собеседования

🎙️ Как в Java достигается полиморфизм во время компиляции и во время выполнения?

В Java полиморфизм времени компиляции достигается за счет перегрузки методов, а полиморфизм времени выполнения достигается за счет переопределения методов.
Тест на общие знания для Java-разработчика

Java задачи с собеседований
С каждым годом востребованность Kafka растет, а работа с этим инструментом входит в топ-10 ключевых навыков IT-специалистов.

Только за последний месяц можно найти больше 3000 вакансий, где требуется знание Кафки.

Уверенно заявляем: каждому backend-специалисту рано или поздно придется столкнуться с Кафкой — поэтому команда Слёрм создала интенсив по Apache Kafka для разработчиков, специально под ваши задачи.

Курс Кафка для разработчиков идеально подойдёт вам, если:

▫️Вы уже владеете языками Java или Go;

▫️Понимаете goroutine, модульность;

▫️Имеете базовые знания ThreadPool.

28 онлайн-уроков с возможностью обучаться из любой точки мира, доступ на 2 года, AMA-сессии со спикерами и закрытый чат с куратором — уменьшите время на рабочие задачи с Кафкой, получив расширенные знания по работе с инструментом!

После курса вы:

▫️Начнете прекрасно разбираться и ориентироваться в терминологии;

▫️Напишете простейшие клиенты, поймёте внутреннюю архитектуру Кафки

▫️Сможете работать со сложными протоколами и наст...
👩‍💻 Kotlin Developer - самый топовый канал для котлин разработчика!

👩‍💻 Java Библиотека - топовое сообщество Senior Java Developer, где он делится советами, статьями и лайфхаками чтобы вы стали топовым разработчиком!

📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!

📰 Java News - канал с последними новостями из мира Java!
Java программист (middle)
#полныйдень #удаленка
З/П: от 200 000 до 350 000 ₽
Компания: Sportmaster Lab

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

Мы ждём от наших будущих коллег:
- Знание Java 11-17;
- Знание алгоритмов и структур данных;
- Опыт работы с Spring (core, boot, security, data, MVC);
- Опыт работы с NoSQL;
- Опыт проектирования REST;
В чем заключаются различия между cтеком (stack) и кучей (heap) с точки зрения многопоточности?

Cтек – участок памяти, тесно связанный с потоками. У каждого потока есть свой стек, которые хранит локальные переменные, параметры методов и стек вызовов. Переменная, хранящаяся в стеке одного потока, не видна для другого.

Куча – общий участок памяти, который делится между всеми потоками. Объекты, неважно локальные или любого другого уровня, создаются в куче. Для улучшения производительности, поток обычно кэширует значения из кучи в свой стек, в этом случае для того, чтобы указать потоку, что переменную следует читать из кучи используется ключевое слово volatile.
Можно ли хранить null в стандартных коллекциях?

Все интерфейсы Collections Framework позволяют своим реализациям самостоятельно решать, поддерживать ли null-значения. Если реализация не может принять null, она выбрасывает NullPointerException или ClassCastException.

Большинство списков (LinkedList, ArrayList) принимают null без проблем. Большинство очередей (Queue и Deque) не хранят null – возвращая из читающего метода null они сообщают пользователю о пустоте коллекции.

Unmodifiable Maps не допускают null-ов совсем. Обычные изменяемые мапы обычно не испытывают трудности со значениями null. А вот с ключами дело обстоит интереснее.

HashMap не может посчитать hash-сумму от null. Но вместо этого для таких ключей просто используется бакет номер 0.

Иногда этот вопрос дается как задача с подвохом про TreeMap. Nullability её ключей зависит от готовности к этому компаратора. Натуральный порядок (который работает для Comparable ключей) не поддерживает null. Раньше в реализации был
баг, который позволял положить значение по ключу null в корень дерева без выброса исключения.

Для значений Set-ов действуют те же правила, что для ключей лежащих в основе их Map-ов.