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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

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

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

📊 Auditoriya ko‘rsatkichlari va dinamika

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

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

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 9.31% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.94% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 062 marta ko‘riladi; birinchi sutkada odatda 677 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 3 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 Контакт для рекламы: @easyoffer_adv

Yuqori yangilanish chastotasi (oxirgi ma’lumot 26 Avgust, 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 402
Obunachilar
+1024 soatlar
+117 kunlar
-230 kunlar
Postlar arxiv
Подключайтесь 24.09 к Yandex Scale 2026 Главная конференция Yandex Cloud. Узнайте о сервисах, которые меняют ваш бизнес. 4 оф
Подключайтесь 24.09 к Yandex Scale 2026 Главная конференция Yandex Cloud. Узнайте о сервисах, которые меняют ваш бизнес. 4 офлайн-трека (AI, Infra + DevTools, Data, Security), онлайн-трек Deep Tech, воркшопы по ИИ и интерактивы. Участие бесплатное! Зарегистрироваться #реклама 16+ scale.yandex.cloud О рекламодателе

🤔 Какая основная идея equals и hashCode? Метод equals определяет, равны ли два объекта по содержимому, а hashCode возвращает целое число, представляющее объект в хэш-структурах. Основная идея — если два объекта равны по equals, их hashCode должен совпадать. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как работать на Spring? Spring – это мощный фреймворк для разработки Java-приложений, который упрощает работу с бэкендом, базами данных и веб-сервисами. 🚩Основные шаги для работы на Spring 1⃣Настроить проект 2⃣Создать контроллеры (обрабатывают HTTP-запросы). 3⃣Добавить сервисы (логика приложения). 4⃣Работать с базой данных (Spring Data JPA, Hibernate). 5⃣Запустить приложение и тестировать. 🚩Настройка проекта (Spring Boot) 🟠Создание проекта через Spring Initializr Самый быстрый способ – использовать [Spring Initializr](https://start.spring.io/). Заходим на [start.spring.io](https://start.spring.io/) Выбираем: Maven / Gradle Java 17+ Spring Boot 3+ Зависимости: Spring Web, Spring Data JPA, PostgreSQL/MySQL (если нужна БД) Скачиваем и открываем в IntelliJ IDEA или VS Code.
<dependencies>
    <!-- Spring Boot Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- Spring Boot JPA + Hibernate -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    
    <!-- Драйвер для PostgreSQL -->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
    </dependency>
    
    <!-- Lombok (автоматически генерирует геттеры/сеттеры) -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>
🚩Создание контроллера (REST API) Контроллер обрабатывает HTTP-запросы (GET, POST, PUT, DELETE).
@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping
    public String sayHello() {
        return "Привет, Spring!";
    }
}
Запрос в браузере
http://localhost:8080/hello
Ответ
Привет, Spring!
🚩Добавление бизнес-логики (Service Layer) Сервисы обрабатывают данные и реализуют бизнес-логику.
@Service
public class UserService {
    
    public String getUserGreeting(String name) {
        return "Привет, " + name + "!";
    }
}
Использование сервиса в контроллере
@RestController
@RequestMapping("/user")
public class UserController {
    
    private final UserService userService;

    @Autowired  // Внедрение зависимости
    public UserController(UserService userService) {
        this.userService = userService;
    }

    @GetMapping("/{name}")
    public String getUserGreeting(@PathVariable String name) {
        return userService.getUserGreeting(name);
    }
}
Запрос в браузере:
http://localhost:8080/user/Иван
Ответ
Привет, Иван!
Ставь 👍 и забирай 📚 Базу знаний

Бесплатный курс: веб-дизайн, графика, интерфейсы Получи востребованные навыки: - создание дизайна сайтов и приложений - созда
Бесплатный курс: веб-дизайн, графика, интерфейсы Получи востребованные навыки: - создание дизайна сайтов и приложений - создание инфографики и карточек для маркетплейсов - работа в графическом редакторе Figma и др. Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰 Зарегистрироваться #реклама 16+ ydaev.ru О рекламодателе

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

Не знак свыше, а точный таргетинг Теперь всем, кто продвигается через CTV в Яндекс Директе, стало проще находить свою аудитор
Не знак свыше, а точный таргетинг Теперь всем, кто продвигается через CTV в Яндекс Директе, стало проще находить свою аудиторию. Таргетингов стало в 5 раз больше. Вот что нового: — Таргетинг по интересам. Например, можно выбрать не всех, кто интересуется спортом, а только любителей фитнеса или тенниса. — Таргетинг по привычкам. Находите аудиторию по поведению в онлайне и офлайне — например, тех, кто регулярно посещает торговые центры или часто покупает товары в интернете. — Более гибкие настройки. Можно сочетать интересы и социально-демографические характеристики с жанрами и тематиками контента. 👌 Используйте новые возможности, чтобы сделать рекламу на Connected TV еще эффективнее Узнать больше #реклама yandex.ru О рекламодателе

🤔 Как ты можешь описать абстракцию? Это принцип объектно-ориентированного программирования (ООП), который скрывает детали реализации объекта и показывает только его наиболее важные характеристики. Она позволяет сосредоточиться на сущности объекта, игнорируя его внутреннюю сложность. 🚩Абстракция В Java абстракция достигается через: Абстрактные классы Интерфейсы 🟠Абстрактные классы Абстрактный класс — это класс, который не может быть создан напрямую, но может содержать: Абстрактные методы (без реализации, только сигнатуры); Обычные методы (с реализацией). Используется, если вы хотите описать общее поведение для группы классов, но часть поведения оставить на усмотрение конкретных подклассов.
abstract class Animal {
    // Абстрактный метод — реализуется в подклассах
    abstract void makeSound();

    // Обычный метод
    void eat() {
        System.out.println("This animal eats food.");
    }
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Woof!");
    }
}

