ar
Feedback
Java tests

Java tests

الذهاب إلى القناة على Telegram

Java задачи и тесты По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @pythonl - 🐍 @ai_machinelearning_big_data- ml @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 @pythonlbooks-📚

إظهار المزيد
2 481
المشتركون
-424 ساعات
-87 أيام
-1830 أيام
أرشيف المشاركات
⚙️ Динамическое изменение поведения объектов с помощью InvocationHandler и Proxy В Java можно динамически изменять поведение
⚙️ Динамическое изменение поведения объектов с помощью InvocationHandler и Proxy В Java можно динамически изменять поведение объектов, используя InvocationHandler и Proxy.
🗣️ Это полезно для создания прокси-объектов, которые могут оборачивать существующие объекты и добавлять новые функции, такие как логирование, кеширование или контроль доступа.
InvocationHandler позволяет перехватывать вызовы методов у прокси-объекта и добавлять дополнительное поведение, такое как логирование. Использование Proxy позволяет динамически создавать новый объект, который ведет себя как реальный объект, но с добавленным поведением. Этот подход позволяет добавлять новое поведение к существующим объектам без изменения их кода, что делает его мощным инструментом для реализации аспектно-ориентированного программирования (AOP).

Каким будет результат выполнения кода?
Anonymous voting

photo content

🔴 Сегодня тестовое собеседование с Java-разработчиком Уже сегодня в 19:00 по мск приходи онлайн на открытое собеседование, ч
🔴 Сегодня тестовое собеседование с Java-разработчиком Уже сегодня в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Виктор Анохин, старший разработчик из WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Виктор будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Виктору Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. О рекламодателе.

⚡️ Перестаём писать методы с 7+ параметрами Если сигнатура выглядит как: createUser(firstName, lastName, email, phone, addres
⚡️ Перестаём писать методы с 7+ параметрами Если сигнатура выглядит как: createUser(firstName, lastName, email, phone, address, city, country) Это уже сигнал, что модель данных развалилась. Проблема не только в читаемости. Такие методы сложнее поддерживать, расширять и тестировать. Любое изменение ломает сигнатуру и тянет за собой каскад правок. Нормальный вариант - собрать связанные данные в объект: UserInfo userInfo Получаем: - чище API - проще добавлять поля - меньше ошибок при передаче параметров - код начинает отражать доменную модель, а не список строк Это базовый приём, но именно на нём чаще всего экономят, а потом платят сложностью.

⚡️ Java лайфхак: не убивай производительность боксингом Многие даже не замечают, как теряют скорость из-за автoboxing в Strea
⚡️ Java лайфхак: не убивай производительность боксингом Многие даже не замечают, как теряют скорость из-за автoboxing в Stream API. ❌ Плохо (создаются объекты Integer): Stream boxed = Stream.of(1, 2, 3, 4, 5); int sum = boxed.reduce(0, Integer::sum); Каждое число → объект → лишняя память + нагрузка на GC ✅ Хорошо (работа с примитивами): int sum = IntStream.of(1, 2, 3, 4, 5).sum(); Без лишних объектов. Быстрее. Чище. Запомни: - IntStream → для int - LongStream → для long - DoubleStream → для double Если работаешь с числами — всегда используй primitive streams. Это мелочь, которая на больших данных превращается в реальную экономию ресурсов. Сохрани, чтобы не писать медленный код.

Каким будет вывод этого кода?
Anonymous voting

photo content

❓Что выведет код на изображении выше?
Anonymous voting

#java #oca
#java #oca

👨‍💻 Как уверенно работать с чужим кодом и быстро разбираться в новых проектах. 24 февраля встречаемся в онлайн-формате, где
👨‍💻 Как уверенно работать с чужим кодом и быстро разбираться в новых проектах. 24 февраля встречаемся в онлайн-формате, где наш эксперт, Иван Маринин, инженер-разработчик Рексофт, поделится секретами успешной работы с незнакомыми Java-проектами. Нас ждет насыщенная лекция: 🔴 Разберем, как эффективно знакомиться с кодовой базой проекта. 🔴 Поделимся методами нахождения бизнес-логики и точек входа. 🔴 Покажем, как использовать IDE не только для редактирования кода, но и для навигации по проекту. Лекция будет полезна как начинающим, так и опытным специалистам. 📍 Встречаемся 24 февраля, в 17:00 (МСК), участие бесплатное. Хотите уверенно ориентироваться в чужом коде и улучшить свои навыки? Тогда регистрируйтесь на лекторий. #PRO_Рексофт

Что напечатает код?👆
Anonymous voting

Что напечатает код?
Что напечатает код?

🔍 Сегодня тестовое собеседование с Java-разработчиком 17 декабря(уже сегодня!) в 19:00 по мск приходи онлайн на открытое соб
🔍 Сегодня тестовое собеседование с Java-разработчиком 17 декабря(уже сегодня!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Cергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Сергею Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир @shortcut_sh_bot Реклама. О рекламодателе.

# Хитрая задачка на Java: не то, чем кажется Внимательно изучите следующий код:

public class WhatTheJava {
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "hello";
        String s3 = new String("hello");
        String s4 = new String("hello").intern();

        System.out.println(s1 == s2);      // (1)
        System.out.println(s1 == s3);      // (2)
        System.out.println(s1 == s4);      // (3)
        System.out.println(s3 == s4);      // (4)

        Integer i1 = 1000;
        Integer i2 = 1000;
        Integer i3 = 100;
        Integer i4 = 100;

        System.out.println(i1 == i2);      // (5)
        System.out.println(i3 == i4);      // (6)

        Boolean b1 = true;
        Boolean b2 = true;
        Boolean b3 = Boolean.valueOf("true");
        Boolean b4 = new Boolean(true);

        System.out.println(b1 == b2);      // (7)
        System.out.println(b1 == b3);      // (8)
        System.out.println(b1 == b4);      // (9)
    }
}
Вопрос: Что напечатает эта программа? Обоснуйте каждый вывод, опираясь на спецификацию Java и особенности работы с пулом строк, кэшированием обёрток и автоупаковкой.

Java: Короткая задача Задача: Что выведет программа и почему?

public class Tricky {
    public static void main(String[] args) {
        System.out.println(getValue());
    }

    static int getValue() {
        try {
            return 1;
        } finally {
            return 2;
        }
    }
}
Разбор: Блок finally всегда выполняется, даже если есть return в try. Когда JVM встречает return 1;, она сохраняет значение для возврата. Затем выполняет finally. В finally есть новый return 2; — он перезаписывает сохранённый результат. 👉 Поэтому вернётся 2, а не 1. Полезно знать: Такое поведение часто ломает логику при работе с ресурсами - finally может изменить или "затереть" возвращаемое значение. Лучше не использовать return внутри finally вообще.

Какое из следующих утверждений правильно описывает поведение этой программы?
Anonymous voting

photo content

Что будет при вызове /api/customers/{5}, если записи c id 5 нет
Anonymous voting

Что будет при вызове /api/customers/{5}, если записи c id 5 нет
Что будет при вызове /api/customers/{5}, если записи c id 5 нет