Java Interview Tasks
Ir al canal en Telegram
Реальные вопросы и задачи с собеседований. Оригинальный авторский контент. Актуальный материал. Уровень вопросов от junior до supersenior. Автор канала - @alexzelentsov По рекламе: @alexzelentsov
Mostrar más4 903
Suscriptores
Sin datos24 horas
+807 días
+18630 días
Archivo de publicaciones
4 901
⁉️ Устал искать интересные каналы с новостями мира AI и IT?
📁 ПАПКА С КАНАЛАМИ
В этой папке собраны каналы про нейросети и цифровую сферу, которые помогают быстрее разобраться в сфере, находить идеи и экономить время на поиске информации.
🤩 Лучше звоните Войлукову - Авторский канал Войлукова К.В. юриста, с огромным опытом защиты интересов владельцев коммерческой недвижимости и земли.
🤩 Мэ́джик | SEO, AI и сайты - Пишу про SEO, AI и сайты. Практика, инструменты, инсайты, гипотезы и нестандартные рабочие решения 😎
🤩 Из консультанта — в ИИ-фаундеры.
Дмитрий Губкин — ex-CEO «Продуктовый консалтинг ФРИИ», 500+ компаний.
Сейчас сам строю стартап: без теории, на своей шкуре.
🤩 Потапова Наталия | ПРО банкротство физических лиц - Все о списании задолженности и реструктуризации долгов⚖️
О жизни и книгах🥰
🤩 Больше, чем просто сделки: как риелтор открывает новые горизонты для жизни. Истории, возможности и личный взгляд на мир недвижимости Санкт-Петербурга и Пхукета от Светланы Грачевой
🤩 Канал юриста по недвижимости Олеси Бухтояровой о том, как покупать, продавать и проверять недвижимость безопасно.
Разборы реальных судебных дел, мошеннических схем и сложных сделок.
Изменения законодательства и практика Росреестра и судов.
Риски при покупке квартир и способы их выявить до сделки.
Полезные материалы для покупателей, риелторов и специалистов рынка.
Консультации и профессиональное обучение риелторов.
🤩 Churganov Недвижимость - Пишу про недвижимость и бизнес. Живу в Дубае. Опыт в недвижке - с 2005 года.
🤩 Канал адвоката Артёма Сидорова. Юридические советы. Дела в арбитражных и других судах. Споры, связанные с недвижимостью. Оспаривание сделок. Защита по делам по искам ведомых продавцов (аналогичным делу Долиной). Банкротство. Защита от субсидиарной ответственности. Споры, связанные с договорами подряда. Взыскание долгов. Долевое строительство. Бесплатные краткие консультации подписчикам.
😏 ЗАБРАТЬ ПАПКУ МОЖНО ТУТ
⏰ Папка действует 72 часа.
🔖 каталог статей
https://t.me/ria_realty/19518
https://t.me/rusipoteka/23581
🤩 Организаторы: Green.Papka
4 901
Что произойдет при вызове
new User("")?
record User(String name) {
public User {
if (name.isEmpty()) throw new IllegalArgumentException();
}
}4 901
🔍 Ответ на задачу про LocalDate: Ловушка иммутабельности 📅
Классы из пакета
java.time (LocalDate, LocalTime, etc.) — immutable (неизменяемые), как и String. Любой метод, который якобы "меняет" объект, на самом деле возвращает новый объект с измененным состоянием. Исходный объект date остается прежним.
Вывод:
Напечатается 1. Чтобы получить 11, нужно было написать date = date.plusDays(10).
⚡️ Не перепутайте:
Всегда проверяйте, что вы используете возвращаемое значение методов java.time. Это одна из самых частых ошибок при переходе со старого Calendar.
#java #datetime #immutable #bug #basics #интервью #java_interview_tasks4 901
Что выведет этот код?
LocalDate date = LocalDate.of(2024, 1, 1);
date.plusDays(10);
System.out.println(date.getDayOfMonth());4 901
🔍 Ответ на задачу про Stream.reduce: Опасность
identity 🚩
Первый аргумент reduce — это identity. Это значение, которое возвращается, если стрим пуст, и которое используется как начальное при вычислении.
Вычисление идет так: identity + element1 + element2...
В нашем случае: 10 + 1 + 2 + 3 = 16.
Вывод:
Напечатается 16. Если вы хотите просто сумму — identity должен быть 0. Если произведение — 1.
⚡️ Не перепутайте:
Identity должен быть нейтральным элементом для вашей операции. Для сложения это 0, для умножения 1, для конкатенации строк — пустая строка.
#java #streamapi #reduce #basics #интервью #java_interview_tasks4 901
⁉️ Устал искать интересные каналы с новостями мира AI и IT?
📁 ПАПКА С КАНАЛАМИ
В этой папке собраны каналы про нейросети и цифровую сферу, которые помогают быстрее разобраться в сфере, находить идеи и экономить время на поиске информации.
🤩 Маша, почему нейросети? - Художник из кино про прикладное использование ИИ.
🤩 Мэ́джик | SEO, AI и сайты - Пишу про SEO, AI и сайты. Практика, инструменты, инсайты, гипотезы и нестандартные рабочие решения 😎
🤩 Из консультанта — в ИИ-фаундеры.
Дмитрий Губкин — ex-CEO «Продуктовый консалтинг ФРИИ», 500+ компаний.
Сейчас сам строю стартап: без теории, на своей шкуре.
😏 ЗАБРАТЬ ПАПКУ МОЖНО ТУТ
⏰ Папка действует 72 часа.
🤩 Организаторы: Green.Papka
4 901
Что выведет код для пустого стрима и стрима с числами?
int sum = Stream.of(1, 2, 3)
.reduce(10, (a, b) -> a + b);
System.out.println(sum);4 901
🔍 Ответ на задачу про Stream.flatMap: Плоский мир стримов 🗺
-
map() превращает каждый элемент в другой элемент (1 -> 1). Если применить его здесь, мы получим стрим стримов: Stream<Stream<String>>.
- flatMap() превращает каждый элемент в стрим, а затем "склеивает" все эти стримы в один плоский Stream<String>.
Вывод:
Вместо двух вложенных списков мы получим один поток из 3-х символов: "a", "b", "c". Результат count() — 3.
⚡️ Не перепутайте:
Используйте flatMap, когда ваш объект содержит коллекцию или Optional, и вы хотите работать с их содержимым напрямую.
#java #streamapi #flatmap #basics #интервью #java_interview_tasks4 901
Зачем нужен
flatMap, если есть обычный map?
Что выведет этот код?
List<List<String>> list = Arrays.asList(
Arrays.asList("a"),
Arrays.asList("b", "c")
);
System.out.println(list.stream()
.flatMap(Collection::stream)
.count());4 901
Зачем нужен `flatMap`, если есть обычный `map`?
Что выведет этот код?
4 901
⚡️ Здравствуйте, Дорогие подписчики!
Представляем вашему вниманию подборку полезных каналов в сфере «Образование и наука» 🔥
Будем очень рады, если вы найдете для себя что-нибудь полезное.
❗️Ссылка на папку:
https://t.me/addlist/X7qi5eXa3Xc1Nzgy
4 901
🔍 Ответ на задачу про Stream.findFirst vs findAny: В чём разница? 🔍
-
findFirst() жестко привязан к порядку следования (encounter order). В параллельном стриме он потратит время на то, чтобы убедиться, что вернул именно первый элемент.
- findAny() позволяет среде выполнения выбрать любой подходящий элемент. В параллельных стримах это работает гораздо быстрее, так как не нужно координировать потоки для соблюдения порядка.
Вывод:
В параллельном стриме findAny() может вернуть любой элемент, подходящий под условие. Если порядок не важен — используйте его для скорости.
⚡️ Не перепутайте:
В последовательном (sequential) стриме findAny() чаще всего тоже будет возвращать первый элемент, но спецификация этого не гарантирует.
#java #streamapi #parallel #performance #интервью #java_interview_tasks4 901
Гарантирует ли `findAny()` возвращение самого первого элемента стрима?
4 901
Гарантирует ли
findAny() возвращение самого первого элемента стрима?
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Optional<Integer> result = list.parallelStream()
.filter(x -> x > 2)
.findAny();4 901
🔍 Ответ на задачу про Method References: Неоднозначность 😵💫
Ссылка
Service::process может быть интерпретирована двумя способами:
1. Как вызов статического метода: (Service s) -> Service.process(s).
2. Как вызов обычного метода у текущего элемента: (Service s) -> s.process().
Обе интерпретации идеально подходят под сигнатуру Consumer<Service>, который ожидает forEach. Компилятор не знает, какой метод выбрать.
Вывод:
Возникает ошибка компиляции из-за неоднозначности.
⚡️ Не перепутайте:
В таких случаях используйте обычную лямбду s -> s.process(), чтобы явно указать нужный метод.
#java #lambda #methodreference #bug #интервью #java_interview_tasks4 901
Может ли простая ссылка на метод запутать компилятор?
Почему этот код не скомпилируется?
class Service {
void process() { }
static void process(Service s) { }
}
List<Service> list = new ArrayList<>();
list.forEach(Service::process);4 901
Может ли простая ссылка на метод запутать компилятор?
Почему этот код не скомпилируется?
