Java Guru 🤓

channel icon
Канал с вопросами и задачами с собеседований!

Условия размещения

Цена за 48 часов в ленте 3500.00
Цена за 1 час закрепления N/A
Взаимопиар Нет
Дополнительные условия рекламы Отсутствуют
+7
11 110
подписчиков
-7
~2.6k
охват 1 публикации
0
~2
постов / день
-0.1%
23.6%
ERR % ?

Статистика

Последние публикации

Java Guru 🤓
6 Июнь, 2023 22:54
Стало скучно, не с кем поговорить? Залетай в наш чатик и будь няшкой 😉 https://t.me/java_underground
Java Guru 🤓
6 Июнь, 2023 07:47
Что будет в результате компиляции и выполнения данного кода?
Опрос
  • 1
  • 2
  • Ошибка выполнения
  • Ошибка компиляции
Java Guru 🤓
6 Июнь, 2023 07:47
Что будет в результате компиляции и выполнения данного кода?
Java Guru 🤓
5 Июнь, 2023 12:30
Погрузиться в мир Javа и написать свою первую программу? Уже через 14 дней подготовительного курса!

Погрузиться в мир Javа и написать свою первую программу? Уже через 14 дней подготовительного курса!

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

🗓 Начало 6 июня!

🔜 Запишитесь прямо сейчас! —> https://ru.hexlet.io/link/RStxwx

2BEa96a83c0e46249519da907156487e136
Java Guru 🤓
4 Июнь, 2023 17:48
В каком порядке указываются модификаторы?

Правила применения модификаторов поля описаны в поля описаны в JLS 8.3.1JLS 8.3.1:
🔘 Нельзя указывать один модификатор дважды;
🔘 Нельзя использовать несколько модификаторов доступа одновременно.

Порядок указания вообще свободный, но обычно используется следующий:
@Аннотации, доступ,
static final transient volatile


Требования для модификаторов метода находятся в метода находятся в JLS 8.4.3JLS 8.4.3:
🔘 Те же требования, что и к полю;
🔘 Совместно с abstract кроме аннотаций можно использовать только protected или public;
🔘 native метод не может использовать strictfp.

И так же не требуется, но рекомендуется использовать такой порядок:
@Аннотации, доступ,
abstract static final synchronized native strictfp
Java Guru 🤓
4 Июнь, 2023 13:30
⌨️⌨️Изучать Java с нуля гораздо интереснее, если сразу начать делать игры!

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

📆Приглашаем 8 июня в 20:00 на открытый урок «Создание игры на Java и LibGDX с нуля»открытый урок «Создание игры на Java и LibGDX с нуля». Вебинар приурочен к старту специализации «Java Developer».

На вебинаре создадим небольшую двумерную игру на Java с нуля, изучим принципы кодирования и разработаем логику игры на ходу.

Урок будет полезен тем, кто хочет:
— Начать изучать Java с нуля.
— Посмотреть, как на практике создаются Java-приложения на примере 2D игры.
— Создать свою игру и уже имеет базовые навыки программирования.

В результате урока вы:
— Увидите, как пишется код и создаются программы на языке Java.
— Узнаете, из каких базовых блоков строятся программы.

После вебинара онлайн-курс можно приобрести в рассрочку.

➡️➡️Для участия зарегистрируйтесь: https://otus.pw/X7JL/https://otus.pw/X7JL/

Нативная интеграция. Информация о продукте www.otus.ruwww.otus.ru
Java Guru 🤓
3 Июнь, 2023 12:08
Что произойдет в результате компиляции и выполнения кода?
Опрос
  • Вывод в консоль - "HELLO WORLD! HELLO WORLD!"
  • Вывод в консоль - "HELLO WORLD! Hello World!"
  • Вывод в консоль - "Hello World! HELLO WORLD!"
  • Вывод в консоль - "HELLO WORLD! " и выброс исключения после этого
  • Ошибка компиляции
  • Ошибка во время выполнения
Java Guru 🤓
3 Июнь, 2023 12:08
Что произойдет в результате компиляции и выполнения кода?
Java Guru 🤓
3 Июнь, 2023 11:01
🚀 Пройди подготовку к алгоритмическим собеседованиям!

📌 "Книжного академического образования недостаточно. Книги - это замечательно, но они не помогут вам пройти собеседование. Почему? Подскажу: интервьюверы не видели красно-черных деревье со времен своего обучения в университете. Чтобы успешно пройти собеседование, нужно готовиться на реальных вопросах, встречающихся на собеседованиях" - Лакман Макдауэлл

🗓 4 июня в 18:00 по МСК пройдет бесплатный урок по подготовке к алгоритмическим собеседования от Senior разработчика из Тинькофф (ex-разработчика Яндекс, Huawei)
 
