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

Самый крутой канал c подборкой книг, статей, но и как без рекламы все в одном месте
По ворпосам размещения @qa_autom
Download Telegram
#Вопросы_с_собеседования

🎙️ Как работает метод Thread.join()?

Когда поток вызывает join() для другого потока, текущий работающий поток будет ждать, пока другой поток, к которому он присоединяется, не будет завершён.
Содержит множество проектов на Java, которые могут быть полезны при изучении языка

https://github.com/topics/java

👉@BookJava
Один день из жизни JVM-инженера

Можно разрабатывать на Java, а можно разрабатывать Java. Есть люди, чей код исполняет виртуальная машина — а есть люди, чей код и есть виртуальная машина.
Вроде бы те и другие существуют в одной Java-экосистеме, но задачи совершенно разные.
Чем он вообще занимается? Почему JVM-инженеры всё так медленно делают? На каком языке стоит писать рантайм, а на каком компилятор? Как «папка бога» в Windows привела к неожиданным последствиям? Может ли «обычный джавист» стать JVM-инженером?

Читать статью
Java программист (middle)
#полныйдень #удаленка
ЗП: от 200 000 до 350 000 ₽
Компания: Sportmaster Lab

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

Требования:
- Знание Java 11-17;
- Знание алгоритмов и структур данных;
- Опыт работы с Spring (core, boot, security, data, MVC);
- Опыт работы с NoSQL;
- Опыт проектирования REST;
Преподаватель онлайн-курсов по Kotlin и Groovy (senior)
#удаленка #неполныйдень
З/П: от 4000 до 6000 ₽ за одно занятие
+ 5000 ₽ за разработку материалов к одному занятию + от 300 до 400 ₽ за проверку одного ДЗ
Компания: OTUS

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

Откликнуться: @yu_grin
Раздаём бесплатно книгу «Путь в IT» и 4 курса по IT по ссылке

«Путь в IT» - книга, которая многим помогла сменить профессию и устроиться в сферу IT

После прочтения книги у вас появится преимущество перед 90% новичков на рынке. Сложные технические термины больше не будут вас пугать, а полное раскрытие каждой профессии в сфере поможет выбрать свой путь в IT.

Бонусы, которые мы дарим вместе с книгой «Путь в IT»:
⁃ 4 курса по IT;
⁃ доступ к мероприятиям GeekBrains.

Постройте свою карьеру в IT, сделав первый шаг уже сегодня.

Забирайте
Курс «Английский для разработчиков» от Яндекс Практикума

Для специалистов, которые хотят изменить свою профессиональную жизнь и работать в международной команде. Обучение построено вокруг рабочих ситуаций и полезных для карьеры навыков:

• Самопрезентация. Рассказ о своей роли, задачах, сфере ответственности на поведенческом интервью и в неформальной беседе.
• Работа в команде. Стендапы, планирование спринтов, демонстрация навыков командной работы на собеседовании.
• Общение в процессе работ над кодом. Код-ревью, парное программирование, комментирование алгоритмических задач на собеседовании.
• Общение с заказчиками. Уточнение технического задания, решение спорных ситуаций.
• Нетворкинг. Выступление на митапах, неформальное общение с коллегами из отрасли.
• Рефлексия и самоанализ. Ретроспектива, ревью, ответы на сложные вопросы.

Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Доступ для 25 человек в нашу закрытую библиотеку книг: @dblib
Java SE (senior)
#полныйдень #удаленка #гибкийграфик
ЗП: от 200 000 ₽
Компания: ООО "Пром ИТ"

Обязанности:
- Разработка приложений с использованием микросервисной архитектуры.
- Разработка новых и доработка существующих модулей системы, их сопровождение.
- Интеграция со сторонними системами и сервисами.
- Проектирование баз данных, разработка и оптимизация SQL-запросов.
- Участие в постановке и проработке задач.
- Проектирование архитектуры (при наличии компетенций).

Требования:
- Опыт коммерческой разработки на Java от 5 лет, знания Java SE (OpenJDK), Spring, swagger.
- Знание SQL и умение работать с Node.JS, Express, TypeScript.
- Опыт разработки веб-приложений с использованием TypeScript, React, Material-UI, tsoa.
- Уверенные знания PostgreSQL, MongoDB, Kafka, Redis, Keycloak.
- Понимание принципов виртуализации и кластеризации Docker, Kubernetes.
- Опыт работы с системами контроля версий, continuous integration, бактрекинга и ведения проектов — Git.
- Опыт проведения code review.
Началась трансляция на канале IT Jobs тему: «Как я нашла работу frontend-разработчицей за 2 недели после курсов»

ПОДКЛЮЧАЙСЯ!
Records как DTO в Spring Boot 3: лучшие практики

Из статьи вы узнаете, как наилучшим образом использовать Records в качестве DTO для базы данных и вызова API в Spring Boot 3 с Hibernate 6.

Читать статью
Что такое Semaphore?

