ru
Feedback
Java Interview Tasks

Java Interview Tasks

Открыть в Telegram

Реальные вопросы и задачи с собеседований. Оригинальный авторский контент. Актуальный материал. Уровень вопросов от junior до supersenior. Автор канала - @alexzelentsov По рекламе: @alexzelentsov

Больше
4 899
Подписчики
+624 часа
+757 дней
+19030 дней
Архив постов
🔍 Ответ на задачу про String: replace vs replaceAll 🧐 - replace(CharSequence target, CharSequence replacement) заменяет литеральные строки. Точка воспринимается просто как символ. - replaceAll(String regex, String replacement) принимает регулярное выражение. В регулярках точка . означает "любой символ". Поэтому replaceAll заменит абсолютно все символы в строке на слэш. Вывод: Первая строка выведет java/is/fun, а вторая — ///////////. ⚡️ Не перепутайте: Если вам не нужны регулярные выражения, всегда используйте replace(). Он быстрее и безопаснее. #java #string #regex #basics #интервью #java_interview_tasks

Друзья, собрали для вас новую папку с IT & AI каналами * здесь есть где порыться )) В Подборке вы найдёте (кратко): AI-блок:
Друзья, собрали для вас новую папку с IT & AI каналами * здесь есть где порыться ))   В Подборке вы найдёте (кратко):   AI-блок: новости, нейросети, ИИ-инструменты и кейсы внедрения, стартапы, датасеты Dev-блок: Java, Python, JS (Frontend/Backend), Mobile, QA, промышленная автоматизация (IIoT) Отдельно: Cybersecurity, SciPop, IT-вакансии, биржа фриланса, бизнес-новости, Agile/PMP-менеджмент Бонус: IT-мемы и юмор Посмотреть и подписаться можно здесь ⬇️ https://t.me/addlist/moHzMEDfCqxmMzJk                                

В чём разница между replace() и replaceAll(), если оба принимают две строки? Что выведет этот код?
String str = "java.is.fun";
System.out.println(str.replace(".", "/"));
System.out.println(str.replaceAll(".", "/"));

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

Десятки обновлений нейросетей и новых AI-инструментов выходят еженедельно. Вопрос только в том — узнаешь ли ты об этом первым
Десятки обновлений нейросетей и новых AI-инструментов выходят еженедельно. Вопрос только в том — узнаешь ли ты об этом первым? Хочешь быть в их числе? Мы собрали ПОДБОРКУ со всеми свежими ИИ-инструментами, фишками и апдейтами. Никакой воды — только то, что реально упрощает работу и приносит результат. 👉 Делимся знаниями и аудиторией — растём вместе ⚡️   Отписаться можно в любой момент. Остаться — тоже ✔️ Добавляй ПАПКУ в свой актив и делись с друзьями! 📌 * здесь есть что выбрать 👌

