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

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

Каково максимальное число значений hashCode()?

Число значений следует из сигнатуры int hashCode() и равно диапазону типа int — 2^32.
Согласно Кнуту и Кормену существует две основных реализации хэш-таблицы: на основе открытой адресации и на основе метода цепочек. Как реализована HashMap? Почему, по вашему мнению, была выбрана именно эта реализация? В чем плюсы и минусы каждого подхода?

HashMap реализован с использованием метода цепочек, т.е. каждой ячейке массива (корзине) соответствует свой связный список и при возникновении коллизии осуществляется добавление нового элемента в этот список.

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

Среди методов открытой реализации различают:
• линейное пробирование;
• квадратичное пробирование;
• двойное хэширование.

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

Преимущества хэш-таблицы с открытой адресацией:
• отсутствие затрат на создание и хранение объектов списка;
• простота организации сериализации/десериализации

👉@BookJava
Тест на общие знания для Java-разработчика

Java задачи с собеседований
Прокачай свои знания в архитектуре современных распределенных систем

Стремишься занять позицию сеньора или даже архитектора? Этот курс для тебя!

Разберешься в event-driven системах
Обретешь уверенность на system design интервью в российских и зарубежных компаниях
Поймешь как устроен подход event sourcing, паттерн CQRS
Твердо поймешь основы Domain-driven design, как его применять
Создашь распределенную event-sourcing based систему и сможешь заимплементить распределенную транзакцию

Авторский курс от преподавателя Санкт-Петербургского университета ИТМО и разработчика высоконагруженных систем Андрея Суховицкого.

Твоими менторами станут ребята из Amazon, Revolut, JetBrains, Yandex или Ozon.

❗️Старт курса - 3 апреля, лекции и задания доступны уже сейчас!❗️
Переходи по ссылке и подавай заявку!
Прокачай свои знания в архитектуре современных распределенных систем

Стремишься занять позицию сеньора или даже архитектора? Этот курс для тебя!

Разберешься в event-driven системах
Обретешь уверенность на system design интервью в российских и зарубежных компаниях
Поймешь как устроен подход event sourcing, паттерн CQRS
Твердо поймешь основы Domain-driven design, как его применять
Создашь распределенную event-sourcing based систему и сможешь заимплементить распределенную транзакцию

Авторский курс от преподавателя Санкт-Петербургского университета ИТМО и разработчика высоконагруженных систем Андрея Суховицкого.

Твоими менторами станут ребята из Amazon, Revolut, JetBrains, Yandex или Ozon.

❗️Старт курса - 3 апреля, лекции и задания доступны уже сейчас!❗️
Переходи по ссылке и подавай заявку!
В чем разница между методами GET и POST?

GET передает данные серверу используя URL, тогда как POST передает данные, используя тело HTTP запроса. Длина URL ограничена 1024 символами, это и будет верхним ограничением для данных, которые можно отослать через GET. POST может отправлять гораздо большие объемы данных. Лимит устанавливается web-server и составляет обычно около 2 Mb.
• Передача данных методом POST более безопасна, чем методом GET, так как секретные данные (например пароль) не отображаются напрямую в web-клиенте пользователя, в отличии от URL, который виден почти всегда. Иногда это преимущество превращается в недостаток - вы не сможете послать данные за кого-то другого.
GET метод является неизменяемым, тогда как POST — изменяемый.
Java Developer (middle )
#удаленка #офис #гибрид #гибкийграфик #полныйдень
ЗП: от 150 000 до 200 000 ₽
Компания: Тринити

Обязанности:
• Решение сложных задач (возможно без дизайна и аналитики).
• Написание красивого и чистого кода.
• Code review/cross review всей команды.
• Развитие внутреннего движка проектов (Java 8/ Spring boot).
• Участие в проектировании структуры БД.

Требования:
• Опыт реальной коммерческой разработки не менее 2 лет.
• Отличное знание Java, Spring.
• Умение работать с GitLab, Linux, Docker.
• Умение объяснить коллегам по команде чего не хватает для реализации задачи.

Откликнуться: @katrinmartyn
Jakarta EE for Java Developers

Автор:
Rhuan Rocha
Год издания: 2021

#java #english

Скачать книгу
Инкапсуляции в Java

Инкапсуляция - это фундаментальная концепция объектно-ориентированного программирования (ООП), которая позволяет разработчикам создавать классы, скрывающие свои внутренние детали и защищающие их состояние и поведение от доступа или изменения извне класса.

В этой статье по программированию мы обсудим инкапсуляцию, ее преимущества и то, как она может быть реализована в Java.

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

https://www.developer.com/java/java-encapsulation/

👉@BookJava
Управление Arduino с помощью Java и Spring

Вы
когда-нибудь хотели управлять платой Arduino с помощью Raspberry Pi или компьютера, используя только язык Java, а не язык Arduino?

В этой статье я покажу, как я создал веб-приложение для управления Arduino с помощью Raspberry PI с использованием Spring.

Читать статью
Java разработчик (junior/middle/senior)
#удаленка #частичная_занятость
Канал: Java: fill the gaps

Задачи:
- Читать посты на темы Java, Spring и бэкенд-разработки
- Активно участвовать в опросах
- Поощрять автора позитивными реакциями

Требования:
- Знание основ Java
- Любопытство и стремление профессионально расти
- Толерантность к сердечкам и смайликам при обсуждении технических тем

Подписаться
Карьерные советы, инструкции и тесты для разработчиков, которые планируют стать мидлом в 2023 году.
Начинайте отсюда.
Всё это на канале «Как стать мидлом».