Библиотека задач по Java | тесты, код, задания
5.84K subscribers
567 photos
3 videos
178 links
Задачи и тесты по Java для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/13eb654a

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Какие классы из пакета java.util предназначены для работы с датами?
Anonymous Quiz
55%
java.util.Date
5%
java.util.Time
40%
java.util.DateTime
События и слушатели

В Java события и слушатели используются для обработки событий, которые возникают в программе. События могут быть связаны с действиями пользователя, такими как клик мыши, нажатие клавиши или изменение текста в поле ввода, или с другими действиями, такими как завершение работы потока или получение данных из сети.

Слушатели (Listeners) в Java — это интерфейсы, которые позволяют регистрировать обработчики событий. Когда происходит событие, соответствующий слушатель вызывает метод обработки события, который реализуется классом, который зарегистрировал слушатель.
Collections.emptyList()

Collections.emptyList() возвращает пустой неизменяемый список.
Это статический фабричный метод из класса Collections, который возвращает пустой список типа List.

Основные моменты:
— Возвращает пустой список, а не null. Это полезно, чтобы избежать проверок на null.
— Список неизменяемый (immutable). Нельзя добавлять или удалять элементы из него.
— Работает быстрее, чем создание нового списка через new ArrayList().
— Может использоваться как значение по умолчанию или стартовое значение для списка.
Когда стоит изменять значение поля serialVersionUID?

serialVersionUID нужно изменять при внесении в класс несовместимых изменений, например при удалении какого-либо его атрибута.
FileChannel

FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.

Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.

FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.
Что имеет более высокий уровень абстракции?
Anonymous Quiz
7%
Класс
23%
Абстрактный класс
70%
Интерфейс
Что такое Stream в Java?

Ответ: Java Stream — способ взаимодействия с потоком данных, который позволяет более удобно и компактно обрабатывать большие данные, а также распараллеливать обработку данных между определенным количеством потоков, что может дать прирост в производительности в использующем функционале.
Задача с собеседования

Вам дан целочисленный массив nums. Изначально вы находитесь в первом индексе массива, и каждый элемент массива представляет максимальную длину прыжка в этой позиции. Верните true, если вы можете добраться до последнего индекса, или false в противном случае (ответ на картинке).

Например:

Ввод: [1, 3, 1, 1, 4]
Вывод: true
Объяснение: Переходим на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.

Ввод: [3, 2, 1, 0, 4]
Вывод: false
Какой символ является разделителем при указании пути в файловой системе?

Для различных операционных систем символ разделителя различается. Для Windows это \, для Linux — /.

В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю File.separator.
Надежный способ проверить, равны ли два значения типа double

Наиболее надежный и точный способ проверить это — использовать Dоuble.соmpare() и сравнить значение с нулем.

Результаты сравнений при помощи Double.compare():
Значение = 0, если d1 == d2;
Значение < 0, если d1 < d2;
Значение > 0, если d1 > d2.
Узнаем размер файла с помощью Java

Здесь создается объект класса File, указывающий на файл, размер которого нужно узнать.

Затем вызывается метод length(), который возвращает размер файла в байтах. Результат выводится на консоль с помощью метода println().
Как определить, содержит ли массив определенное значение в Java с помощью потоков?

Чтобы проверить, содержит ли массив значений int, double или long значение, используйте IntStream, DoubleStream или LongStream соответственно.
Аннотация @Entity

Аннотация @Entity используется в Java для обозначения класса, который является сущностью. Сущность — это объект, который представляет собой строку данных в базе данных.

Чтобы класс был объявлен сущностью, необходимо добавить к нему аннотацию @Entity. Аннотация @Entity сообщает фреймворку JPA, что класс Customer является сущностью и должен быть сохранен в базе данных.
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что обозначает ключевое слово transient?

Поля класса, помеченные модификатором transient, не сериализуются.

Обычно в таких полях хранится промежуточное состояние объекта, которое, к примеру, проще вычислить. Другой пример такого поля — ссылка на экземпляр объекта, который не требует сериализации или не может быть сериализован.
Класс MathContext

Класс MathContext используется для указания точности вычислений с плавающей запятой. Он определяет два параметра:

precision — количество знаков после запятой, которые должны сохраняться в результате вычислений.
roundingMode — способ округления значений, которые не могут быть точно представлены с заданной точностью.

По умолчанию точность вычислений в Java равна 16 знакам после запятой, а режим округления — HALF_UP.
Почему строка является популярным ключом в HashMap в Java?

Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.