Java Interview Tasks
4K subscribers
190 photos
1 file
122 links
Реальные вопросы и задачи с собеседований.
Оригинальный авторский контент.
Актуальный материал.
Уровень вопросов от junior до supersenior.

Автор канала - @alexzelentsov

По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Download Telegram
Что напечатает код?👆
Anonymous Quiz
6%
1000
1%
3000
35%
10000
19%
10000,0
38%
другой ответ
👍6🔥21
🔍 Ответ на задачу про использование BigInteger в Java:

Что напечатает данный код?

🤔 На первый взгляд, можно подумать, что он выведет сумму всех значений, но реальный результат будет 0;

Почему так? 🤔
Методы класса BigInteger, как например add(), не изменяют текущее значение объекта, а возвращают новый объект с результатом операции. Таким образом, запись total.add(BigInteger) не изменяет значение total. Поэтому для получения суммы необходимо сделать следующее:

total = total.add(oneThousand);
total = total.add(twoThousand);
total = total.add(threeThousand);
total = total.add(fourThousand);

Теперь всё должно работать как положено! 💡 Не забывайте про это, когда работаете с неизменяемыми объектами, такими как BigInteger.

Если вам понравился этот разбор, поставьте лайк, подпишитесь и оставьте комментарий! 🤗

#Java #BigInteger #иммутабельность #сумма #java_interview_tasks
👍16🔥32🤡2
Стоит ли использовать var в Java?
Anonymous Poll
27%
всегда стоит
28%
никогда
50%
другой ответ
👍4🔥1
🔍 Ответ на вопрос про использование var в Java:

Все больше и больше в коде начали использовать var .
🤔 Давайте разберем плюсы и минусы его использования.

📌 Плюсы var:
✔️ Меньше "визуального шума": избавляет от длинных и громоздких объявлений.
✔️ Удобно при работе с дженериками и вложенными типами: никакого лишнего написания.
✔️ Код читается проще, когда тип очевиден из правой части.

Примеры, когда var выглядит отлично:

var map = new HashMap<String, List<Long>>();
var name = "LinkedIn";
var count = 42;

⚠️ Минусы var:
Иногда теряется читаемость: особенно, когда возвращаемый тип не очевиден.
Может прятать неожиданные типы, что усложняет отладку.
Не подходит для публичных API / сигнатур, где тип данных должен быть явно указан.

Когда var может стать врагом:

var data = process(); // Непонятно, что за тип возвращается.
var a = someObj.getValue().getAnother().resolve(); // Много уровней вложенности.
📌 Мой вывод: var — это отличный инструмент, но важно знать, когда и как его использовать. Лично я применяю var, когда тип очевиден без догадок. Если нужно вчитываться или полагаться на IDE, лучше указать тип явно. Помните, что читаемость важнее краткости! 💡

Согласны с таким подходом? Или у вас есть свои мысли? Делитесь в комментариях, подписывайтесь и ставьте лайк! 🤗

#Java #var #кодстайл #java10 #java_interview_tasks
👍133❤‍🔥1👎1🔥1🙏1
Что напечатает код?
🔥8
🔥10🤔4👍1
🔍 Ответ на задачу про порядок выполнения операций в Java:

Давайте посмотрим, что напечатает следующий код:
public static void main(String[] args) {
System.out.print(int1() + int2() * int3());
}

private static int int1() {
System.out.print(1);
return 1;
}

private static int int2() {
System.out.print(2);
return 2;
}

private static int int3() {
System.out.print(3);
return 3;
}

Что произойдёт при выполнении этого кода?

🧐 Важный момент — это порядок выполнения операций и вычислений.

Вначале вызывается int1(), который печатает 1 и возвращает 1.
Затем в правой части выполняется int2() * int3().
int2() печатает 2 и возвращает 2.
int3() печатает 3 и возвращает 3.
Происходит умножение (2 * 3 = 6).
Наконец, результат сложения: 1 + 6 = 7.
Итак, итоговый вывод будет:

1237
Первые три цифры — это значения, возвращаемые методами, а 7 — результат вычисления выражения. 🔢

Если вам интересны подобные разборы, ставьте лайк, не забывайте подписаться и оставлять свои комментарии! 🤗

#Java #порядок_выполнения #вычисления #java_interview_tasks
👍26🔥32🙏2
Что напечатает код?
🔥3
🔥4
Что напечатает код?
🔥4
Что напечатает код?👆
Anonymous Quiz
62%
123
36%
124
2%
0
🔥5😁1
🔍 Ответ на задачу про передачу примитивов в методы в Java

Давайте рассмотрим, что произойдёт при выполнении этого кода:
public static void main(String[] args) {
int count = 123;
inc(count);
System.out.println(count);
}

