ru
Feedback
Библиотека собеса по Java | вопросы с собеседований

Библиотека собеса по Java | вопросы с собеседований

Открыть в Telegram

Вопросы с собеседований по Java и ответы на них. По рекламе: @proglib_adv Учиться у нас: clc.to/3wECtA Для обратной связи: @proglibrary_feeedback_bot

Больше
6 465
Подписчики
+324 часа
-37 дней
-1030 дней
Архив постов
Какие методы класса File вы знаете? Наиболее используемые методы класса File: • boolean createNewFile(): делает попытку создать новый файл; • boolean delete(): делает попытку удалить каталог или файл; • boolean mkdir(): делает попытку создать новый каталог; • boolean renameTo(File dest): делает попытку переименовать файл или каталог; • boolean exists(): проверяет, существует ли файл или каталог; • String getAbsolutePath(): возвращает абсолютный путь для пути, переданного в конструктор объекта; • String getName(): возвращает краткое имя файла или каталога; • String getParent(): возвращает имя родительского каталога; • boolean isDirectory(): возвращает значение true, если по указанному пути располагается каталог; • boolean isFile(): возвращает значение true, если по указанному пути находится файл; • boolean isHidden(): возвращает значение true, если каталог или файл являются скрытыми; • long length(): возвращает размер файла в байтах; • long lastModified(): возвращает время последнего изменения файла или каталога; • String[] list(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге; • File[] listFiles(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге.

Fluent Interface Fluent Interface (Текучий интерфейс) — это шаблон проектирования, который позволяет создавать код, читающийс
Fluent Interface Fluent Interface (Текучий интерфейс) — это шаблон проектирования, который позволяет создавать код, читающийся как текст на естественном языке. Он достигается путем создания методов, которые возвращают ссылку на this объект, позволяя вызывать их в цепочке.

Алгоритм Бойера-Мура-Хорспула Данный алгоритм также известен под названием алгоритм Бойера-Мура-Хорспула. Процедура алгоритма
Алгоритм Бойера-Мура-Хорспула Данный алгоритм также известен под названием алгоритм Бойера-Мура-Хорспула. Процедура алгоритма очень простая. Сначала строится таблица смещений для каждого символа. Затем исходная строка и шаблон совмещаются по началу, сравнение ведется по последнему символу. Если последние символы совпадают, то сравнение идет по предпоследнему символу и так далее. Если же символы не совпали, то шаблон смещается вправо, на число позиций взятое из таблицы смещений для символа из исходной строки, и тогда снова сравниваются последние символы исходной строки и шаблона. И так далее, пока не шаблон полностью не совпадет с подстрокой исходной строки, или не будет достигнут конец строки.

⚡️Proglib запускает каналы про нейросети По каждому направлению отдельно! А именно: ⭐Библиотека нейрозвука — здесь все, связа
⚡️Proglib запускает каналы про нейросети По каждому направлению отдельно! А именно: ⭐Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой ⭐Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing ⭐Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии ⭐Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion ⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками. Подписывайтесь!

Как одной строчкой скопировать элементы любой collection в массив? Ответ на картинке.
Как одной строчкой скопировать элементы любой collection в массив? Ответ на картинке.

Чем отличается переопределение от перегрузки? Переопределение — это возможность наследника предоставить свою реализацию метод
Чем отличается переопределение от перегрузки? Переопределение — это возможность наследника предоставить свою реализацию метода, который уже предоставлен в родительском классе. При переопределении сигнатура метода (имя и параметры) в суперклассе и дочернем классе должны совпадать. Перегрузка — это возможность определить несколько методов с одинаковым именем, но разными параметрами. При перегрузке сигнатура методов должна различаться по количеству, типу или порядку параметров.

-35% на полугодовой курс по алгоритмам! 🌟 Алгоритмы и структуры данных🌟 23 390 рублей 35 990 рублей до 1 апреля Курс для те
-35% на полугодовой курс по алгоритмам! 🌟 Алгоритмы и структуры данных🌟 23 390 рублей 35 990 рублей до 1 апреля Курс для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты. 🔥 Переходите и активируйте вводные занятия курсаhttps://proglib.io/w/5a72cc41 Вас ждут: – 150 практических заданий и 47 видеолекций – бессрочный доступ к обучению – поддержка преподавателя в чате А также очень харизматичный спикер из Яндекса 🙌🏻

Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()? При следующем вызове методов итератора будет выброшено ConcurrentModificationException.

☕ Плавный переход с Java 11 на Java 21: пошаговое руководство для разработчиков Наше пошаговое руководство поможет вам осущес
Плавный переход с Java 11 на Java 21: пошаговое руководство для разработчиков Наше пошаговое руководство поможет вам осуществить плавную миграцию вашего проекта с Java 11 на Java 21, избегая подводных камней и извлекая максимум пользы из новых возможностей. Читать статью #гайд

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

☕ Хеш-таблицы в Java: секреты производительности Посмотрим на проблемы, которые возникают при имплементации хеш-таблицы, когд
☕ Хеш-таблицы в Java: секреты производительности Посмотрим на проблемы, которые возникают при имплементации хеш-таблицы, когда сложность добавления или удаления из нее не O(1), а линейная, и какие потенциальные атаки можно провести на эту структуру данных (и как их избегают в современных языках программирования на примере Java). 🔗Читать статью

OkHttp OkHttp — это эффективная библиотека HTTP-клиента с открытым исходным кодом для Java и Kotlin, разработанная Square. Он
OkHttp OkHttp — это эффективная библиотека HTTP-клиента с открытым исходным кодом для Java и Kotlin, разработанная Square. Она обеспечивает простой и удобный API для выполнения HTTP-запросов, включая поддержку протоколов HTTP/1.1 и HTTP/2.

Алгоритм Кнута — Морриса — Пратта Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилир
Алгоритм Кнута — Морриса — Пратта Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилируется заданный шаблон. Компилируя шаблон, мы пытаемся найти префикс и суффикс строки шаблона. Это поможет в случае несоответствия — не придётся искать следующее совпадение с начального индекса. Вместо этого мы пропускаем часть текстовой строки, которую уже сравнили, и начинаем сравнивать следующую. Необходимая часть определяется по префиксу и суффиксу, поэтому известно, какая часть уже прошла проверку и может быть безопасно пропущена.

Библиотека Apache Commons BeanUtils Apache Commons BeanUtils — это набор утилит для работы с Java-бинами в проектах на Java.
Библиотека Apache Commons BeanUtils Apache Commons BeanUtils — это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям: Он имеет поля (атрибуты) для хранения данных. Он предоставляет методы доступа (геттеры и сеттеры) для чтения и записи значений этих полей. Обычно он имеет пустой конструктор по умолчанию. Библиотека BeanUtils упрощает работу с такими классами, избавляя вас от необходимости вручную вызывать методы доступа.

Checked exceptions Checked exceptions — это исключения, которые должны быть обработаны или объявлены в сигнатуре метода при п
Checked exceptions Checked exceptions — это исключения, которые должны быть обработаны или объявлены в сигнатуре метода при помощи throws ключевого слова. Они обычно представляют собой ситуации, которые программист может предвидеть и обработать. Примеры таких исключений включают: IOException, SQLException, FileNotFoundException. Если вы вызываете метод, который объявляет checked exception, вы должны либо обработать это исключение с помощью конструкции try-catch, либо продолжить передачу исключения вверх по стеку вызовов.

Apache POI Apache POI — это библиотека с открытым исходным кодом для работы с форматами файлов Microsoft Office в Java. Она п
Apache POI Apache POI — это библиотека с открытым исходным кодом для работы с форматами файлов Microsoft Office в Java. Она позволяет читать, создавать и редактировать файлы Excel, Word, PowerPoint и другие.

ForkJoinPool.ManagedBlocker ForkJoinPool.ManagedBlocker является интерфейсом в Java, который предоставляет механизм для блоки
ForkJoinPool.ManagedBlocker ForkJoinPool.ManagedBlocker является интерфейсом в Java, который предоставляет механизм для блокировки потока внутри фреймворка ForkJoinPool. ForkJoinPool — это фреймворк параллельного выполнения введенный в Java 7. Интерфейс ManagedBlocker предоставляет метод boolean block() и используется для реализации пользовательских операций, которые могут вызвать блокировку потока. Этот интерфейс обычно используется в ситуациях, когда задача внутри ForkJoinPool ожидает результат выполнения другой задачи, но не хочет приводить к блокировке потока.

Java-программа для преобразования десятичной системы счисления в двоичную Воспользуемся побитовыми операторами для решения да
Java-программа для преобразования десятичной системы счисления в двоичную Воспользуемся побитовыми операторами для решения данной задачи. Временная сложность: O (1) Вспомогательное пространство: O (1).

Даны 3 потока Т1, Т2 и Т3. Как реализовать выполнение в последовательности Т1, Т2, Т3? Такой последовательности выполнения можно достичь многими способами, например просто воспользоваться методом join(), чтобы запустить поток в момент, когда другой уже закончит своё выполнение. Для реализации заданной последовательности, нужно запустить последний поток первым, и затем вызывать метод join() в обратном порядке, то есть Т3 вызывает Т2.join, а Т2 вызывает Т1.join, таким образом Т1 закончит выполнение первым, а Т3 последним.

Что выведет эта программа? Ответ: Программа напечатает «num1 == num2». Если мы сравниваем две ссылки на объекты с помощью ==,
Что выведет эта программа? Ответ: Программа напечатает «num1 == num2». Если мы сравниваем две ссылки на объекты с помощью ==, значение всегда будет «false». Но в этом примере переменные num1 и num2 автоупаковываются (autoboxing) из-за Integer-кэширования. Вот почему num1 == num2 возвращает значение «true». Не забудьте, что Integer-кэширование актуально только для значений от -128 до 127.