Java | Вопросы собесов
前往频道在 Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
显示更多📈 Telegram 频道 Java | Вопросы собесов 的分析概览
频道 Java | Вопросы собесов (@easy_java_ru) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 11 316 名订阅者,在 技术与应用 类别中位列第 10 942,并在 俄罗斯 地区排名第 56 602 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 11 316 名订阅者。
根据 26 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -26,过去 24 小时变化为 -2,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 10.08%。内容发布后 24 小时内通常能获得 6.23% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 1 141 次浏览,首日通常累积 705 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 7。
- 主题关注点: 内容集中在 ставь, void, string, строка, static 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy
Контакт для рекламы: @sendme_ads”
凭借高频更新(最新数据采集于 27 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
11 316
订阅者
-224 小时
-237 天
-2630 天
帖子存档
11 313
🤔 Какой механизм используется при реализации параллельных стримов?
Параллельные стримы используют ForkJoinPool, а именно его общий (common) пул потоков.
Он применяет алгоритм fork-join:
- разбивает задачи на подзадачи,
- распределяет их между потоками.
Это позволяет выполнять операции над потоками в разных потоках параллельно, если они не зависят друг от друга.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
11 313
Квартиры Петербург Новостройка Рассрочка от застройщика
Жилой комплекс "Квартал Заречье"
Санкт-Петербург. Колпино.
4 девятиэтажных жилых корпуса
8-этажный крытый гараж на 496 парковочных мест
В живописном месте у реки Ижора.
На первых этажах будут размещены магазины, кофейни, поликлиника и зона коворкинга.
Перейти на сайт
Финансовые услуги оказывает: ПАО «Сбербанк». Проектная декларация на сайте https://наш.дом.рф/. Застройщик: ООО «СЗ «ЗАГОРОДНАЯ, 71».
#реклама
квартал-заречье.рф
О рекламодателе
11 313
🤔 Чем 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 раз
Ставь 👍 и забирай 📚 Базу знаний11 313
Индивидуальная подготовка ЕГЭ по химии и биологии
Преподаватель-эксперт.
Опыт 25 лет, 2900+ учеников. Ежедневная поддержка, взаимодействие с родителями.
Перейти на сайт
#реклама 16+
smirnovscience.ru
О рекламодателе
11 313
🤔 Что будет, если применить volatile к объектам?
volatile применимо к ссылке на объект, но не к самому объекту.
Это значит:
- ссылка будет видна всем потокам;
- поля объекта не становятся volatile, если они изменяются напрямую;
- это не защищает от состояний гонки внутри объекта.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
11 313
Новые авто из Китая под заказ без скрытых расходов
Привезем новое авто из Китая под ключ без ожидания 180 дней. Подберем за минуту!
Узнать больше
#реклама
mrqz.me
О рекламодателе
11 313
🤔 Чем отличается обычный объект от Bean?
В Spring термин Bean (бин) означает объект, управляемый Spring-контейнером.
🟠Обычный объект (Java POJO)
Создаётся вручную, Spring о нём ничего не знает
class Car {
void drive() {
System.out.println("Машина едет...");
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car(); // Создаём объект вручную
car.drive();
}
}
🟠Spring Bean (управляемый объект)
Spring создаёт и управляет бином через аннотации.
import org.springframework.stereotype.Component;
@Component // Сообщает Spring, что этот класс - Bean
class Car {
void drive() {
System.out.println("Spring-машина едет...");
}
}
Теперь объект создаётся Spring-контейнером
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); // Получаем Bean из Spring-контейнера
car.drive();
}
}
Ставь 👍 и забирай 📚 Базу знаний11 313
Москвич 3 от 1 780 000 ₽. Удар по ценам в сентябре
Мощность 136 л.с. Хромированные вставки. Подходит для АИ-92. Предложение ограничено
Узнать больше
#реклама
moskvich.ru
О рекламодателе
11 313
🤔 Зачем добавили ArrayList, если уже был Vector?
- Vector — синхронизирован, что делает его менее производительным;
- ArrayList — не синхронизирован, работает быстрее;
- Добавление ArrayList даёт контроль над потокобезопасностью.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
11 313
Бесплатный курс: веб-дизайн, графика, интерфейсы
Научись создавать дизайн сайтов и приложений, инфографику для карточек на маркетплейсах и работать в Figma!
Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰
Этот курс для тебя, если ты:
✅ мечтаешь о новой профессии, но не знаешь, с чего начать;
✅ чувствуешь, что хочешь большего — свободы, самореализации, творчества;
✅ полный новичок и хочешь систему, а не хаос;
✅ хочешь начать зарабатывать удалённо.
Зарегистрироваться
#реклама 16+
ydaev.ru
О рекламодателе
11 313
🤔 Что такое heap, stack?
В контексте Java, Heap (куча) и Stack (стек) являются областями памяти, используемыми JVM для управления памятью, необходимой для выполнения программы. Каждая из этих областей имеет свои характеристики и используется для разных целей.
🚩Heap (Куча)
Heap — это область памяти, выделенная для динамического распределения памяти объектов и массивов. Все объекты, созданные с использованием оператора
new, размещаются в куче.
🟠Особенности
Куча разделена на поколения: молодое поколение (Young Generation) и старое поколение (Old Generation).
Молодое поколение включает в себя области Eden Space и Survivor Spaces (S0 и S1).
Старое поколение хранит долгоживущие объекты.
🟠Управление памятью
Куча управляется сборщиком мусора (Garbage Collector), который автоматически освобождает память, занятую объектами, которые больше не используются.
🟠Использование
Куча используется для хранения объектов, массивов и классов, информация о которых сохраняется на протяжении всего времени их жизни.
public class Example {
public static void main(String[] args) {
Example obj = new Example(); // obj создается в куче
}
}
🚩Stack (Стек)
Стек — это область памяти, используемая для управления вызовами методов и хранения локальных переменных, параметров методов и информации о возвратах.
🟠Особенности
Каждый поток имеет свой собственный стек.
Стек хранит кадры (frames) для каждого вызова метода. Каждый кадр содержит локальные переменные метода и информацию о вызовах.
🟠Управление памятью
Память в стеке автоматически управляется при вызове методов и выходе из них. Когда метод вызывается, создается новый кадр в стеке; когда метод завершает выполнение, его кадр удаляется из стека.
🟠Использование
Стек используется для хранения примитивных типов данных и ссылок на объекты, которые находятся в куче.
Локальные переменные методов и параметры методов хранятся в стеке.
public class Example {
public static void main(String[] args) {
int localVar = 10; // localVar хранится в стеке
Example obj = new Example(); // Ссылка на obj хранится в стеке, а сам объект — в куче
obj.method();
}
public void method() {
int anotherVar = 20; // anotherVar хранится в стеке
}
}
Ставь 👍 и забирай 📚 Базу знаний11 313
Яндекс Музыка до 360 дней бесплатно
Яндекс Музыка для вас и 3-х ваших близких.
Кинопоиск и Яндекс Книги тоже в мультиподписке Плюс.
Попробуйте бесплатно❤️
Слушать
#реклама 18+
music.yandex.ru
О рекламодателе
11 313
🤔 Перечисли основные виды селекторов.
Основные виды селекторов:
- Селектор по тегу (div, p);
- Селектор по классу (.my-class);
- Селектор по идентификатору (#my-id);
- Групповые селекторы (h1, h2);
- Потомковые (div p);
- Дочерние (div > p);
- Соседние (h1 + p);
- Универсальный (*).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
11 313
❗️ Как ИИ меняет бэкэнд? Узнаем на митапе в Нижнем Новгороде
10 сентября пройдет митап Т1 для сообщества разработчиков и архитекторов «Т1 Лампа: Бэкэнд 2.0».
Т1 Лампа — это серия неформальных технологических мероприятий от ИТ-холдинга Т1, одной из крупнейших ИТ-компании страны, создающей решения для большого бизнеса и государства.Обсудим: 4 технических доклада про ИИ-агентов, локальный запуск LLM, MCP и работу с ресурсами. 🗒Зачем приходить: задать вопросы, найти единомышленников и сравнить подходы с опытом других команд. Формат: бесплатно, офлайн, без трансляции. 📍Нижний Новгород, Зеленский съезд, 4, Forself 🕓10 сентября, 19:00 ➡️ Участие бесплатное, требуется регистрация. Реклама. 18+ О рекламодателе
11 313
🤔 Каким образом можно заставить поток выполнится приоритет и есть ли такая возможность в Java?
В Java у каждого потока есть приоритет, но он не гарантирует порядок выполнения.
🟠Использование `setPriority(int priority)`
Java позволяет задавать приоритет потока с помощью метода
setPriority(), который принимает значение от 1 до 10:
Thread.MIN_PRIORITY (1) – минимальный приоритет
Thread.NORM_PRIORITY (5) – стандартный приоритет (по умолчанию)
Thread.MAX_PRIORITY (10) – максимальный приоритет
class MyThread extends Thread {
public MyThread(String name, int priority) {
super(name);
setPriority(priority);
}
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(getName() + " выполняется с приоритетом " + getPriority());
}
}
}
public class Main {
public static void main(String[] args) {
MyThread low = new MyThread("Low Priority", Thread.MIN_PRIORITY);
MyThread high = new MyThread("High Priority", Thread.MAX_PRIORITY);
low.start();
high.start();
}
}
🟠Почему `setPriority()` не даёт 100% контроль?
Приоритет – это всего лишь рекомендация для ОС.
Распределение процессорного времени зависит от планировщика ОС.
В Windows, Linux, macOS приоритеты работают по-разному, и Java не контролирует их на низком уровне.
🟠Как действительно заставить поток выполниться первым?
Реальные способы управления порядком выполнения:
а) Использование join()
Позволяет дождаться выполнения одного потока перед запуском другого.
public class Main {
public static void main(String[] args) throws InterruptedException {
Thread high = new MyThread("High Priority", Thread.MAX_PRIORITY);
Thread low = new MyThread("Low Priority", Thread.MIN_PRIORITY);
high.start();
high.join(); // Ждём, пока high завершится
low.start(); // Теперь запускается low
}
}
б) Использование Executors.newSingleThreadExecutor()
Позволяет гарантированно выполнять потоки по очереди.
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(() -> System.out.println("Задача 1"));
executor.submit(() -> System.out.println("Задача 2"));
executor.shutdown();
}
}
Ставь 👍 и забирай 📚 Базу знаний11 313
Как PostgreSQL ведёт себя под большой нагрузкой
Борьба с блокировками в PostgreSQL: как сохранить параллельность при высокой нагрузке.
📅 8 сентября, 20:00 МСК - открытый урок курса «Высоконагруженные системы: архитектура и масштабирование».
📚 Разберём блокировки на уровне транзакций и строк, научимся выявлять взаимные блокировки и узкие места. На реальных примерах покажем оптимизацию запросов и архитектурные приёмы для поддержания производительности.
Для разработчиков, архитекторов, инженеров, DBA и аналитиков, работающих с PostgreSQL.
Регистрируйтесь - получите практические приёмы и спецусловия на обучение. 😊
Узнать больше
#реклама 16+
otus.ru
О рекламодателе
11 313
🤔 Что известно про приведение типов? Что такое понижение и повышение типа?
- Повышение типа (Widening) — безопасное преобразование от меньшего типа к большему (например, int → long).
- Понижение типа (Narrowing) — преобразование от большего типа к меньшему, требует явного указания и может привести к потере данных (double → int).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
11 313
🤔 Какие типы данных есть в контексте JVM?
В контексте JVM (Java Virtual Machine) типы данных делятся на два основных класса: примитивные типы данных и ссылочные типы данных.
🚩Примитивные типы данных
Примитивные типы данных представляют собой базовые типы, которые не являются объектами и хранят непосредственно значения. Они делятся на числовые типы, логический тип и символьный тип.
🟠Числовые типы
Целочисленные типы
byte: 8-битный знаковый целочисленный тип данных (диапазон от -128 до 127).
short: 16-битный знаковый целочисленный тип данных (диапазон от -32,768 до 32,767).
int: 32-битный знаковый целочисленный тип данных (диапазон от -2^31 до 2^31-1).
long: 64-битный знаковый целочисленный тип данных (диапазон от -2^63 до 2^63-1).
Типы с плавающей точкой
float: 32-битный IEEE 754 тип данных с плавающей точкой одинарной точности.
double: 64-битный IEEE 754 тип данных с плавающей точкой двойной точности.
🟠Логический тип
boolean: Представляет логическое значение (true или false).
🟠Символьный тип
char: 16-битный тип данных, представляющий символ Unicode (диапазон от '\u0000' до '\uffff').
🚩Ссылочные типы данных
Ссылочные типы данных представляют собой объекты и массивы. Они хранят ссылку на область памяти, где хранятся данные объекта или массива.
🟠Классы (Classes)
Любой объектный тип данных является экземпляром класса. Классы могут быть как стандартными (например, String, Integer), так и пользовательскими.
🟠Интерфейсы (Interfaces)
Интерфейсы определяют набор методов, которые должны быть реализованы классами, которые их реализуют.
🟠Массивы (Arrays)
Массивы могут быть одномерными или многомерными и могут хранить как примитивные, так и ссылочные типы данных.
🚩Пример примитивных и ссылочных типов данных
public class DataTypesExample {
public static void main(String[] args) {
// Примитивные типы данных
byte aByte = 10;
short aShort = 100;
int anInt = 1000;
long aLong = 10000L;
float aFloat = 10.5f;
double aDouble = 10.55;
boolean aBoolean = true;
char aChar = 'A';
// Ссылочные типы данных
String aString = "Hello, World!";
Integer anInteger = 1000;
int[] anArray = {1, 2, 3, 4, 5};
// Вывод примитивных типов данных
System.out.println("byte: " + aByte);
System.out.println("short: " + aShort);
System.out.println("int: " + anInt);
System.out.println("long: " + aLong);
System.out.println("float: " + aFloat);
System.out.println("double: " + aDouble);
System.out.println("boolean: " + aBoolean);
System.out.println("char: " + aChar);
// Вывод ссылочных типов данных
System.out.println("String: " + aString);
System.out.println("Integer: " + anInteger);
System.out.println("Array: " + java.util.Arrays.toString(anArray));
}
}
Ставь 👍 и забирай 📚 Базу знаний11 313
Регистрируйтесь на Yandex Scale 2026
Главная конференция Yandex Cloud.
Узнайте о сервисах, которые меняют ваш бизнес.
4 офлайн-трека (AI, Infra + DevTools, Data, Security), онлайн-трек Deep Tech, воркшопы по ИИ и интерактивы. Подробнее о программе читайте в карточках🗒
📅24 сентября
🚗Москва + 💻онлайн
Участие бесплатное!
Зарегистрироваться
#реклама 16+
scale.yandex.cloud
О рекламодателе
11 313
🤔 За счёт чего NIO обеспечивает неблокируемый доступ к ресурсам?
Java NIO использует каналы (Channels) и селекторы (Selectors) вместо потоков ввода/вывода. Каналы работают напрямую с буферами и позволяют обрабатывать множество подключений без блокировки — один поток может отслеживать множество каналов и реагировать на их готовность к чтению или записи. Это делает I/O более эффективным, особенно при работе с большим числом соединений.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
