и посмотреть медиа
Java | Вопросы собесов
и посмотреть медиа
Вопросы и ответы для собеседований Java-разработчиков.
Вопросы и ответы для собеседований Java-разработчиков.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Подборка типичных вопросов на Java-собеседованиях: от основ JVM до Spring и Hibernate. Каждый вопрос с детальным объяснением, примерами кода и советами. Подходит для всех уровней.
🤔 Что такое Deque? Это двусторонняя очередь, которая позволяет добавлять и удалять элементы с обоих концов. Она может работать как стек (LIFO) и как очередь (FIFO). Примеры реализаций в Java: ArrayDeque, LinkedList. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Где в обработке исключений может применяться конструкция с finally? Конструкция finally в Java используется для гарантированного выполнения кода, независимо от того, произошло исключение или нет. Обычно применяется для освобождения ресурсов, таких как закрытие файлов, соединений с базой данных или потоков. 🚩Основная структура try { // Код, который может выбросить исключение } catch (Exception e) { // Обработка исключения } finally { // Этот блок выполнится всегда } Пример FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream("file.txt"); System.out.println(fileInputStream.read()); } catch (IOException e) { System.out.println("Ошибка: " + e.getMessage()); } finally { if (fileInputStream != null) { fileInputStream.close(); // Всегда закрываем файл } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Преимущества реализации ExecutorService? - Управление пулом потоков. - Повторное использование потоков (вместо создания новых). - Возможность работы с Runnable, Callable, Future. - Позволяет гибко управлять выполнением задач (отложенный запуск, цикличный и т.д.). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 В чем разница между request mapping и put mapping? Главное отличие: @RequestMapping – универсальная аннотация, поддерживающая все HTTP-методы (GET, POST, PUT, DELETE и т. д.). @PutMapping – специализированная аннотация для PUT-запросов. 🚩`@RequestMapping` – универсальная аннотация Можно использовать для любого HTTP-метода (GET, POST, PUT, DELETE). Необходимо явно указывать method = RequestMethod.PUT, если нужен PUT. @RestController @RequestMapping("/users") public class UserController { @RequestMapping(value = "/{id}", method = RequestMethod.PUT) public String updateUser(@PathVariable Long id, @RequestBody String userData) { return "Пользователь с ID " + id + " обновлён!"; } } 🚩`@PutMapping` – упрощённый способ для `PUT`-запросов Это специализированная аннотация, эквивалентная @RequestMapping(method = RequestMethod.PUT). @RestController @RequestMapping("/users") public class UserController { @PutMapping("/{id}") public String updateUser(@PathVariable Long id, @RequestBody String userData) { return "Пользователь с ID " + id + " обновлён!"; } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое JSON? JSON (JavaScript Object Notation) — текстовый формат для хранения и обмена структурированными данными. Характеристики: - Ключ-значение (как у Map). - Поддерживает типы: строки, числа, логические значения, массивы, объекты. - Универсален, человекочитаем, легко парсится в разных языках (Java, JS, Python и т.д.). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое FutureTask? FutureTask — это класс, представляющий асинхронную задачу, которая может быть запущена в другом потоке. Позволяет получить результат выполнения в будущем через методы get() и проверять состояние выполнения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Используешь в работе Lambda-выражения? Да, лямбда-выражения являются важной частью современной разработки на Java, и я активно их использую в своей работе. Лямбда-выражения помогают писать более лаконичный и выразительный код, особенно при работе с коллекциями и потоками данных. Вот несколько распространенных случаев использования лямбда-выражений в Java: 🟠Итерация по коллекциям Использование лямбда-выражений с методом forEach позволяет компактно и удобно итерировать по элементам коллекций. List names = Arrays.asList("Alice", "Bob", "Charlie"); names.forEach(name -> System.out.println(name)); 🟠Фильтрация и преобразование коллекций С использованием Stream API и лямбда-выражений можно легко фильтровать, сортировать и преобразовывать коллекции. List names = Arrays.asList("Alice", "Bob", "Charlie", "David"); List filteredNames = names.stream() .filter(name -> name.startsWith("A")) .collect(Collectors.toList()); filteredNames.forEach(System.out::println); // Вывод: Alice 🟠Сортировка коллекций Лямбда-выражения упрощают сортировку коллекций с использованием метода sort. List names = Arrays.asList("Alice", "Bob", "Charlie"); names.sort((name1, name2) -> name1.compareTo(name2)); names.forEach(System.out::println); 🟠Использование функциональных интерфейсов Лямбда-выражения широко используются с функциональными интерфейсами, такими как Predicate, Function, Consumer и Supplier. // Predicate Predicate startsWithA = s -> s.startsWith("A"); boolean result = startsWithA.test("Alice"); // true // Function Function lengthFunction = s -> s.length(); int length = lengthFunction.apply("Hello"); // 5 // Consumer Consumer printConsumer = s -> System.out.println(s); printConsumer.accept("Hello, World!"); // Вывод: Hello, World! // Supplier Supplier stringSupplier = () -> "Hello, Supplier!"; String suppliedString = stringSupplier.get(); System.out.println(suppliedString); // Вывод: Hello, Supplier! 🟠Параллельные вычисления Лямбда-выражения с использованием параллельных потоков позволяют легко выполнять параллельные вычисления. List numbers = Arrays.asList(1, 2, 3, 4, 5); int sum = numbers.parallelStream() .mapToInt(Integer::intValue) .sum(); System.out.println("Sum: " + sum); // Вывод: Sum: 15 🚩Пример использования в реальном проекте Предположим, у нас есть список сотрудников, и мы хотим отфильтровать и отсортировать их по имени. import java.util.*; import java.util.stream.Collectors; class Employee { private String name; private int age; public Employee(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "Employee{name='" + name + "', age=" + age + '}'; } } public class LambdaExample { public static void main(String[] args) { List employees = Arrays.asList( new Employee("Alice", 30), new Employee("Bob", 25), new Employee("Charlie", 35), new Employee("David", 28) ); // Фильтрация и сортировка сотрудников по имени List filteredAndSorted = employees.stream() .filter(e -> e.getAge() > 27) .sorted(Comparator.comparing(Employee::getName)) .collect(Collectors.toList()); filteredAndSorted.forEach(System.out::println); } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
Channel Pi NetworkMining, discussions, news in several languages. Find out how to mine. Pi free Telegram.
Channel with Apple technology:iPhone, accessories, novelties. Useful reviews and selections for fans of the brand.