Библиотека собеса по Java | вопросы с собеседований
الذهاب إلى القناة على Telegram
Вопросы с собеседований по Java и ответы на них. По рекламе: @proglib_adv Учиться у нас: clc.to/3wECtA Для обратной связи: @proglibrary_feeedback_bot
إظهار المزيد6 487
المشتركون
+224 ساعات
-17 أيام
+1230 أيام
جاري تحميل البيانات...
القنوات المماثلة
سحابة العلامات
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
يونيو '26
يونيو '26
+58
في 2 قنوات
مايو '26
+83
في 3 قنوات
Get PRO
أبريل '26
+87
في 2 قنوات
Get PRO
مارس '26
+81
في 2 قنوات
Get PRO
فبراير '26
+121
في 4 قنوات
Get PRO
يناير '26
+93
في 1 قنوات
Get PRO
ديسمبر '25
+96
في 5 قنوات
Get PRO
نوفمبر '25
+112
في 2 قنوات
Get PRO
أكتوبر '25
+94
في 1 قنوات
Get PRO
سبتمبر '25
+95
في 1 قنوات
Get PRO
أغسطس '25
+78
في 3 قنوات
Get PRO
يوليو '25
+98
في 0 قنوات
Get PRO
يونيو '25
+70
في 0 قنوات
Get PRO
مايو '25
+78
في 0 قنوات
Get PRO
أبريل '25
+133
في 1 قنوات
Get PRO
مارس '25
+283
في 52 قنوات
Get PRO
فبراير '25
+176
في 31 قنوات
Get PRO
يناير '25
+207
في 35 قنوات
Get PRO
ديسمبر '24
+179
في 35 قنوات
Get PRO
نوفمبر '24
+326
في 37 قنوات
Get PRO
أكتوبر '24
+284
في 35 قنوات
Get PRO
سبتمبر '24
+299
في 35 قنوات
Get PRO
أغسطس '24
+289
في 35 قنوات
Get PRO
يوليو '24
+275
في 35 قنوات
Get PRO
يونيو '24
+272
في 31 قنوات
Get PRO
مايو '24
+429
في 37 قنوات
Get PRO
أبريل '24
+474
في 37 قنوات
Get PRO
مارس '24
+299
في 29 قنوات
Get PRO
فبراير '24
+373
في 29 قنوات
Get PRO
يناير '24
+392
في 24 قنوات
Get PRO
ديسمبر '23
+900
في 26 قنوات
Get PRO
نوفمبر '23
+229
في 3 قنوات
Get PRO
أكتوبر '23
+369
في 22 قنوات
Get PRO
سبتمبر '23
+1 761
في 0 قنوات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 24 يونيو | +1 | |||
| 23 يونيو | +2 | |||
| 22 يونيو | +3 | |||
| 21 يونيو | +4 | |||
| 20 يونيو | +2 | |||
| 19 يونيو | +2 | |||
| 18 يونيو | +3 | |||
| 17 يونيو | +1 | |||
| 16 يونيو | +2 | |||
| 15 يونيو | +2 | |||
| 14 يونيو | 0 | |||
| 13 يونيو | +6 | |||
| 12 يونيو | +2 | |||
| 11 يونيو | 0 | |||
| 10 يونيو | 0 | |||
| 09 يونيو | +1 | |||
| 08 يونيو | +1 | |||
| 07 يونيو | +4 | |||
| 06 يونيو | +5 | |||
| 05 يونيو | +3 | |||
| 04 يونيو | +5 | |||
| 03 يونيو | +5 | |||
| 02 يونيو | +1 | |||
| 01 يونيو | +3 |
منشورات القناة
👩💻 Алгоритмическая сложность коллекций в Java
Приглашаем на открытый урок.
🗓 01 июля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик».
Программа урока:
✔️Основы алгоритмической сложности и принцип работы о-нотации;
✔️Влияние сложности операций на выбор подходящих коллекций;
✔️Сравнение популярных коллекций Java по эффективности выполнения различных операций;
✔️Практическая демонстрация, в которой будет показано, как эффективно использовать коллекции;
✔️Рекомендации по выбору коллекций для решения задач разного уровня сложности.
🔗 Ссылка на регистрацию: https: https://clc.to/ZUqYAg
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
| 2 | ❓ Чем WHERE отличается от HAVING?
Оба фильтруют, но на разных этапах выполнения запроса.
🔹 WHERE отсекает строки до группировки (GROUP BY) и не может работать с агрегатными функциями.
🔹 HAVING отсекает уже сгруппированные данные после агрегации и умеет работать с агрегатами (COUNT, SUM, AVG).
Логический порядок выполнения: WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
🐸 Библиотека собеса по Java | 529 |
| 3 | ❓ Какие бывают уровни изоляции транзакций?
От слабого к строгому:
→ READ UNCOMMITTED — видны незакоммиченные изменения других транзакций (грязное чтение).
→ READ COMMITTED — видны только закоммиченные данные, но при повторном чтении строки значение может измениться (неповторяющееся чтение).
→ REPEATABLE READ — одна и та же строка читается стабильно в рамках транзакции, но возможны фантомы (новые строки, подходящие под условие).
→ SERIALIZABLE — полная изоляция, транзакции выполняются как будто строго последовательно.
Чем выше уровень, тем меньше аномалий, но больше блокировок и ниже пропускная способность. Выбор — это компромисс между корректностью и производительностью.
🐸 Библиотека собеса по Java | 628 |
| 4 | 🤖 Какие задачи можно действительно доверить ИИ?
Уже завтра разберём это на открытом уроке «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов».
Спикер — Ольга Лукьянова, руководитель команды поиска и навигации по коду в SourceCraft от Яндекса.
После урока вы:
🔹 поймёте, какие задачи стоит делегировать AI уже сегодня;
🔹 научитесь быстрее разбираться в новых проектах и кодовой базе;
🔹 увидите, как выглядит современный workflow разработки с AI;
🔹 узнаете, где AI помогает экономить время, а где всё ещё нужен контроль разработчика.
На практике разберём путь от получения задачи до готового Pull Request с использованием AI-инструментов и AI-ревью.
🗓️ 23 июня, 19:00 (МСК)
⏱️ 90 минут
👉 Зарегистрироваться и получить рабочий AI-workflow для своих задач | 593 |
| 5 | ✔️ Java-тест: медленный сервис кладёт всё приложение
Внешний API затупил на 30 секунд и наш сервис перестал отвечать целиком 👇
📦 Задание — code review
Ходим во внешний платёжный шлюз через RestTemplate.
@Configuration
public class HttpConfig {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
@Service
@RequiredArgsConstructor
public class PaymentGatewayClient {
private final RestTemplate restTemplate;
public GatewayResponse charge(ChargeRequest request) {
return restTemplate.postForObject(
"https://gateway.example.com/charge",
request,
GatewayResponse.class
);
}
}
▪️ Объясни
— Что происходит с пулом потоков Tomcat, когда внешний шлюз отвечает медленно или висит.
— Почему «ложится» всё приложение, хотя тормозит только один внешний вызов.
— Как настроить таймауты правильно (connect / read), зачем connection pool и где здесь место для timeout + circuit breaker / bulkhead.
Ставьте → 🔥, если нравится формат. Если нет → 🌚
💬 Решения под спойлер. Сравним, какое будет лучше.
🐸 Библиотека собеса по Java
#practise | 1 844 |
| 6 | 🤖 AI пишет код за вас? Это самое скучное, что он умеет
Основное время разработчик тратит на другое: разобраться в чужой кодовой базе, найти нужный участок проекта, проверить решение, собрать Pull Request. Вот где AI реально экономит часы — если знать, как им пользоваться.
23 июня Ольга Лукьянова покажет это на практике: как с помощью современных AI-инструментов быстро погружаться в незнакомый проект, находить нужный код, реализовывать задачи и проверять результат до ревью коллег.
В итоге вы увидите не отдельные приёмы и промпты, а целостный workflow, который можно встроить в свою работу уже на следующий день 🔥
Чтобы лучше погрузиться в тему:
📺 Выступление про SourceCraft
📖 Статья на Хабре
🗓️ Когда: 23 июня, 19:00 (МСК)
👉 Занять место на открытом уроке | 631 |
| 7 | ❓ Что такое индекс в БД и почему он ускоряет поиск?
Индекс — это отдельная структура данных (чаще всего B-дерево), которая хранит отсортированные значения столбца со ссылками на соответствующие строки таблицы.
Благодаря сортировке поиск идёт за O(log n) вместо полного сканирования таблицы O(n). Это как алфавитный указатель в книге: не нужно читать всё подряд.
Цена: индекс занимает место на диске и замедляет INSERT/UPDATE/DELETE, потому что его тоже нужно поддерживать в актуальном состоянии. Поэтому индексируют столбцы, которые часто используются в WHERE, JOIN, ORDER BY, а не всё подряд.
🐸 Библиотека собеса по Java
#sql | 688 |
| 8 | ❓ В чём разница между @Component и @Bean?
Оба регистрируют бин в контейнере, но по-разному:
@Component (и специализации @Service, @Repository, @Controller) вешается на класс. Spring сам находит его при сканировании компонентов и создаёт бин. Подходит для своих классов, которые вы пишете сами.
@Bean вешается на метод внутри @Configuration-класса. Вы вручную создаёте объект и возвращаете его. Это нужно, когда:
→ бин из чужой библиотеки, куда нельзя добавить аннотацию;
→ требуется нетривиальная логика конструирования;
→ нужно условно собрать разные реализации.
🐸 Библиотека собеса по Java
#spring | 788 |
| 9 | ❓ Как Spring разрешает циклические зависимости между бинами?
Для синглтонов с внедрением через поля или сеттеры через кеш ранних ссылок (трёхуровневый кеш). Spring создаёт «сырой» экземпляр бина, кладёт раннюю ссылку на него до завершения инициализации, и второй бин в цикле получает эту ссылку, не дожидаясь полной готовности первого.
А вот при внедрении через конструктор цикл разрешить нельзя: чтобы создать бин A, нужен готовый B, а чтобы создать B — готовый A. Результат — BeanCurrentlyInCreationException.
Лучшее решение — устранить цикл, так как это обычно запах архитектуры. Как костыль — @Lazy на одной из зависимостей.
🐸 Библиотека собеса по Java
#spring | 922 |
| 10 | ⏰ Уже сегодня в 19:00 (МСК) стартует открытый урок!
Тема:
«Мультиагентные системы: почему большинство архитектур переусложнены»
🔥 За 90 минут разберёмся, когда действительно стоит строить мультиагентную систему, а когда она только добавляет сложность, расходы и новые точки отказа.
Поговорим о критериях выбора архитектуры, типичных ошибках и ограничениях современных ИИ-агентов, которые важно учитывать ещё до внедрения в продукт.
🎙️ Спикер — Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru.
🎁 Для всех участников подготовили промокод на скидку 10 000 ₽ на курс «Разработка ИИ-агентов».
👉 Успей присоединиться к уроку | 817 |
| 11 | ❓ Чем fail-fast итераторы отличаются от fail-safe?
**Ответ:** **fail-fast** (`ArrayList`, `HashMap`) бросают `ConcurrentModificationException` при структурном изменении коллекции во время обхода. Механизм — счётчик `modCount`, который итератор сверяет на каждом шаге. Это способ быстро отловить баг, а не средство защиты.
**fail-safe** (`CopyOnWriteArrayList`, `ConcurrentHashMap`) не бросают исключение:
- `CopyOnWriteArrayList` при модификации копирует внутренний массив, итератор работает со «снимком» старого состояния;
- итератор `ConcurrentHashMap` слабо-согласованный (weakly consistent) — отражает состояние на момент создания или позже, без жёстких гарантий.
Fail-safe безопасны в многопоточке, но итератор может не видеть свежие изменения и обходятся дороже по памяти.
🐸 Библиотека собеса по Java
#core | 818 |
| 12 | 🔥 Чем больше агентов — тем лучше? Не всегда. Уже завтра поговорим о реальных ограничениях на открытом уроке «Мультиагентные системы: почему большинство архитектур переусложнены».
Спикер — Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru.
После урока вы:
🔹 будете лучше ориентироваться в выборе между одним агентом и мультиагентной системой;
🔹 поймёте, какие архитектурные ошибки встречаются чаще всего;
🔹 получите практические ориентиры для проектирования и внедрения агентных систем;
🔹 будете лучше понимать возможности и ограничения современных ИИ-агентов.
🗓️ 18 июня, 19:00 (МСК)
⏱️ 90 минут
👉 Зарегистрироваться и получить промокод на 10 000 ₽ | 794 |
| 13 | ❓ Почему @Transactional не срабатывает при вызове метода внутри того же класса?
Потому что @Transactional работает через прокси. Spring оборачивает бин в прокси-объект, и транзакция открывается, когда вызов проходит через этот прокси извне.
Если же метод класса вызывает другой @Transactional-метод того же класса напрямую (this.method()), вызов идёт мимо прокси — аннотация просто игнорируется, транзакция не открывается. Это называется self-invocation.
Решения:
- вынести транзакционный метод в отдельный бин;
- инжектить ссылку на самого себя (self-injection) и вызывать через неё;
- переключиться на AspectJ-режим вместо проксей.
🐸 Библиотека собеса по Java
#spring | 876 |
| 14 | 💬 Обратная связь
Проверяем динамику роста комьюнити :)
Ваш текущий грейд:
🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь
🐸 Библиотека собеса по Java | 893 |
| 15 | 🤖 Большинство материалов по ИИ-агентам устаревают быстрее, чем многие курсы успевают обновить программу
Инструменты, подходы и фреймворки меняются постоянно. Поэтому важно не просто собрать демо-агента, а понимать архитектуру, ограничения и практики, которые используются в продакшене.
🚀 30 июня стартует курс «Разработка ИИ-агентов».
⏳ До 20 июня действует сниженная цена.
За 8 недель под руководством практиков из бигтеха вы соберёте собственного AI-агента, который работает с API, использует память, подключается к внешним сервисам и решает реальную задачу.
Что разберём:
🔹 архитектуру AI-агентов и надёжный вывод;
🔹 LangGraph и оркестрацию workflow;
🔹 MCP и работу с внешними инструментами;
🔹 RAG-системы;
🔹 AgentOps, observability и evals;
🔹 безопасность и защиту от prompt injection;
🔹 мультиагентные системы и A2A.
На курсе отдельно разбираем вопросы надёжности, безопасности и контроля агентных систем.
👉 Узнать программу и забронировать место со скидкой | 934 |
| 16 | ❓ Опишите жизненный цикл бина в Spring
Основные этапы:
1. Создание экземпляра (вызов конструктора).
2. Внедрение зависимостей (поля/сеттеры).
3. Вызов Aware-интерфейсов (BeanNameAware, ApplicationContextAware и т. д.).
4. BeanPostProcessor.postProcessBeforeInitialization.
5. @PostConstruct.
6. afterPropertiesSet() (InitializingBean), затем кастомный init-метод.
7. BeanPostProcessor.postProcessAfterInitialization — здесь навешиваются прокси (AOP, @Transactional).
8. Бин готов к использованию.
При завершении контекста: @PreDestroy → destroy() (DisposableBean) → кастомный destroy-метод.
🐸 Библиотека собеса по Java
#spring | 876 |
| 17 | 💻 3 курса по цене одного — собери стек для оффера в топовую IT-компанию
Для следующего карьерного шага мало писать код. Работодатели ждут не только знания языка, но и понимания архитектуры, алгоритмов, автоматизации, AI-инструментов и агентных систем.
Одно направление закрывает только часть задачи.
Поэтому сейчас мы предлагаем освоить сразу несколько востребованных навыков — выбери любой курс и получи доступ еще к двум бесплатно 🔥
Собери стек навыков под свою цель:
🔹 подготовка к сильным компаниям (алгоритмы, архитектура);
🔹 переход в AI-направление (ИИ-агенты, AgentOps);
🔹 развитие в ML и Data Science (математика, основы ML);
🔹 новый оффер и рост дохода.
Полученные знания применяешь в работе уже во время обучения.
⏳ Акция действует 48 часов — 13 и 14 июня.
👉 Переходи на сайт, выбирай курсы и оставляй заявку — за 10 минут поможем собрать комплект под твою цель. | 833 |
| 18 | ✔️ Java-тест: задачка с реального собеса
Наш подписчик прислал реальную задачу с собеса в Яндекс. Сможете решить? 👇
📦 Задание
Реализуйте банкомат и тесты к нему. Инициализируется набором купюр, умеет выдавать купюры под заданную сумму либо отвечать отказом. При выдаче купюры списываются с баланса.
/**
* Банкомат.
* Инициализируется набором купюр, выдаёт купюры под сумму либо отказывает.
* При выдаче купюры списываются с баланса.
*
* Номиналы:
* - 50, 100, 500, 1000, 5000 ₽
* - 20, 100, 500 EUR
*
* Валюты обрабатываются раздельно, обмен не поддерживается.
* Банкомат может использоваться многопоточно (резервирование выдачи).
* Поддержку многопоточности можно вынести в отдельную итерацию.
*/
public class ATM {
public ??? withdraw(???) {
// TODO
}
}
📋 Требования
— Сами определите, что withdraw принимает и что возвращает.
— Валюты считаются раздельно, обмена нет.
— Сумму, которую нельзя собрать имеющимися купюрами, отклоняем (частичная выдача недопустима).
— Покройте решение тестами.
— Бонус: сделайте безопасным для вызова из нескольких потоков.
Ставьте → 🔥, если нравится формат. Если нет → 🌚
💬 Решения под спойлер. Сравним, какое будет лучше.
🐸 Библиотека собеса по Java
#practise | 2 447 |
| 19 | ❓ Чем отличаются HashMap, Hashtable и ConcurrentHashMap
HashMap — не потокобезопасен, разрешает один null-ключ и null-значения, самый быстрый в однопоточном коде.
Hashtable — legacy-класс, синхронизирован целиком: один лок на всю таблицу, поэтому в многопоточке работает медленно. Не допускает null.
ConcurrentHashMap — потокобезопасен с тонкой блокировкой: с Java 8 синхронизация идёт на уровне отдельного бакета через CAS и synchronized, что даёт высокую конкурентность. null не допускает (чтобы не путать «нет ключа» и «значение null» при гонках).
🐸 Библиотека собеса по Java
#core | 911 |
| 20 | ❓ ArrayList или LinkedList?
В подавляющем большинстве случаев → ArrayList.
ArrayList — это динамический массив: доступ по индексу O(1), вставка/удаление в середине O(n) из-за сдвига элементов. Но на практике он почти всегда быстрее за счёт локальности данных в памяти и дружбы с кешем процессора.
LinkedList — двусвязный список: вставка/удаление по уже найденной позиции O(1), но доступ по индексу O(n), и каждый элемент — отдельный объект с накладными расходами на ссылки.
LinkedList оправдан редко — например, когда нужен Deque с частыми вставками в оба конца. Для обычного списка берите ArrayList.
🐸 Библиотека собеса по Java
#core | 992 |
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