class Cat extends Animal {
    @Override
    void makeSound() {
        System.out.println("Meow!");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal dog = new Dog();
        dog.makeSound(); // Woof!
        dog.eat();       // This animal eats food.

        Animal cat = new Cat();
        cat.makeSound(); // Meow!
    }
}
🟠Интерфейсы Интерфейс — это чистый контракт, который определяет набор методов, которые класс должен реализовать. В отличие от абстрактного класса: Интерфейс не может содержать полей (кроме static final). Класс может реализовать несколько интерфейсов (множественное наследование).
interface Vehicle {
    void start(); // метод без реализации
    void stop();
}

class Car implements Vehicle {
    @Override
    public void start() {
        System.out.println("Car is starting.");
    }

    @Override
    public void stop() {
        System.out.println("Car is stopping.");
    }
}

class Bike implements Vehicle {
    @Override
    public void start() {
        System.out.println("Bike is starting.");
    }

    @Override
    public void stop() {
        System.out.println("Bike is stopping.");
    }
}

public class Main {
    public static void main(String[] args) {
        Vehicle car = new Car();
        car.start(); // Car is starting.
        car.stop();  // Car is stopping.

        Vehicle bike = new Bike();
        bike.start(); // Bike is starting.
        bike.stop();  // Bike is stopping.
    }
}
🚩Почему важна абстракция? 🟠Скрытие сложностей Программистам не нужно знать все детали реализации объекта. Они работают только с его интерфейсом. 🟠Упрощение понимания Код становится понятным и модульным, так как мы сосредоточиваемся на важной логике. 🟠Повторное использование Абстракция позволяет использовать один и тот же код для разных объектов. 🟠Гибкость и поддержка Если нужно изменить реализацию, это не затронет остальную часть программы (если она работает через абстрактный контракт). Ставь 👍 и забирай 📚 Базу знаний

Метрики Delivery Manager: что измерять, а что — нет Большое количество показателей не делает поставку более управляемой. Кома
Метрики Delivery Manager: что измерять, а что — нет Большое количество показателей не делает поставку более управляемой. Команда может регулярно заполнять отчёты, отслеживать скорость и обновлять дашборды, но всё равно с опозданием узнавать о проблемах со сроками, качеством и нагрузкой. Метрика полезна только тогда, когда помогает увидеть риск, принять решение или изменить процесс, а не просто создаёт ощущение контроля. На открытом уроке 19 августа в 20:00 в OTUS разберём, какие показатели отражают реальное состояние поставки и помогают Delivery Manager управлять сроками, качеством и предсказуемостью работы. Поговорим о том, как выбирать метрики для команды и проекта, не перегружая процессы лишней отчётностью. Узнать больше #реклама 16+ otus.ru О рекламодателе

🤔 Чем отличаются HashSet и LinkedHashSet? - HashSet: - Быстрая вставка и поиск. - Не сохраняет порядок элементов. - LinkedHashSet: - Также использует хеш-таблицу. - Сохраняет порядок вставки элементов. Выбирают в зависимости от требований к порядку. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что за исключение Interrupted Exception? InterruptedException — это проверяемое исключение (checked exception) в Java, которое выбрасывается, когда поток (Thread) прерывается во время выполнения метода, который поддерживает прерывание (например, sleep(), wait(), join() и др.). 🚩Почему `InterruptedException` существует? В многопоточной среде иногда требуется прервать выполнение потока, например, для завершения долгой задачи или для корректной остановки программы. Вместо грубого завершения потока (Thread.stop(), который устарел и считается небезопасным) Java предлагает мягкий способ прерывания через флаг прерывания и обработку InterruptedException. 🚩Когда выбрасывается `InterruptedException`? Это исключение выбрасывается, если поток: 1. Ожидает (wait(), join()) 2. Спит (sleep()) 3. Блокируется на очереди (BlockingQueue.take(), LockSupport.park()) И при этом его прерывают с помощью метода interrupt(). Пример кода: обработка InterruptedException
class MyThread extends Thread {
    public void run() {
        try {
            System.out.println("Поток засыпает...");
            Thread.sleep(5000); // Поток засыпает на 5 секунд
        } catch (InterruptedException e) {
            System.out.println("Поток был прерван во время сна!");
        }
        System.out.println("Поток продолжает работу...");
    }
}