На открытом уроке решишь >10 задач, изучишь теорию, которая точно пригодится на собеседовании, и сможешь задать вопросы человеку, который успешно прошел алгоритмические секции в OZON, Tinkoff, VK, СБЕР, Яндекс и Авито

Зарегестрироваться
Java Guru 🤓
2 Июнь, 2023 18:54
Зачем нужно ключевое слово default?

Изначально (с Java 1.5) это слово использовалось для объявления дефолтного значения элементов аннотации.

В Java 8 вместе с лямбдами и стримами появилась острая необходимость дополнить стандартные интерфейсы новыми методами. Никто естественно не собирался ломать обратную совместимость, и было предложено добавить методы по умолчанию.

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

В реализации такого метода его дефолтный вариант вызывается тем же синтаксисом, что и внешний класс из вложенного: InterfaceName.super.methodName().

Методы по умолчанию подошли еще на шаг к введению в Java беспроблемной версии множественного наследования – примесям (mixin). Интерфейс не может иметь состояния, поэтому полноценные примеси всё ещё недоступны.
Java Guru 🤓
2 Июнь, 2023 12:00
🟢 На работе столкнулся с Apache Kafka? Появилось много вопросов?

💻 Онлайн-курс «Apache Kafka» поможет тебе со всем разобраться! И начнем с вебинара, который пройдет 5 июня в 20:00 мск.

🦾 Присоединяйтесь к открытому уроку «Schema Registry в Apache KafkaSchema Registry в Apache Kafka». Ведущий эксперт по технологиям в Сбербанке Вадим Заигрин познакомит вас с использованием реестра схем при работе с Kafka.

✅ На этом вебинаре вы узнаете:

— Что такое Apache Kafka и какие возможности она предоставляет.
— Важность эволюции схем и как она применяется в работе с Kafka.
— Как реестр схем упрощает процесс работы с Kafka при эволюции схем.

💎 Не упустите возможность протестировать курс. После вебинара оплатить курс можно любым удобным для вас способом.

👉 Для участия пройдите вступительное тестирование https://otus.pw/3GPO/https://otus.pw/3GPO/

Нативная интеграция. Информация о продукте www.otus.ru
Java Guru 🤓
1 Июнь, 2023 20:04
Что делает volatile?

volatile
volatile – ключевое слово для работы с многопоточностью. Не то же самое, что volatile в C++, не обязано делать что-либо с кэшем процессора. Оказывает на поле объекта ровно два эффекта.

Во-первых, чтение/запись такого поля становятся атомарными. Это применение актуально только для long и double, и не на всех платформах. Для остальных типов полей это верно и так.

Второй и самый интересный эффект – пара событий запись-чтение для такого поля являются synchronization actions. Значит, между ними существует отношение happens-before. Это значит, что существует гарантия, что произошедшее в памяти до записи будет видно после чтения. То есть будут успешно прочитаны значения, записанные в другие переменные.

Для полного понимания темы рекомендуется к просмотру доклад
Алексея Шипилёва и документация. Лучше всего эффект volatile иллюстрирует задача из этого доклада, которую часто и дают в качестве этого вопроса. Вопрос – что выведет данный код:

int a; int b;

// thread 1:
a = 1;
b = 2;

// thread 2:
System.out.print(b);
System.out.print(a);

Трюк в том, что помимо очевидных 21 (поток 2 отработал после 1), 00 (поток 2 отработал до 1, переменные еще не инициализированы) и 01 (поток 2 сработал между записями), может быть и неожиданные 20. Дело в том, что для операторов одного потока действует program order, он гарантирует хотя бы видимость правильной последовательности операций. Между потоками необходим «мост» из happens-before. Его даст применение модификатора volatile к переменной b, неожиданный результат 20 будет исключен.

Этот эффект используется для получения простой и дешевой адаптации программы к многопоточной среде без использования сложных и ошибкоопасных техник блокировок и синхронизаций.
Java Guru 🤓
1 Июнь, 2023 13:10
👨🏻‍💻 Интересно функциональное программирование? Начните изучение Scala

👉 Пройдите тест из 18 вопросов онлайн-курса «Scala-разработчик» и узнайте, осилите ли вы обучение в OTUS.

🟢 Пройти тест https://otus.pw/qTKo/https://otus.pw/qTKo/

🎁 Все, кто успешно пройдет тест, получит доступ к 3 открытым урокам курса для знакомства с форматом обучения и спеццену на курс.