private static void inc(int count) {
count++;
}


Чего ожидать от вывода?

🔎 В Java при передаче примитивных типов (таких как int) в методы используется передача по значению. Это означает, что в метод inc передаётся копия значения count, а не сама переменная. Таким образом, любые изменения над параметром count в методе inc не влияют на переменную count в методе main.

🌟 Вот шаги выполнения:

В main у нас переменная count равна 123.
Мы вызываем метод inc(count), передавая копию значения count.
В методе inc эта копия увеличивается на 1, но никак не затрагивает оригинальную переменную в main.
Поэтому System.out.println(count); выведет оригинальное значение: 123

🔗 Это пример важной концепции в Java — примитивы передаются по значению, и изменения не сохраняются вне метода. Помните об этом при проектировании ваших программ!

⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️

🔍 Ответ на задачу про неизменяемость объектов в Java

Здесь у нас код, который работает с неизменяемостью объектов в Java:
public static void main(String[] args) {
Integer count = 123;
inc(count);
System.out.println(count);
}

private static void inc(Integer count) {
count++;
}


Что выведет этот код?

🤔 Давайте разберёмся. На первый взгляд могло бы показаться, что после вызова метода inc count увеличится. Но это не так.

🔸 Тип Integer — это неизменяемый объект в Java. Кроме того, при передаче в метод inc, создаётся копия ссылки, а не передача по ссылке, как в некоторых других языках.

🔸 Метод count++ использует count локально, создавая новый объект Integer, но не изменяет оригинальный объект count в main.

Таким образом, System.out.println(count); напечатает: 123

😯 Не забывайте об этих особенностях при работе с объектами! Если у вас есть мысли или вопросы, делитесь ими в комментариях! Подписывайтесь и ставьте лайк, чтобы не пропустить новые посты! 🤗

#Java #неизменяемость #Integer #java_interview_tasks
🔥9👍3😨21🐳1
Сколько существует 6-значных чисел, в записи которых есть хотя бы одна чётная цифра?
👍5🥱4🤔2🔥1
🔍 Ответ на задачу про 6-значные числа и четные цифры:

Вместо подсчёта количества шестизначных чисел, в записи которых есть хотя бы одна чётная цифра, можно посчитать количество шестизначных чисел не обладающих данным свойством, то есть тех, в записи которых встречаются только нечётные цифры. Таких чисел:
5⁶ = (5³)² = 125² =
12·13·100 + 25 =
15625.
Всего же шестизначных чисел:
999 999 - 99 999 =
900 000.
Значит количество шестизначных чисел, обладающих указанным свойством, ровно:
900 000 - 15 625 =
884 375.

🚀Если вам понравилось это объяснение, ставьте лайк, подписывайтесь на канал и делитесь своими мыслями в комментариях!
🚀🚀 Если хотите больше таких задач ставьте 🔥 к этому посту.

#MathChallenge #Combinatorics #java_interview_tasks
🔥9👍42🤮1🐳1
Что напечатает код?
👍4🔥2🤔2🐳1
🔍 Ответ на задачу про вывод элементов списка

Тут есть одна особенность: индекс увеличивается до получения элемента из списка благодаря ++index.

При таком подходе, цикл начинает с индексом 1, а значит будет выбирать имена начиная с "Боря", а "Аня" будет пропущена. Значение index будет увеличено на 1, после чего произойдет проверка условия index < names.size(), и условие будет истинным до тех пор, пока индекс не станет равен размеру списка.

Таким образом, в результате выполнение кода мы увидим такой вывод на консоли:

Боря
Вова
А дальше будет эксепшен, так как следующего индекса в массиве уже нет.


🥳 Надеюсь, этот разбор был полезен! Не забудьте лайкнуть пост, подписаться на канал и оставить комментарий, если у вас есть вопросы или дополнения!

#java #coding #++i #java_interview_tasks
👍10🔥2🐳21
VIP доступ к будущему, которое уже наступило: новая папка «IT & Технологии»! 💻

Мы собрали лучшие IT-каналы – это прямой доступ к актуальным новостям, трендам и экспертизе в мире технологий. Только самое ценное, без воды! 🌟

🔹 Техно-тренды: AI, Cybersecurity, Cloud и др.
🔹 Карьера: Найди работу мечты в IT.
🔹 Практика: Советы от профи.
🔹 Инструменты: Для эффективной работы.

Один клик – и ты в IT-будущем! 🔥

👉 ЗАБРАТЬ ПАПКУ СЕБЕ
Что напечатает код?
🔥4👍1
Что напечатает код?
Anonymous Quiz
63%
1
31%
2
6%
узнать
🔥3👍1