public class Main {
    public static void main(String[] args) {
        MyThread t = new MyThread();
        t.start();

        try {
            Thread.sleep(2000); // Даем потоку 2 секунды поработать
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        t.interrupt(); // Прерываем поток
    }
}
Вывод программы
Поток засыпает...
Поток был прерван во время сна!
Поток продолжает работу...
🚩Что делать после `InterruptedException`? 1. Просто обработать исключение (как в примере выше). 2. Передать исключение дальше — например, если метод не может корректно обработать прерывание, он передает его вызывающему коду:
   void myMethod() throws InterruptedException {
       Thread.sleep(1000); // Может выбросить исключение
   }
🟠Восстановить флаг прерывания если прерывание важно для логики программы:
   catch (InterruptedException e) {
       Thread.currentThread().interrupt(); // Восстанавливаем флаг прерывания
   }
Ставь 👍 и забирай 📚 Базу знаний

Аренда VPS/VDS-сервера. Виртуальные выделенные серверы в дата-центрах уровня Tier III — 7 готовых конфигураций от 200 ₽/мес.
Аренда VPS/VDS-сервера. Виртуальные выделенные серверы в дата-центрах уровня Tier III — 7 готовых конфигураций от 200 ₽/мес. Преимущества аренды: - Выделенные ресурсы без переплаты; - KVM-виртуализация; - Быстрые NVMe SSD; - Соответствие 152-ФЗ, PCI DSS; - Бесплатная защита от DDoS; - Управление через панель, API и Terraform; - Техподдержка 24/7. Запустите сервер за несколько минут! Попробовать #реклама 16+ selectel.ru О рекламодателе

🤔 Что такое HQL? HQL (Hibernate Query Language) — это язык запросов, похожий на SQL, но оперирующий Java-классами и их свойствами, а не таблицами и колонками. Он позволяет работать с объектной моделью и использовать возможности Hibernate ORM. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Чем stub отличается от mock? В тестировании разница между Stub и Mock заключается в их предназначении и способе использования. 🚩Stub (Заглушка) Stub – это простейший объект-заглушка, который возвращает заранее заданные данные. Он не проверяет, какие методы были вызваны, а просто отвечает на запросы.
class UserRepositoryStub implements UserRepository {
    @Override
    public User findById(Long id) {
        return new User(id, "Иван"); // Просто возвращает статичные данные
    }
}
🚩Mock (Макет) Mock – это объект, который имитирует поведение реального объекта и позволяет проверять вызовы методов (сколько раз был вызван, с какими аргументами и т. д.).
UserRepository userRepository = mock(UserRepository.class);
when(userRepository.findById(1L)).thenReturn(new User(1L, "Иван"));

User user = userRepository.findById(1L);

verify(userRepository, times(1)).findById(1L); // Проверяем, что метод был вызван 1 раз
Ставь 👍 и забирай 📚 Базу знаний

До 1 218 000₽ выгоды на туристический автобус Газель NN! Туристический бизнес — время обновлять автопарк! Туристический автоб
До 1 218 000₽ выгоды на туристический автобус Газель NN! Туристический бизнес — время обновлять автопарк! Туристический автобус Газель NN — 19 комфортных мест, багажник 600 л, салон высотой более 190 см, анатомические сиденья, кондиционер 14,5 кВт, низкий расход топлива (от 10.5 л/100 км) и телематика «Спутник» (экономия до 20%). До 31 августа — максимальная выгода до 1 218 000 ₽: суммируются скидки по Гослизингу и Фирменному лизингу. Машины в наличии. Количество ограничено. Успейте! ⚡Запросить расчёт выгоды за 2 минуты на stt.ru Узнать больше #реклама stt.ru О рекламодателе

🤔 Что такое Web application? Web application (веб-приложение) — это программное приложение, которое работает на веб-сервере и доступно пользователям через веб-браузер с использованием сети (например, Интернета). Примеры: интернет-магазины, почтовые клиенты, CRM-системы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 К какой категории сущности относится Primary Key? Primary Key (первичный ключ) в базах данных относится к категории ограничений (constraints). Это специальное ограничение, которое накладывается на столбец или группу столбцов таблицы, чтобы однозначно идентифицировать каждую строку (запись) в таблице. 🚩Основные свойства Primary Key 🟠Уникальность Значение первичного ключа должно быть уникальным для каждой строки. Это исключает дублирование записей. 🟠Не может быть NULL Столбец (или столбцы), определённый как Primary Key, не допускает значения NULL, так как NULL не может однозначно идентифицировать строку. 🟠Только один Primary Key на таблицу Таблица может иметь только один первичный ключ, но он может состоять из одного столбца (простой ключ) или нескольких (составной ключ). 🚩Зачем нужен Primary Key? Для однозначной идентификации записей в таблице. Для создания связей между таблицами в реляционных базах данных (внешние ключи ссылаются на первичный ключ другой таблицы). Для ускорения поиска и манипуляций с данными за счёт создания индекса на столбец первичного ключа. 🚩Пример использования Primary Key Простой первичный ключ
CREATE TABLE Users (
    user_id INT PRIMARY KEY,
    username VARCHAR(50),
    email VARCHAR(100)
);
Составной первичный ключ
CREATE TABLE Orders (
    order_id INT,
    product_id INT,
    PRIMARY KEY (order_id, product_id)
);
Ставь 👍 и забирай 📚 Базу знаний

Yandex Ecom Open Air — летнее событие про онлайн-продажи Yandex Ecom Open Air 2026 объединяет деловую программу, живое общение и атмосферу фестиваля в одном потоке. Здесь обсуждают технологии, которые становятся частью среды. Исследуют силы, которые влияют на весь рынок. Находят новые связи, идеи и точки роста. В течение дня пространство фестиваля наполняют выступления, дискуссии, встречи, специальные форматы, музыка и активности партнёров. Присоединиться к происходящему можно из любой точки — на площадке фестиваля или через онлайн-трансляцию. Зарегистрироваться #реклама 18+ ecomfest.ru О рекламодателе

🤔 Какие методы располагаются в интерфейсе? В интерфейсе могут быть абстрактные методы, которые по умолчанию являются public и abstract. Java 8 добавила методы с реализацией по умолчанию (default) и статические методы (static). Также можно использовать приватные методы (private) для внутренних нужд интерфейса. Это делает интерфейсы более функциональными и гибкими для расширения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие шаги нужно выполнить для прочтения текстового файла? Для прочтения текстового файла в Java нужно выполнить несколько шагов. 1⃣Выбор метода чтения файла В Java есть несколько способов читать текстовые файлы: 1. Использование класса FileReader. 2. Использование BufferedReader для построчного чтения. 3. Использование java.nio.file.Files для чтения всех строк файла. 4. Применение Scanner для гибкого чтения данных. 2⃣Открытие файла Нужно указать путь к файлу (абсолютный или относительный) и передать его в выбранный класс. Например:
FileReader reader = new FileReader("file.txt");
3⃣Чтение данных Выберите подходящий метод для обработки содержимого файла: - Построчное чтение. - Чтение символов. - Чтение всех строк сразу (например, через Files.readAllLines). 4⃣Закрытие ресурса Для освобождения системных ресурсов после работы с файлом нужно закрыть поток. Это делается вручную или с помощью конструкции try-with-resources. 🚩Примеры реализации Построчное чтение с BufferedReader
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReadExample {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line); // Вывод строки
            }
        } catch (IOException e) {
            System.out.println("Ошибка: " + e.getMessage());
        }
    }
}
Чтение файла с помощью Files
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.List;