Semaphore – это тип синхронизатора: семафор со счётчиком, реализующий шаблон синхронизации Семафор. Доступ управляется с помощью счётчика: изначальное значение счётчика задаётся в конструкторе при создании синхронизатора, когда поток заходит в заданный блок кода, то значение счётчика уменьшается на единицу, когда поток его покидает, то увеличивается. Если значение счётчика равно нулю, то текущий поток блокируется, пока кто-нибудь не выйдет из защищаемого блока. Semaphore используется для защиты дорогих ресурсов, которые доступны в ограниченном количестве, например подключение к базе данных в пуле.
ГДЕ НАЙТИ РАБОТУ ДЖУНИОР-РАЗРАБОТЧИКУ?

Волонтерить в стартапах? Подрабатывать на фрилансе без стабильности в доходе? Кодить за отзывы?🤨

А что, если я скажу тебе, что уже через 3-6 месяцев ты можешь оказаться в штате программистов Тинькофф, Яндекс, Озон, ВТБ, Северсталь и других крупных компаний?

Как? Приходи на бесплатное обучение к ребятам из ITM Space. Курс ведут только действующие Java-разработчики с опытом в IT от 5ти лет.🔥

Что ты получишь на обучении?
- изучишь востребованный стек технологий Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT(GITHUB, GITLAB), MAVEN по авторской программе (эффективность проверена на студентах без опыта в IT)
- возможность окунуться в реальный проект под руководством тимлида
- карьерные консультации: разбор твоего резюме, тестовые собеседования с командой и мощную прокачку soft-skills
- поддерживающее комьюнити студентов, которое не даст забросить учебу и придет на помощь в любой задаче

Хочешь вывести свой код на качественно новый уровень и ...
💻 Самое полезное из мира IT в 2023 году

▫️ Удаленные вакансии и вакансии с релокацией в Европу от работодателя
▫️ Бесплатное размещение вакансий для HR
▫️ Перевод и получение выплат в любой точке мира
▫️ Свежие новости и мемы из мира IT

🦆 Всё это вы найдёте на канале __IT на чемодане__
Java Developer (middle)
#гибкийграфик #офис
ЗП: от 200 000 ₽
Локация: Москва, Санкт-Петербург
Компания: Яндекс

Обязанности:
- Разрабатывать бэкенд одного или нескольких сервисов в инфраструктуре Крауда.
- Писать код с нуля и в существующих сервисах.
- Придумывать архитектуру, модель данных, API.
- Общаться с аналитиками и менеджером проекта.
- Генерировать идеи и развивать продукт.

Требования:
- Уверенно знаете Java, Kotlin или иной объектно ориентированный язык, готовы быстро адаптироваться к нашему стеку.
- Пишете эффективный, простой и понятный код.
- Разбираетесь в ситуации, прежде чем предлагать решение, знаете плюсы и минусы выбранного решения и готовы обосновать его.
- Интересуетесь развитием продукта и стремитесь понять, где, как и для кого будет работать ваш код.
#вопросы_с_собеседований
Создание бесконечного цикла на пустом месте

Дан блок кода (см картинку). Дополните его так, чтобы цикл стал бесконечным.

«Ничего сложного», — скажете вы. Скорее всего, вы не раз попадали в такую историю: решая задачи по Java, вы создавали бесконечный цикл и думали, как от него избавиться. Тут же наоборот. Хитрость в том, что сам цикл и условия выхода из него менять нельзя. Есть только две итерации. Тем не менее, их вполне достаточно, чтобы создать бесконечный цикл.

Похоже, что он должен работать только для двух итераций, но его можно сделать бесконечным, за счет использования переполнения. Уже догадались, как?
Java Developer (senior)
#удаленка #офис #гибкийграфик
ЗП: от 210 000 до 360 000 ₽
Локация: Москва
Компания: Raiffeisen Bank

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

Требования:
- Опыт разработки на Java от 3-х лет.
- Уверенное знание Java Core (Collection, JDBC, Multithreading).
- Опыт работы с реляционными базами данных и умение писать SQL запросы, оптимизация запросов.
- Опыт написания unit-тестов.
- Знание систем контроля версий (мы используем Git).
- Работа с системами автоматической сборки (Maven / Gradle).
- Опыт использования OXM, ORM, JPA.
Что такое fail-fast и fail-safe итераторы?

Это не какие-то отдельные типы, а характеристики разных реализаций интерфейса Iterator. Они определяют, как поведет себя итератор при изменении перебираемой последовательности.

Fail-fast – «быстрый» итератор. Когда после его создания коллекция как-либо изменилась, он падает с ошибкой без лишних разбирательств. Так работает итератор класса ArrayList, при изменении он выбрасывает ConcurrentModificationException. Рекомендуется не основывать логику программы на fail-fast отказах, и использовать их только как признак ошибки реализации.

Fail-safe – «умный» итератор. Обычно плата за отказоустойчивость – возможная неконсистентность данных («слабая консистентность»). Итератор класса ConcurrentHashMap работает с копией данных, он не выбросит исключение при изменении коллекции, но может не увидеть часть свежих изменений. Плата за отсутствие ошибок других fail-safe итераторов может отличаться, детали всегда можно найти в документации коллекций.