🔍Завтра тестовое собеседование с Java-разработчиком 5 августа (уже завтра!) в 19:00 по мск приходи онлайн на открытое собесе
🔍Завтра тестовое собеседование с Java-разработчиком 5 августа (уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Сергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Сергею Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. О рекламодателе.

🔍 Ответ на задачу про Collectors.toMap 💥 Дефолтная версия Collectors.toMap(keyMapper, valueMapper) предполагает, что ключи уникальны. Если встречается дубликат (и "apple", и "apricot" имеют длину 5), метод выбрасывает IllegalStateException: Duplicate key. Вывод: Чтобы код не падал, нужно использовать перегруженную версию с "merge function": .collect(Collectors.toMap(s -> s.length(), s -> s, (oldValue, newValue) -> oldValue)) — это скажет стриму оставить старое значение при конфликте. ⚡️ Не перепутайте: Всегда думайте, возможны ли дубликаты в ваших данных перед использованием toMap(). #java #streamapi #collectors #map #exception #интервью #java_interview_tasks

#вп #реклама ❗️❗️❗️Дарю доступ только на 3 дня ⠀ Собрали самые полезные каналы в сфере IT и AI ⠀ ▪️️⠀Корпоративный ИИ Рынок корпоративного ИИ глазами системного интегратора. Новости, кейсы и аналитика через фильтр реального опыта. ▪️️ИИ что дальше? ▪️️Привет, Андрей! ▪️️Ebout Data Science | Дима Савелко ⠀ И другие каналы в одной ПАПКЕ. ⠀ + канал с реально полезными промтами, которые создают крутой оффер в любой ИИ. А еще ⠀ - нормально сегментируют ЦА, а не пишут «женщины 30+» - помогают упаковать блог/продукт ⠀ Все в одной подборке. Жмите, чтобы добавить 👉 ДОБАВИТЬ ⠀ ❗️Через 3 дня удалю пост. Успевайте.

Что произойдет, если при формировании Map попадутся два одинаковых ключа?
List<String> list = Arrays.asList("apple", "banana", "apricot");
Map<Integer, String> map = list.stream()
    .collect(Collectors.toMap(s -> s.length(), s -> s));

Что произойдет, если при формировании Map попадутся два одинаковых ключа?
Anonymous voting

🔍 Ответ на задачу про перегрузку методов: null и неоднозначность ⚖️ Java при перегрузке (overloading) всегда выбирает наиболее специфичный (most specific) тип. Так как String является наследником Object, он считается более специфичным. Компилятор отдаст предпочтение ему. Вывод: Напечатается "String". Если бы мы добавили еще метод print(Integer i), возникла бы ошибка компиляции, так как String и Integer не связаны иерархией, и Java не смогла бы выбрать. ⚡️ Не перепутайте: Если нужно вызвать именно версию для Object, сделайте явное приведение: print((Object) null). #java #overloading #basics #polymorphism #интервью #java_interview_tasks

Когда у вас есть два метода с одинаковым именем, но разными типами аргументов, какой из них выберет Java для null? Какой метод вызовется?
public class Test {
    public static void print(Object o) { System.out.println("Object"); }
    public static void print(String s) { System.out.println("String"); }
    public static void main(String[] args) {
        print(null);
    }
}

Какой метод вызовется?
Anonymous voting

🔍 Ответ на задачу про computeIfAbsent: Осторожно с модификациями! ⚠️ Документация HashMap (и большинства других реализаций) прямо запрещает модификацию структуры мапы (добавление/удаление) внутри методов вычисления (compute, merge, computeIfAbsent). Это может привести к повреждению внутренней структуры данных или выбросу ConcurrentModificationException. Вывод: В данном случае в HashMap будет выброшен ConcurrentModificationException. ⚡️ Не перепутайте: Никогда не меняйте коллекцию внутри методов, которые итерируются по ней или вычисляют ее значения. #java #collections #hashmap #bug #concurrency #интервью #java_interview_tasks

Метод computeIfAbsent в Map очень удобен, но внутри лямбды скрыта ловушка. Что произойдет, если внутри computeIfAbsent попытаться изменить эту же мапу?
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.computeIfAbsent("B", key -> {
    map.put("C", 3); 
    return 2;
});

Что произойдет, если внутри `computeIfAbsent` попытаться изменить эту же мапу?
Anonymous voting

🔍 Ответ на задачу про CompletableFuture: thenRun, thenAccept или thenApply? 🚀 - thenApply(Function) — принимает результат, возвращает новый результат (меняет тип). - thenAccept(Consumer) — принимает результат, ничего не возвращает (CompletableFuture<Void>). - thenRun(Runnable) — не принимает результат и ничего не возвращает (CompletableFuture<Void>). Используется просто для запуска кода после завершения этапа. Вывод: thenRun всегда возвращает CompletableFuture<Void>, игнорируя результат предыдущего шага. ⚡️ Не перепутайте: Выбирайте метод в зависимости от того, нужны ли вам входные данные от предыдущего шага и хотите ли вы что-то передать дальше. #java #concurrency #completablefuture #async #multithreading #интервью #java_interview_tasks

Асинхронное программирование — мощная концепция, но важно понимать разницу в цепочках методов. Что вернет метод thenRun(), если предыдущий этап вернул строку "Success"?
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> "Success");
CompletableFuture<Void> result = future.thenRun(() -> System.out.println("Done"));

Что вернет метод `thenRun()`, если предыдущий этап вернул строку "Success"?
Anonymous voting

🔍 Ответ на задачу про instanceof: А если там null? 🧐 Согласно спецификации Java, оператор instanceof всегда возвращает false, если левый операнд равен null. При этом никакой ошибки (NPE) не возникает. Вывод: Оба сравнения вернут false. null не является экземпляром ни одного класса, даже Object. ⚡️ Не перепутайте: Вам не нужно проверять s != null перед использованием instanceof. Сам оператор уже делает эту проверку за вас. #java #instanceof #null #basics #интервью #java_interview_tasks