💻 За 5 месяцев Вы научитесь:
— использовать Scala-стек технологий для создания веб-сервисов
— применять приемы функционального программирования в SOLID-приложениях
— создавать приложения на основе функционального подхода на примере ZIO
— проектировать микросервисы с использованием CQRS/ES на основе Akka
— создавать модульные тесты на основе инвариантов свойств (property-based tests)

Нативная интеграция. Информация о продукте www.otus.ru
Java Guru 🤓
31 Май, 2023 17:22
Что такое synchronized?

Можно применять как модификатор метода, и как самостоятельный оператор с блоком кода. Выполняет код при захваченном мониторе объекта. В виде оператора объект указывается явно. В виде модификатора нестатического метода используется this, статического – .class текущего класса.

Один из основных инструментов обеспечения потокобезопасности. Одновременно выполняется не более одного блока synchronized на одном и том же объекте. Такая блокировка называется intrinsic lock или monitor lock, подробно рассматривается в Java Concurrency in Practice 2.3.1.

Блок synchronized также необходим для использования методов wait, notify, notifyAll.
Java Guru 🤓
31 Май, 2023 13:10
Reactor Kafkaмощный инструмент для Java-разработчиков, который позволяет создавать эффективные, отзывчивые и масштабируемые приложения для обработки сообщений.

📢📢 Если вы хотите расширить свой стек этим инструментом, приходите 7 июня в 20:00 мск на открытый урок «Знакомство с Reactor Kafka».

Вебинар приурочен к старту онлайн-курса «Java Developer. Professional» в OTUS.

онлайн-курса «Java Developer. Professional» в OTUS.

🟠Вместе с Сергеем Петрелевичем, сертифицированным Java-разработчиком, мы посмотрим, как в Java-приложении можно работать с Kafka в реактивном стиле. А также разберемся, для чего это может быть полезно и когда стоит использовать.

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

➡️ Пройдите вступительный тест, чтобы участвовать в вебинаре: https://otus.pw/S7jk/https://otus.pw/S7jk/

Нативная интеграция. Информация о продукте www.otus.ru
Java Guru 🤓
30 Май, 2023 17:48
Что произойдет в результате компиляции и выполнения кода? При условии что файл валиден и в процессе выполнения не выбросит FileNotFoundException
Опрос
  • Вывод в консоль символа H и выброс исключения IOException
  • Вывод в консоль - HelloWorld!
  • Вывод в консоль HelloWorld! и выброс исключения IOException в конце выполнения
  • Пустой вывод в консоль
  • Бесконечный вывод в консоль сообщения HelloWorld!
Java Guru 🤓
30 Май, 2023 17:48
Что произойдет в результате компиляции и выполнения кода? При условии что файл валиден и в процессе выполнения не выбросит FileNotFoundException
Java Guru 🤓
28 Май, 2023 13:31
👩‍💻 Java Библиотека - топовое сообщество Senior Java Developer, где он делится советами, статьями и лайфхаками чтобы вы стали топовым разработчиком!

👩‍💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.

👩‍💻 Kotlin Developer - самый топовый канал для котлин разработчика!

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

📰 Java News - канал с последними новостями из мира Java!
Java Guru 🤓
26 Май, 2023 17:58
Чем отличаются checked и unchecked исключения?

Вопрос формулируют по-разному, суть вопроса – объяснение иерархии классов исключений. Подробно описано в документации.

Исключения бывают checked и unchecked. Checked требуется указывать в сигнатуре метода в разделе throws; перехватывать или добавлять в throws в вызывающем его методе. Unchecked можно добавить, но не обязательно, перехватывать не обязательно даже если указана в throws.

🔘 Throwable – базовый класс для всего что может быть использовано с оператором throw и в конструкции try-catch
🔘 RuntimeException – «нормальные» unchecked-исключения
🔘 Error – unchecked исключения, которые означают «серьезные проблемы» приложения. Не должны обрабатываться (хотя технически можно). Теоретически JVM может находиться в невалидном состоянии и не давать больше никаких гарантий
🔘 Exception (кроме RuntimeException) – checked исключения
Java Guru 🤓
26 Май, 2023 15:38
Какие бывают модификаторы?

🔘 Модификаторы доступа private, protected, public (рассмотрим подробнее в разделе #Классы#Классы)
🔘 Модификаторы для многопоточности synchronized и volatile (подробнее чуть позже)
🔘 static (рассмотрим подробнее в разделе
#Классы#Классы)
🔘 final
🔘 abstract (рассмотрим подробнее в разделе
#Классы#Классы)
🔘 native – реализация метода скрыта внутри JVM, нельзя указывать в пользовательском коде
🔘 transient – поле будет пропущено при сериализации
🔘 strictfp – самый экзотический, ограничивает точность вычисления для переменной с плавающей точкой до стандарта IEEE.
Нужно для переносимости между платформами.