Библиотека собеса по Java | вопросы с собеседований
رفتن به کانال در Telegram
Вопросы с собеседований по Java и ответы на них. По рекламе: @proglib_adv Учиться у нас: clc.to/3wECtA Для обратной связи: @proglibrary_feeedback_bot
نمایش بیشتر6 464
مشترکین
-124 ساعت
-27 روز
-730 روز
آرشیو پست ها
DatagramPacket
DatagramPacket — это класс в Java, который представляет собой пакет датаграмм. Датаграммы используются для реализации бессоединительной службы доставки пакетов. Это означает, что каждый пакет отправляется независимо от других пакетов, и нет гарантии, что они будут доставлены в том же порядке, в котором были отправлены.
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
KeyListener
KeyListener — это интерфейс в Java, который позволяет отслеживать события, связанные с клавиатурой. Он используется для определения того, когда пользователь нажимает, отпускает или печатает клавишу.
Сигнатура метода
Сигнатура метода — это имя метода и типы входящих параметров (причем порядок параметров имеет значение). В сигнатуру метода не входит возвращаемое значение, а также бросаемые им исключения. Сигнатура метода в сочетании с типом возвращаемого значения и перечнем бросаемых исключений называется контрактом метода.
Может ли один блок catch отлавливать несколько исключений (с одной и разных веток наследований)?
Да, в Java один блок catch может обрабатывать сразу несколько типов исключений.
Это работает следующим образом:
— При определении блока catch в круглых скобках перечисляются классы исключений через вертикальную черту «|» . Это могут быть классы исключений как с одной ветки наследования, так и с разных.
— Когда во время выполнения программы возникает исключение, Java проверяет, подходит ли оно под один из указанных в catch типов. Если подходит — выполняется код внутри данного блока catch.
Это позволяет избежать дублирования кода обработки в случаях, когда разные исключения должны обрабатываться одинаково.
java.lang.reflect.Constructor
Класс java.lang.reflect.Constructor представляет собой конструктор класса Java. Он используется для создания экземпляров класса, предоставляя доступ к информации о конструкторе, а также возможность его вызова.
Всегда ли исполняется блок finally?
Блок finally всегда выполняется, независимо от того, было ли выброшено исключение или нет.
Это происходит по следующим причинам:
⚡️ Блок finally гарантирует, что критически важный код будет выполнен, даже если в try или catch блоках произошла ошибка.
⚡️ Если в try блоке вызвана инструкция return, блок finally отработает перед возвратом из метода.
⚡️ Если в try или catch блоке вызван метод System.exit() для завершения приложения, блок finally отработает перед завершением.
Единственный случай, когда блок finally не выполняется — это когда JVM аварийно завершается из-за ошибки.
Узнаем размер каталога с помощью Java
Размер файлов в Java можно получить с помощью класса File. Встроенная функция 'fileName.length()' используется для определения размера файла в байтах.
Каталог может содержать N файлов, для расчета размера каталога требуется суммирование размеров всех файлов.
Метод putAll()
Метод putAll() принадлежит интерфейсу Map и используется для добавления всех элементов из одной карты (Map) в другую. Этот метод принимает в качестве аргумента другую карту и добавляет все ее записи в вызывающую карту.
Например, если у вас есть две карты, содержащие данные, и вам нужно объединить их для выполнения операций на полном объеме данных, метод putAll() предоставляет простой способ объединения.
🔗 Как повысить эффективность работы с большим количество сетевых подключений в Java?
Узнайте на бесплатном практическом уроке «Java NIO» от OTUS и Александра Фисунова — Senior Kotlin Developer в SSP Software на проекте ВТБ.
На вебинаре вы:
— узнаете, что такое Java NIO и чем он отличается от Java IO
— разберете полезные возможности Java NIO, которые сильно упрощают жизнь и могут пригодиться любому разработчику;
— изучите Java Core и получите ответы на свои вопросы.
Встречаемся 15 февраля в 20:00 мск.
Открытый урок пройдет в преддверии обновленного запуска курса «Java Developer. Professional».
➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/M2xG/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 Erid 2VtzquZYre4Метод startsWith()
Метод startsWith() является частью класса String и используется для проверки того, начинается ли строка с определенной подстроки. Вот сигнатура метода:
public boolean startsWith(String prefix)
Этот метод возвращает true, если вызывающая строка начинается с указанного префикса (prefix), и false в противном случае.
Интерфейс Supplier
Интерфейс Supplier — это функциональный интерфейс в языке программирования Java, определенный в пакете java.util.function. Он представляет собой интерфейс, который может использоваться для предоставления значений, но не принимает аргументов. В этом интерфейсе есть один метод, который не принимает аргументов и возвращает значение.
Метод Supplier:
T get();
Где T — это тип возвращаемого значения.
Supplier может быть полезным, когда вам нужно получить значение, но не требуется передавать какие-либо аргументы для его получения. Этот интерфейс часто используется, например, в лямбда-выражениях и стримах для предоставления значений.
Какие типы ключевых слов используются в обработке исключений Java?
☕ try
☕catch
☕finally
☕throw
☕throws
EventListener
EventListener (слушатель событий) — это интерфейс, который позволяет объектам реагировать на события, происходящие в системе. Он используется для создания интерактивных приложений, где действия пользователя или изменения в системе должны вызывать определенные реакции.
Отличия String, StringBuilder, StringBuffer
⏺️ String — иммутабельный байтовый массив;
⏺️ StringBuilder — helper-класс для построения строк, не предоставляет гарантий синхронизации;
⏺️ StringBuffer — то же, что и StringBuilder, с synchronized методами.
Что такое трассировка стека (stacktrace) и как она связана с исключением?
Трассировка стека предоставляет имена классов и методов, которые были вызваны, от запуска приложения до момента возникновения исключения.
Это очень полезный инструмент отладки, поскольку он позволяет нам точно определить, где именно в приложении было сгенерировано исключение, и первоначальные причины, которые привели к нему.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
LongAdder
LongAdder — это класс атомарных long-значений в Java, который предназначен для повышения производительности в многопоточных приложениях при частом изменении значения.
LongAdder работает следующим образом: он хранит несколько переменных, каждая из которых может быть обновлена одновременно без блокировки. Когда несколько потоков пытаются обновить одно и то же значение, они распределены по этим переменным. Это позволяет снизить конкуренцию между потоками и повысить производительность.
LongAdder можно использовать в следующих случаях:
— Для хранения счетчиков, которые часто обновляются несколькими потоками.
— Для реализации распределенных счетчиков, которые могут быть обновлены из любого места в сети.
— Для реализации распределенных хэш-таблиц, в которых значение хэша может быть обновлено несколькими потоками.
StampedLock
StampedLock — это механизм блокировки, представленный в Java 8. Он отличается от других механизмов блокировки, таких как synchronized и ReentrantLock, тем, что использует концепцию меток. Метка — это целое число, которое используется для отслеживания состояния блокировки.
StampedLock поддерживает три режима блокировки:
— Обычный режим (READ): в этом режиме несколько потоков могут одновременно читать данные, защищенные блокировкой.
— Редактирование (WRITE): в этом режиме только один поток может получить доступ к данным для редактирования.
— Оптимистическая блокировка (OPTIMISTIC): в этом режиме поток может получить доступ к данным для чтения, не блокируя другие потоки. Если данные были изменены другим потоком до того, как поток закончил чтение, поток получит ошибку.