public class FileReadExample {
    public static void main(String[] args) {
        try {
            List<String> lines = Files.readAllLines(Paths.get("file.txt"));
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.out.println("Ошибка: " + e.getMessage());
        }
    }
}
Чтение через Scanner
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileReadExample {
    public static void main(String[] args) {
        try (Scanner scanner = new Scanner(new File("file.txt"))) {
            while (scanner.hasNextLine()) {
                System.out.println(scanner.nextLine()); // Построчное чтение
            }
        } catch (FileNotFoundException e) {
            System.out.println("Файл не найден: " + e.getMessage());
        }
    }
}
Ставь 👍 и забирай 📚 Базу знаний

Код написал ИИ. Кто проверит? ⚡ ИИ помогает писать и менять код быстрее, но вместе с тем меняется зона ответственности команд
Код написал ИИ. Кто проверит? ⚡ ИИ помогает писать и менять код быстрее, но вместе с тем меняется зона ответственности команды. 👍 Как оценивать результат, если изменения появляются быстрее привычного цикла ревью? ✨ Что делать с рисками, которые обнаруживаются уже после выпуска? 📅 25.08.26 на вебинаре эксперты ГК "СОЛАР", Hexway и Luntry обсудят практики безопасной разработки в условиях ИИ-ускорения - от работы с кодом до контейнеризированной инфраструктуры. 25 августа в 12:00 МСК. Регистрация открыта. Узнать больше #реклама 16+ rt-solar.ru О рекламодателе