uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

Java | Вопросы собесов

Java | Вопросы собесов

Kanalga Telegram’da o‘tish

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads

Ko'proq ko'rsatish

📈 Telegram kanali Java | Вопросы собесов analitikasi

Java | Вопросы собесов (@easy_java_ru) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 11 309 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 10 942-o'rinni va Rossiya mintaqasida 56 602-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 11 309 obunachiga ega bo‘ldi.

26 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -26 ga, so‘nggi 24 soatda esa -2 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 10.08% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.23% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 141 marta ko‘riladi; birinchi sutkada odatda 705 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 7 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent ставь, void, string, строка, static kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads”

Yuqori yangilanish chastotasi (oxirgi ma’lumot 27 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

11 309
Obunachilar
-224 soatlar
-237 kun
-2630 kun
Postlar arxiv
Яндекс Музыка до 360 дней бесплатно Яндекс Музыка для вас и 3-х ваших близких. Кинопоиск и Яндекс Книги тоже в мультиподписке
Яндекс Музыка до 360 дней бесплатно Яндекс Музыка для вас и 3-х ваших близких. Кинопоиск и Яндекс Книги тоже в мультиподписке Плюс. Попробуйте бесплатно❤️ Слушать #реклама 18+ music.yandex.ru О рекламодателе

🤔 Чем отличаются подходы Trunk Based и Feature Branch? - Trunk-Based: разработчики часто коммитят напрямую в основную ветку, минимизируя долгоживущие ветви. - Feature Branch: каждая новая функциональность разрабатывается в отдельной ветке и затем вливается в основную. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Чем отличается компонент от бина? В Spring оба термина – Bean и Component – связаны с управляемыми объектами, но у них разное предназначение. 🚩Что такое `@Component`? @Component делает класс Spring-бином автоматически. Spring сам создаст и зарегистрирует объект в контейнере.
import org.springframework.stereotype.Component;

@Component
public class Car {
    public void drive() {
        System.out.println("Машина едет...");
    }
}
Как получить объект?
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        Car car = context.getBean(Car.class);
        car.drive();
    }
}
🚩Что такое `@Bean`? @Bean создаёт Bean вручную в @Configuration-классе. Можно использовать, если нужно передать параметры или создать Bean из библиотеки.
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {
    @Bean
    public Car car() {
        return new Car(); // Создаём объект вручную
    }
}
Как получить Bean?
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
Car car = context.getBean(Car.class);
Ставь 👍 и забирай 📚 Базу знаний

4 бесплатных урока по нейросетям для дизайнеров 🎓 Бесплатный мини-курс для продуктовых, UI/UX и веб-дизайнеров с опытом. От
4 бесплатных урока по нейросетям для дизайнеров 🎓 Бесплатный мини-курс для продуктовых, UI/UX и веб-дизайнеров с опытом. От идеи и PRD до кликабельного макета в браузере. Все на своем проекте и с применением нейросетей в ежедневной работе. 👍 Узнать больше #реклама 16+ pixelperfect.school О рекламодателе

🤔 В чём отличие List от Set? - List — сохраняет порядок элементов, допускает повторы; - Set — не допускает дубликатов, порядок может быть произвольным (кроме LinkedHashSet, TreeSet). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Слышал ли что то про метод intern? Метод intern() в классе String используется для оптимизации памяти. Он добавляет строку в String Pool и возвращает её ссылку, если строка уже там есть. 🚩Как работает `intern()`? Без intern() – строки создаются в Heap (куче)
String s1 = new String("Hello"); // В куче (Heap)
String s2 = new String("Hello");

System.out.println(s1 == s2); // false (разные объекты)
С intern() – строки хранятся в String Pool
String s1 = new String("Hello").intern();
String s2 = new String("Hello").intern();

System.out.println(s1 == s2); // true (одна строка в String Pool)
🚩Что такое `String Pool`? Это специальная область памяти, где хранятся уникальные строковые литералы. Все строковые литералы ("Hello") по умолчанию хранятся в String Pool.
String s1 = "Hello"; // В String Pool
String s2 = "Hello"; // Ссылается на тот же объект

