#Вопросы_с_собеседования
В чем разница между Thread.sleep() и Thread.yield()?
Java Learning👩💻
В чем разница между Thread.sleep() и Thread.yield()?
Thread.sleep()
: Этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep()
, поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep()
может сгенерировать исключение InterruptedException
, поэтому необходимо обрабатывать его или пробрасывать.Thread.yield()
: Этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield()
приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
В Java метод
Collectors.joining()
из пакета java.util.stream
позволяет объединить элементы потока в одну строку с опциональным разделителем, префиксом и суффиксом. Это удобно для создания строковых представлений коллекций.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥1
Quarkus — оптимизированный фреймворк для создания Java-приложений с низким временем запуска и минимальным потреблением памяти. Подходит для облачных и серверлесс-приложений.
•
Быстрый старт с нативной компиляцией на GraalVM.•
Оптимизация для облака и контейнеров.•
Совместимость с Java API и фреймворками Spring, Hibernate.•
Горячая перезагрузка для ускорения разработки.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Vaadin Flow — это фреймворк для создания веб-приложений на Java без написания JavaScript и HTML. Он позволяет создавать интерфейсы и логику приложения полностью на Java.
•
Полная разработка на Java.•
Компоненты для UI и двусторонняя привязка данных.•
Интеграция с Spring Boot.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
В Java метод
List.of()
позволяет быстро создать неизменяемый список. Это удобно для создания небольших коллекций с фиксированным набором элементов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Интервью на позицию Middle неудачно — не хватает уверенности в Spring.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
В Java метод
Comparator.reverseOrder()
создаёт компаратор, который сортирует элементы в порядке убывания. Это удобно для работы с сортировкой коллекций, когда нужно изменить стандартный порядок.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8
Как работает
CompletableFuture
в Java, чем он отличается от Future, и как использовать метод thenCombine()
для выполнения параллельных задач?Ответ
Пример использования
import java.util.concurrent.CompletableFuture;
public class Main {
public static void main(String[] args) {
// Первая асинхронная задача
CompletableFuture<Integer> task1 = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(1000); // Эмуляция задержки
} catch (InterruptedException e) {
e.printStackTrace();
}
return 10;
});
// Вторая асинхронная задача
CompletableFuture<Integer> task2 = CompletableFuture.supplyAsync(() -> 20);
// Комбинируем результаты двух задач
CompletableFuture<Integer> combined = task1.thenCombine(task2, Integer::sum);
// Получаем и выводим результат
combined.thenAccept(result -> System.out.println("Сумма: " + result));
// Ждем завершения всех задач (только для примера)
combined.join();
}
}
// Результат выполнения:
// Сумма: 30
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Semaphore
Semaphore — это класс, который позволяет ограничивать количество потоков, одновременно работающих с каким-либо ресурсом.
Поток должен получить разрешение, чтобы войти в критическую секцию.
Если разрешений нет, поток ставится в очередь до освобождения.
Метод
Java Learning 👩💻
Semaphore — это класс, который позволяет ограничивать количество потоков, одновременно работающих с каким-либо ресурсом.
Поток должен получить разрешение, чтобы войти в критическую секцию.
Semaphore
управляет набором разрешений (permits), а конструктор принимает количество разрешений.Если разрешений нет, поток ставится в очередь до освобождения.
Метод
acquire()
получает разрешение, release()
— освобождает.Java Learning 👩💻
👍6
👩💻 Задача по Java: Проверка строки на наличие всех букв алфавита
Напишите функцию, которая проверяет, содержит ли строка все буквы английского алфавита (a-z). Игнорируйте регистр букв и символы, не являющиеся буквами.
Пример:
Решение задачи на картинке ☝️
Java Learning 👩💻
Напишите функцию, которая проверяет, содержит ли строка все буквы английского алфавита (a-z). Игнорируйте регистр букв и символы, не являющиеся буквами.
Пример:
System.out.println(isPangram("The quick brown fox jumps over the lazy dog"));
// Ожидаемый результат: true
System.out.println(isPangram("Hello, World!"));
// Ожидаемый результат: false
Решение задачи на картинке ☝️
Java Learning 👩💻
👍9🎄2
В Java метод
Collections.reverse()
изменяет порядок элементов в списке на обратный. Это удобно для работы с коллекциями, где требуется обратный порядок.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
В Java методы
String.startsWith()
и String.endsWith()
проверяют, начинается или заканчивается строка на указанную подстроку. Это удобно для работы с текстами и валидации.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤔1
RefactorFirst
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
Java Learning👩💻
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Fastjson
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
Java Learning👩💻
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1
В Java метод
subList()
позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Что такое
ForkJoinPool
в Java, как он работает, и как его использовать для параллельной обработки задач?Ответ
Пример использования
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ForkJoinPool;
class SumTask extends RecursiveTask<Integer> {
private final int[] array;
private final int start, end;
public SumTask(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}
@Override
protected Integer compute() {
if (end - start <= 5) {
int sum = 0;
for (int i = start; i < end; i++) sum += array[i];
return sum;
} else {
int mid = (start + end) / 2;
SumTask left = new SumTask(array, start, mid);
SumTask right = new SumTask(array, mid, end);
left.fork();
return right.compute() + left.join();
}
}
}
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ForkJoinPool pool = new ForkJoinPool();
int result = pool.invoke(new SumTask(array, 0, array.length));
System.out.println("Сумма: " + result); // Сумма: 55
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В Java метод
Set.retainAll()
позволяет оставить только те элементы множества, которые присутствуют в другом множестве. Это удобно для нахождения пересечения множеств.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.
⚡️Что ждет вас на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.
erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631
⚡️Что ждет вас на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.
erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631
👍2
Jackson-dataformat-csv
Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.
Java Learning👩💻
Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В Java метод
Collector.of()
позволяет создавать пользовательские коллекции с кастомной логикой для сборки данных. Это даёт полный контроль над процессом объединения элементов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4