uniVocity-parsers
uniVocity-parsers — это набор высокопроизводительных и надежных парсеров для Java. Он предлагает унифицированный интерфейс для работы с различными форматами файлов, а также надежную инфраструктуру для разработки новых парсеров.
#для_продвинутых
#вопросы_с_собеседований
Что такое "weak references" в Java и когда их стоит использовать?
Ответ ⬇️
Weak references (слабые ссылки) позволяют ссылаться на объекты, не предотвращая их сборку сборщиком мусора (GC). Если на объект осталась только слабая ссылка, GC сможет освободить его память, когда посчитает нужным. Это полезно в ситуациях, когда нужно избежать утечек памяти, но при этом объект не должен оставаться в памяти, если он больше не используется, как в кэширующих структурах данных или пуле объектов.
#вопросы_с_собеседований
Как создать поток-демон?
Объявить поток демоном достаточно просто — нужно перед запуском потока вызвать его метод setDaemon(true).
Проверить, является ли поток демоном, можно вызвав его метод boolean isDaemon().
#вопросы_с_собеседований
Как получить текущую дату с использованием Date Time API из Java 8?LocalDate.now();
Как добавить 1 неделю, 1 месяц, 1 год, 10 лет к текущей дате с использованием Date Time API?LocalDate.now().plusWeeks(1);
LocalDate.now().plusMonths(1);
LocalDate.now().plusYears(1);
LocalDate.now().plus(1, ChronoUnit.DECADES);
#вопросы_с_собеседований
Что такое Dead lock?
Случай когда у нас выполняются два потока(A, B) и наш первый поток(А) заблокировал метод a() и второй поток(В) заблокировал метод b() и в то же время поток А пытается получить доступ к методу b(), а поток B пытается получить доступ к методу а() называют dead lock.
Как бы вы связали Spring MVC Framework с архитектурой MVC?
Как следует из названия, Spring MVC построен на основе архитектуры Model-View-Controller. DispatcherServlet — это передний контроллер в приложении Spring MVC, который обрабатывает все входящие запросы и делегирует их различным методам обработчика контроллера.
Моделью может быть любой Java-бин в Spring Framework, как и в любой другой среде MVC Spring обеспечивает автоматическую привязку данных формы к Java-бинам. Мы можем установить bean-компоненты модели в качестве атрибутов, которые будут использоваться на страницах View.
Страницы View могут быть JSP, статическим HTML и т. д., а преобразователи представлений отвечают за поиск правильной страницы просмотра. Как только страница просмотра идентифицирована, управление возвращается контроллеру DispatcherServlet. DispatcherServlet отвечает за визуализацию представления и возврат окончательного ответа клиенту.
#вопросы_с_собеседований
Как можно заранее выйти из цикла?
Используя оператор break, мы можем немедленно прекратить выполнение цикла:
for (int i = 0; ; i++) {
if (i > 10) {
break;
}
}
#вопросы_с_собеседований
Какая польза от WebClient и WebTestClient?
WebClient — это компонент нового Web Reactive Framework, который может действовать как реактивный клиент для выполнения неблокирующих HTTP-запросов. Поскольку это реактивный клиент, он может обрабатывать реактивные потоки и в полной мере использовать лямбда-выражения Java 8. Он также может обрабатывать как синхронные, так и асинхронные сценарии.
С другой стороны, WebTestClient – это аналогичный класс, который мы можем использовать в тестах. По сути, это тонкая оболочка вокруг WebClient. Он может подключаться к любому серверу через HTTP-соединение. Он также может напрямую связываться с приложениями WebFlux, используя фиктивные объекты запросов и ответов, без необходимости использования HTTP-сервера.
#вопросы_с_собеседований
Опишите различные типы примитивов и объемы памяти, которые они занимают.
Java имеет 8 примитивных типов:
☕️ boolean — логическое значение true/false. Размер логического значения не определяется спецификацией JVM и может различаться в разных реализациях
☕️ byte — 8-битное значение со знаком
☕️ short — 16-битное значение со знаком
☕️ char — беззнаковое 16-битное значение
☕️ int — 32-битное значение со знаком
☕️ long — 64-битное значение со знаком
☕️ float — 32-битное значение с плавающей запятой одинарной точности, соответствующее стандарту IEEE 754
☕️ double — 64-битное значение с плавающей запятой двойной точности, соответствующее стандарту IEEE 754
Spring. Экспертное мнение о плюсах и минусах самого популярного Java-фреймворка
Spring является самым популярным инструментом при разработке промышленных приложений на Java – от больших монолитных приложений до микросервисов.
Смотреть статью
Зубчатый массив в Java
Зубчатый массив — это массив массивов, в котором массивы элементов могут быть разных размеров, т. е. мы можем создать двумерный массив, но с переменным числом столбцов в каждой строке. Эти типы массивов также известны как зубчатые массивы.
Подробнее о зубчатых массивах можно почитать здесь.
#вопросы_с_собеседований
Для чего используются ключевые слова volatile, synchronized, transient, native?volatile
вынуждает потоки отключить оптимизацию доступа и использовать единственный экземпляр переменной. Если переменная примитивного типа – этого будет достаточно для обеспечения потокобезопасности. Если же переменная является ссылкой на объект – синхронизировано будет исключительно значение этой ссылки. Все данные, содержащиеся в объекте, синхронизированы не будут!synchronized
— это зарезервированное слово позволяет добиваться синхронизации в помеченных им методах или блоках кода.
Ключевые слова transient
и native
к многопоточности никакого отношения не имеют, первое используется для указания полей класса, которые не нужно сериализовать, а второе сигнализирует о том, что метод реализован в платформо-зависимом коде.
Каков самый простой способ перевернуть ArrayList?
Ответ на картинке.
Другие способы это сделать можно найти здесь.
Инкапсуляция
Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.
Для достижения инкапсуляции в Java:
☕️ Объявите переменные класса как private.
☕️ Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.
Преимущества инкапсуляции:
☕️ Поля класса можно сделать только для чтения или только для записи.
☕️ Класс может иметь полный контроль над тем, что хранится в его полях.
👩💻 Открытый урок «Знакомство со Spring Cloud».
Как эффективно использовать самый популярный фреймворк в Java-мире для профессиональной разработки приложений?
📆 Узнайте на открытом вебинаре 10 октября в 20:00 мск.
Где мы разберем:
- что такое Spring Cloud и для чего он нужен;
- из каких основных компонентов состоит Spring Cloud;
- как использовать ключевые функции Spring Cloud для разработки.
Спикер Сергей Петрелевич — опытный Java/Kotlin-разработчик и преподаватель.
Встречаемся в преддверии старта курса «Java Developer. Professional». Все участники вебинара получат специальную цену на обучение!
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cBLNAuРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1. С чем предстоит работать:
Эмулирование зрителей на стримерские платформы с различной защитой(ютуб, твич, кик и подобные)
Опыт работы с сессиями, прокси, куками, обхода антифрода и клоудфлеера, токенами, апи социальных сетей, снифом приветствуется. Делаем на запросах.
2. На каком языке программирования будет основная часть работы:
Языки: Python | Node.js | C++ | С# уровня Middle или с опытом работы в накрутке
3. На какие сроки вам нужен исполнитель:
1-12 месяцев
4. Сколько готовы выплачивать исполнителю за работу:
От 500 до 5000$ за каждую площадку
Контакты:
Пишите в тг @TiKey_K
RE Design Buro – уникальные интерьеры для IT-специалистов!
Более 15 лет создаем уникальные проекты международного уровня, которые не только отражают ваш стиль, но и удовлетворяют все ваши потребности.
Что мы предлагаем?
⭐️ Полный дизайн-проект: от идеи до реализации – разработаем концепцию, подготовим детальные чертежи и подберем лучшие материалы.
💡 Оперативность и комфорт: начинаем работу ещё до получения ключей, чтобы вы могли въехать в новый дом как можно скорее!
❗️ Прозрачность и честность: фиксируем стоимость работ и сроки, предлагаем удобную поэтапную оплату.
🔥 Специальные условия для IT-специалистов при обращении до 31 октября.
👉 Выполненные работы
👉 Подписывайтесь на канал
👉 Бесплатная консультация дизайнера
Senior-разработчик создал крутейший канал про SQL
Благодаря простым картинкам даже новичок научится разрабатывать приложения с использованием баз данных.
Присоединяйтесь: @SQL
#вопросы_с_собеседований
Java передает аргументы по значению или по ссылке?
Java всегда передает аргументы по значению (pass-by-value). Тем не менее, когда мы передаем значение объекта, мы передаем ссылку на него, потому что переменные хранят ссылку на объект, а не сам объект. Но это не передача по ссылке (pass-by-reference). Такое положение дел может быть не совсем понятно новичкам.
Как можно извлечь цвет изображения из PDF IText Java?
Чтобы извлечь цвет изображения из PDF-файла с помощью IText и Java, вы можете использовать класс PdfImageObject для извлечения необработанных данных изображения из PDF-файла, а затем использовать класс BufferedImage из API ввода-вывода изображений Java для создания буферизованного изображения из необработанных данных.
Оттуда вы можете использовать метод getRGB() класса BufferedImage для получения цвета определенного пикселя изображения.
#вопросы_с_собеседований
Объясните смысл параметров в конструкторе HashMap(int initialCapacity, float loadFactor)
• initialCapacity - исходный размер HashMap, количество корзин в хэш-таблице в момент её создания.
• loadFactor - коэффициент заполнения HashMap, при превышении которого происходит увеличение количества корзин и автоматическое перехэширование. Равен отношению числа уже хранимых элементов в таблице к её размеру.
#вопросы_с_собеседований
Есть ли недостатки у сборки мусора в Java?
Да. Всякий раз, когда запускается сборщик мусора, он влияет на производительность приложения. Это связано с тем, что все остальные потоки в приложении должны быть остановлены, чтобы поток сборщика мусора мог эффективно выполнять свою работу.
В зависимости от требований приложения это может стать реальной проблемой, неприемлемой для клиента. Однако эту проблему можно значительно уменьшить или даже устранить за счет умелой оптимизации и настройки сборщика мусора, а также использования его различных алгоритмов.
Тестовое собеседование на Middle Java-разработчика в среду
Заходи 9 октября, в среду в 19:00 по мск на открытое онлайн-собеседование от ШОРТКАТ, чтобы узнать:
● Чего ждут от кандидатов на Middle позиции в Java-разработке
● Какие вопросы задают на интервью и зачем
● Как подготовиться к собесу, чтобы получить оффер
Интервью проведёт Роман Половинцев, ex. TeamLead в Сбере.
Чтобы записаться на эфир, переходи в бот → @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwXka4J
#вопросы_с_собеседований
Могут ли у разных объектов быть одинаковые hashCode()?
Да, могут. Метод hashCode() не гарантирует уникальность возвращаемого значения. Ситуация, когда у разных объектов одинаковые хэш коды называется коллизией. Вероятность возникновения коллизии зависит от используемого алгоритма генерации хэш кода.
Успей влиться в МТС True Tech Champ! 🚀
Остаётся несколько дней, чтобы пройти регистрацию на МТС True Tech Champ — соревнования опытных и начинающих разработчиков со всей страны, которые поборются за призовой фонд 10 250 000 ₽.
Регистрация открыта до 12 октября. Участникам уже доступны задачи отборочного тура. Можно попробовать свои силы в двух треках:
🤖 Трек «Программирование роботов». Участникам предстоит написать алгоритм, с помощью которого робомыши пройдут лабиринт на скорость. Знать робототехнику не обязательно — главное, уметь программировать на одном из языков: С++, Go, Python, JS, Java, C#.
👩🏻💻 Трек «Алгоритмический». Классический олимпиадный формат: работа со структурами данных, проверка математических навыков и умения решать алгоритмические задачи.
Узнать больше подробностей о чемпионате и его офлайн-финале 8 ноября можно на https://truetechchamp.ru/champ
И даже при таком сценарии — вы сможете разминуться!
Даже тимлид не найдёт на очередной дейлик.
Потому что Доброград — это больше 3 тыс. гектаров инфраструктуры среди леса и рек. Даже свой вейк-парк есть. Уникальный город в 2,5 часах езды от Москвы.
Высокий уровень безопасности с биометрическим контролем и поле для гольфа. А ещё сцена на воде, спа-комплекс с бассейном, вейк-парк, гольф-клуб и десяток других развлекательных активностей.
Переезжай в Доброград
Реклама. ООО "СЗ "Доброград". ИНН 3317027134
#вопросы_с_собеседований
В чем разница между Hashset и Treeset?
Классы HashSet и TreeSet реализуют интерфейс Set и представляют наборы отдельных элементов. Кроме того, TreeSet реализует интерфейс NavigableSet. Этот интерфейс определяет методы, использующие порядок элементов.
HashSet внутренне основан на HashMap, а TreeSet поддерживается экземпляром TreeMap, который определяет их свойства: HashSet не хранит элементы в каком-либо определенном порядке. Итерация по элементам в HashSet проиcходит в перемешанном порядке. TreeSet, с другой стороны, создает элементы по порядку в соответствии с некоторым предопределенным Компаратором.
🎉Тест-драйв профессии Java QA Engineer. Basic
Хотите узнать, как стать востребованным автоматизатором тестирования на Java? Присоединяйтесь к открытому уроку на тему "Перспективы и преимущества профессии автоматизатора тестирования на Java" и откройте для себя мир автоматизации тестирования!
На вебинаре мы обсудим:
- Профессию автоматизатора тестирования на Java и её перспективы
- Необходимые навыки для работы и требования к кандидатам на собеседованиях
- Современные технологии автоматизации тестирования и преимущества использования автотестов
Этот вебинар будет полезен:
- Начинающим специалистам без опыта в IT
- Начинающим специалистам в тестировании
- Начинающим разработчикам на Java или других языках
Не упустите шанс улучшить свои навыки и расширить карьерные возможности!
➡️➡️➡️Запишитесь на вебинар прямо сейчас.
https://vk.cc/cBK54oРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
#вопросы_с_собеседований
Как вывести на экран 10 случайных чисел в порядке возрастания?
Ответ на картинке.
Java для сисадминов
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Смотреть статью