System.out.println(s1 == s2); // true
🚩Когда использовать `intern()`? Когда у вас много одинаковых строк в памяти (например, имена, идентификаторы). Для экономии памяти, если строки часто дублируются. В парсинге JSON, XML – одни и те же строки могут повторяться тысячи раз.
List<String> names = new ArrayList<>();
for (int i = 0; i < 100000; i++) {
    names.add(("User" + (i % 100)).intern()); // Используем String Pool
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое ordering? Ordering (упорядочивание) в многопоточности — это порядок, в котором операции записи и чтения видны разным потокам. Неправильный порядок может привести к ошибкам даже при правильной логике программы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какая сложность поиска метода по ключу в коллекции TreMap? В TreeMap поиск элемента по ключу выполняется за O(log n). 🚩Почему сложность `O(log n)`? TreeMap основан на красно-чёрном дереве (Red-Black Tree). Красно-чёрное дерево – это самобалансирующееся бинарное дерево. В худшем случае, глубина дерева ≈ log₂(n), поэтому: Поиск (get(key)) выполняется за O(log n). Вставка (put(key, value)) тоже O(log n), так как требует балансировки.
import java.util.TreeMap;

public class TreeMapExample {
    public static void main(String[] args) {
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(10, "Ten");
        treeMap.put(20, "Twenty");
        treeMap.put(30, "Thirty");

        System.out.println(treeMap.get(20)); // Поиск за O(log n)
    }
}
Ставь 👍 и забирай 📚 Базу знаний

Основные шаблоны проектирования в системном дизайне Знать CQRS, Event Sourcing и Saga недостаточно, чтобы правильно применять
Основные шаблоны проектирования в системном дизайне Знать CQRS, Event Sourcing и Saga недостаточно, чтобы правильно применять эти шаблоны в реальной системе. Каждый из них решает архитектурную проблему, но одновременно увеличивает сложность разработки, эксплуатации и поддержки. Если выбирать паттерн только потому, что он популярен или используется в высоконагруженных проектах, можно получить архитектуру, сложнее самой задачи. На открытом уроке 24 августа в 20:00 в OTUS разберём ключевые шаблоны системного дизайна: CQRS, Event Sourcing и Saga Pattern. Рассмотрим, какие проблемы они решают, в каких системах действительно нужны и какие новые ограничения создают. На практических примерах посмотрим, как эти подходы применяются в высоконагруженных сервисах, событийных системах и процессах с распределёнными транзакциями. Узнать больше #реклама 16+ otus.ru О рекламодателе

🤔 Какие есть виды объединения веток? - Merge — объединяет изменения, создаёт новый коммит слияния; - Rebase — переносит коммиты на другую ветку, изменяя их историю; - Squash — объединяет несколько коммитов в один перед слиянием; - Fast-forward — слияние без нового коммита, если нет расхождений. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какая структура данных в коллекции List? В Java интерфейс List представляет упорядоченную коллекцию элементов, допускающую дубликаты. В зависимости от конкретной реализации (ArrayList, LinkedList, Vector), используется разная структура данных. 🚩Основные реализации `List` и их структуры данных 🟠ArrayList Динамический массив Структура данных: массив Быстрая индексация O(1), но медленное удаление/вставка в середину O(n).
List<String> list = new ArrayList<>();
🟠LinkedList Двусвязный список Структура данных: двусвязный список Быстрое добавление/удаление элементов O(1), но медленный доступ по индексу O(n).
List<String> list = new LinkedList<>();
🟠Vector Динамический массив (синхронизирован) Структура данных: массив (как ArrayList), но с синхронизацией. Устарел, используется редко из-за synchronized методов (медленнее ArrayList).
List<String> list = new Vector<>();
Ставь 👍 и забирай 📚 Базу знаний

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

Сколько компания теряет на ручной обработке заявок? Каждый повторяющийся запрос в техподдержку — это потерянное время специалистов и дополнительные расходы бизнеса. В одной из крупнейших международных энергетических компаний до 70% рабочего времени уходило на обработку однотипных обращений, а скорость ответов зависела от смены сотрудников. Решением стало внедрение ИИ-агента. Система автоматически классифицирует обращения, анализирует контекст, находит решения в базе знаний и истории кейсов, формирует готовый ответ и постоянно обучается. Результат: время решения обращений сократилось на 31%, поддержка стала работать 24/7 без расширения штата, а специалисты сосредоточились на сложных задачах. Если поток обращений растет — автоматизируйте процессы с помощью ИИ. Узнайте, какой эффект это даст именно вашему бизнесу. Узнать больше #реклама 16+ datalabtech.ru О рекламодателе

🤔 Что такое шаблон Event Sourcing? Event Sourcing — это подход, при котором вся история изменений состояния хранится как последовательность событий. Плюсы: - можно восстановить любое состояние; - идеален для аудита и CQRS. Минусы: - сложно мигрировать; - высокая сложность чтения без проекций. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Выпусти трек без головной боли — мы всё сделаем за тебя! «От загрузки до первых прослушиваний» — поможем продвинуть музыку! Т
+6
Выпусти трек без головной боли — мы всё сделаем за тебя! «От загрузки до первых прослушиваний» — поможем продвинуть музыку! Твой путь здесь! Начать #реклама sferoom.space О рекламодателе

🤔 Для чего нужен функциональный интерфейс BiConsumer<T,U>? BiConsumer<T, U> — это функциональный интерфейс из пакета java.util.function, который принимает два входных аргумента и не возвращает результат. Сигнатура BiConsumer<T, U>
@FunctionalInterface
public interface BiConsumer<T, U> {
    void accept(T t, U u);
}
🚩Вывод пар значений Допустим, у нас есть Map<String, Integer>, и мы хотим вывести все ключи и значения:
import java.util.Map;
import java.util.function.BiConsumer;

public class BiConsumerExample {
    public static void main(String[] args) {
        Map<String, Integer> map = Map.of("Alice", 30, "Bob", 25, "Charlie", 35);

        // Используем BiConsumer для вывода ключа и значения
        BiConsumer<String, Integer> printEntry = (key, value) -> 
            System.out.println("Имя: " + key + ", возраст: " + value);

        // Применяем BiConsumer к каждому элементу Map
        map.forEach(printEntry);
    }
}
Вывод
Имя: Alice, возраст: 30  
Имя: Bob, возраст: 25  
Имя: Charlie, возраст: 35  
🚩Использование `BiConsumer` в `Stream` Допустим, у нас есть список продуктов и их цены. Мы хотим увеличить цену каждого товара и напечатать результат.
import java.util.*;
import java.util.function.BiConsumer;

public class BiConsumerStreamExample {
    public static void main(String[] args) {
        Map<String, Double> products = new HashMap<>();
        products.put("Хлеб", 50.0);
        products.put("Молоко", 80.0);
        products.put("Яблоки", 120.0);

        // BiConsumer, который увеличивает цену и выводит её
        BiConsumer<String, Double> increaseAndPrint = (name, price) -> {
            double newPrice = price * 1.1; // +10%
            System.out.println(name + " теперь стоит " + newPrice);
        };

        products.forEach(increaseAndPrint);
    }
}
Вывод
Хлеб теперь стоит 55.0  
Молоко теперь стоит 88.0  
Яблоки теперь стоят 132.0  
🚩Объединение `BiConsumer` с `andThen()` Метод andThen(BiConsumer<T, U>) позволяет объединять несколько действий в цепочку.
import java.util.function.BiConsumer;

public class BiConsumerChaining {
    public static void main(String[] args) {
        BiConsumer<String, Integer> printUser = (name, age) -> 
            System.out.println("Пользователь: " + name + ", возраст: " + age);

        BiConsumer<String, Integer> checkAdult = (name, age) -> 
            System.out.println(name + (age >= 18 ? " совершеннолетний" : " несовершеннолетний"));

        // Объединяем два BiConsumer'а
        BiConsumer<String, Integer> combined = printUser.andThen(checkAdult);

        combined.accept("Алексей", 20);
        combined.accept("Мария", 16);
    }
}
Вывод:
Пользователь: Алексей, возраст: 20  
Алексей совершеннолетний  
Пользователь: Мария, возраст: 16  
Мария несовершеннолетний
Ставь 👍 и забирай 📚 Базу знаний

Услуги коммерческого дата-центра в Москве Размещение серверного оборудования в дата-центре. ✅ Услуги предоставляются в 4 дата
Услуги коммерческого дата-центра в Москве Размещение серверного оборудования в дата-центре. ✅ Услуги предоставляются в 4 дата-центрах в Москве. ✅ Географическое резервирование. ✅ Высокая отказоустойчивость. ✅ Гибкость при выборе площадки для размещения оборудования. Узнать цену #реклама itsoft.ru О рекламодателе

🤔 Какое худшее время работы метода contains() в ArrayList? O(n) — также линейный поиск, т.к. нет хеширования. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как бороться в БД с SQL Injection? SQL Injection – это атака, при которой злоумышленник вставляет вредоносный SQL-код в запрос, чтобы получить несанкционированный доступ к данным. Допустим, у нас есть код
String query = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'";
Если злоумышленник введёт ' OR '1'='1 в поле пароля, запрос превратится в:
SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1'
🚩Способы защиты от SQL Injection 🟠Использование `PreparedStatement` (РЕКОМЕНДУЕТСЯ) Подготовленные запросы автоматически экранируют входные данные, предотвращая SQL-инъекции.
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, username);
stmt.setString(2, password);
ResultSet rs = stmt.executeQuery();
🟠Использование ORM (например, Hibernate) ORM-фреймворки (Hibernate, JPA) автоматически генерируют безопасные SQL-запросы.
TypedQuery<User> query = entityManager.createQuery(
    "SELECT u FROM User u WHERE u.username = :username AND u.password = :password", User.class);
query.setParameter("username", username);
query.setParameter("password", password);
User user = query.getSingleResult();
🟠Проверка и экранирование входных данных Если по какой-то причине PreparedStatement использовать нельзя, экранируйте опасные символы (', " и ;).
String safeInput = input.replace("'", "\\'");
🟠Минимизация прав в БД Создавайте отдельного пользователя БД с ограниченными правами: Запрет на DROP, DELETE, UPDATE без WHERE Только доступ к нужным таблицам
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'securepassword';
GRANT SELECT, INSERT, UPDATE ON mydb.users TO 'app_user'@'localhost';
🟠Использование Web Application Firewall (WAF) WAF анализирует HTTP-запросы и блокирует подозрительные SQL-запросы. Пример: ModSecurity – популярный WAF для защиты веб-приложений. Ставь 👍 и забирай 📚 Базу знаний

Получи грант до 1,35 млн руб. на обучение в магистратуре Хочешь развиваться в сфере ИТ и получить фундаментальные знания с пр
Получи грант до 1,35 млн руб. на обучение в магистратуре Хочешь развиваться в сфере ИТ и получить фундаментальные знания с практикой? Поступай в магистратуру Центрального университета! — 4 офлайн программы по востребованным направлениям ИТ — 2 онлайн-программы: машинное обучение и продуктовый менеджмент — 550 грантов до 75% — Вечерние занятия и учеба по выходным — удобно совмещать с работой — Обучение по модели STEM-образования: на стыке науки, технологий и бизнеса — Возможность стажировок и трудоустройства в ведущих компаниях — Государственный диплом за 2 года Магистратура в Центральном университете — это современный подход к образованию, сильный преподавательский состав и актуальные кейсы от индустрии. Оставляй заявку на грант уже сейчас! Зарегистрироваться #реклама 16+ cu.ru О рекламодателе