Обновить
163.33

Java *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Kafka без боли: моя шпаргалка для собесов в Java. Часть 5

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров228

Всем привет!

Я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти не один десяток собеседований, выслушать массу неожиданных вопросов и потратить немало времени на подготовку. И вот что я понял: Kafka - одна из самых любимых и в то же время самых коварных тем на технических интервью. Независимо от уровня кандидата, вопросы по Kafka появляются почти всегда - от базовой архитектуры до тонкостей гарантий доставки и работы consumer groups.

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

Читать далее

Новости

Вышла GigaIDE 2025.1: подключаем свой маркетплейс плагинов

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров269

На днях вышла новая версия GigaIDE Community Edition. Долгожданное обновление, которое помимо обновления базовой платформы до IntelliJ 2025.1 и мультиагентной системы на базе GigaCode, имеет собственный маркетплейс плагинов. Особенно стоит отметить, что команда GigaIDE пошла по пути максимальной открытости и добавила возможность переключаться между различными маркетплейсами прямо в интерфейсе GigaIDE.

Читать далее

Упрощаем работу с микросервисами при помощи API Gateway на Java

Время на прочтение5 мин
Количество просмотров219

Микросервисы легко разрастаются до зоопарка эндпоинтов, где каждый сервис живёт по своим правилам, а клиенту приходится знать обо всех. В статье разберем, как API Gateway превращает этот хаос в единую точку входа: берёт на себя маршрутизацию, аутентификацию, агрегацию запросов и наблюдаемость. На простом примере с Spring Cloud Gateway рассмотрим, как собрать такой слой поверх Java-сервисов и упростить жизнь и разработчикам, и внешним потребителям API.

Разобраться с Gateway

БД без боли: моя шпаргалка для собесов в Java. Часть 4

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.7K

Всем привет!


Я Senior Java Developer в банке, и за эти годы мне довелось пройти немало собеседований. Где-то было спокойно, где-то — как в допросной, с каверзными вопросами, странными задачами и вечным «а почему так, а не иначе?». В процессе я собрал целую коллекцию тем, которые всплывают снова и снова, особенно когда дело касается баз данных.

Сегодня хочу поделиться этим опытом и разобрать вопросы, которые чаще всего задают именно по SQL-базам.

Читать далее

CookBook maven plugin. CDI, отладка и тестирование

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров183

CookBook maven plugin. CDI, отладка и тестирование. Цель статьи - рассказать об опыте разработки плагина.

Читать далее

Axiom JDK: криптография «из коробки» и подключение ГОСТ-провайдеров

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров308

Приглашаем на вебинар, на котором поговорим, как защитить сборки, избежать зависимостей от внешних репозиториев и повысить надёжность.

Вебинар бесплатный, нужно только зарегистрироваться.

Читать далее

Мечтают ли ИИ-агенты об удобных IDE?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров983

О программировании с помощью AI-агентов трубят из-за каждого угла. Последнее время появилось достаточно много инструментов, которые буквально пишут код за разработчика. Наша команда следит за индустрией ИИ в разработке достаточно давно. Помимо внедрения ИИ в сам процесс разработки наших продуктов, мы активно занимаемся интеграцией Amplicode с современными AI-агентами и не только. И у нас есть свои мысли на этот счет :-)

Читать далее

Как IN (:ids) раздувал Hibernate Query Plan Cache до 100+ МБ и почему ANY(:ids) спас прод

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров1.9K

При разборе продакшн heap dump я обнаружил странность: Hibernate Query Plan Cache занимал почти треть памяти. Обычный IN (:ids) внезапно генерировал тысячи SQL-планов и раздувал heap.

Почему так происходит и как полностью решить проблему с помощью ANY(:ids) — разбираю пошагово на реальном примере

Читать далее

Нативный API Versioning в Spring 7: долгожданная официальная поддержка

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.9K

Команда Spring АйО подготовила перевод статьи о том, как Spring Framework 7 приносит нативную поддержку API-версионирования — темы, которая годами оставалась на разработчиках и собирала тонны костылей. Теперь Spring Framework предлагает единый, продуманный механизм как для серверной, так и для клиентской стороны. Что это меняет для архитектуры и разработки на Spring — разберёмся в статье.

Читать далее

Числовой тип данных с плавающей точкой double IEEE 754

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.5K

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

Читать далее

Spring без боли: моя шпаргалка для собесов в Java. Часть 3

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров3.7K

Всем привет!

Сейчас я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти множество собеседований, столкнуться с десятками непростых вопросов и вложить кучу времени в подготовку. И со временем я заметил одну закономерность: Spring — одна из самых объёмных и любимых тем на Java‑собеседованиях, причём спрашивают её у кандидатов любого уровня.

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

Читать далее

Как скопировать дерево, но не точь-в-точь

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.7K

На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.

Читать далее

Добавляем MapReduce в этот наш SQL: генераторы на основе курсоров

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров2.1K

Вот уже который год я потихоньку разрабатываю SQL-ный движок на основе Apache Spark, специализированный под задачи ETL. И хотя диалект языка изначально называется «Transform Definition Language», писать трансформации данных непосредственно на нём самом было до сих пор невозможно. Вместо этого на фазе Transform предполагалось использовать подключаемые модули, которые рантайм интерпретатора предоставляет из Java classpath.

Это очень эффективный с точки зрения производительности, но довольно долгий с точки зрения внедрения, и дорогой в разработке способ. Сначала трансформацию надо описать формально в виде статьи-whitepaper'а (это делает data scientist), потом написать прототип на Python (ответственность data analyst), отладиться на сэмпле реальных данных (тоже аналитик), и тогда уже делать и оптимизировать финальную имплементацию на Java с использованием низкоуровневого API Spark (собственно, задача разработчика). Неудобно.

Нельзя ли его как-нибудь сократить? Например, дать аналитикам инструмент для написания трансформаций непосредственно в самом SQL, вынеся некоторую часть функциональности MapReduce как разновидность итерирующих функций? Можно, конечно!

Давайте узнаем, как именно

Ближайшие события

JVM + Память + GC без боли: моя шпаргалка для собесов в Java. Часть 2

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.5K

Всем привет!

Работая Senior Java Developer в одном из банков, я успел пройти уйму собеседований, столкнуться с десятками каверзных вопросов и понять, сколько усилий требует подготовка. И каждый раз убеждаюсь в одном: тема JVM, память и GC — одна из самых недооценённых и одновременно самых частых на Java-собесах. Многие знают об этом “что-то где-то слышал”, но как только разговор заходит про Heap, Metaspace, JIT, Safepoint или разные типы GC — начинаются проблемы.

Поэтому эта статья — вторая часть моей шпаргалки по подготовке к Java-собеседованиям. Здесь я собрал всё самое важное о работе JVM и управлении памятью простым, человеческим языком, без боли и академической зауми. Разберём архитектуру JVM, устройство памяти, JIT, GC, типы ссылок и самые частые вопросы, которые любят спрашивать на интервью.

В профиле уже есть первая часть для подготовки — Многопоточность без боли.

Читать далее

Выпущена версия Jmix 2.7

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров885

Мы рады сообщить о выпуске Jmix 2.7! Эта версия представляет обновленный дизайнер ролей в Jmix Studio, новые UI-компоненты и включает ряд других улучшений фреймворка. Полный список изменений вы можете посмотреть в разделе "Что нового" документации Jmix.

Ниже приведен краткий обзор основных новых функций Jmix 2.7.

Читать далее

Реактивное программирование в Java: от теории к практике

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров4.3K

«Когда пару лет назад я впервые столкнулась с реактивным программированием, — рассказывает моя коллега Екатерина, — казалось, что это что‑то слишком сложное и академическое. Но чем больше работаешь с современными высоконагруженными системами, тем яснее становится, что без реактивного подхода сложно обеспечить высокую отзывчивость и масштабируемость».

Читать далее

Многопоточность без боли: моя шпаргалка для собесов в Java

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K

Всем привет!

Я работаю Senior Java Developer в одном из банков, и за последние годы мне пришлось пройти не одно собеседование, услышать десятки каверзных вопросов и потратить уйму времени на подготовку. И вот что я понял: многопоточность — это одна из самых сложных и любимых тем на Java-собеседованиях, независимо от уровня кандидата.

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

Читать далее

Как не сойти с ума с Grafana Unified Alerting: настраиваем алерт и разбираем все грабли

Время на прочтение7 мин
Количество просмотров811

В какой‑то момент простого дашборда уже не хватает. Хочется, чтобы метрики не просто «где‑то красиво лежали», а сами приходили и били в лицо, когда что‑то пошло не так.

Разберёмся с Grafana Unified Alerting, expressions, темплейтами уведомлений и типичными ошибками, которые легко словить, если вы впервые лезете в алерты.

Читать далее

Скважины, потоки и GC: как Java помогает качать нефть и сохранять ИТ-ресурсы и кадры

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.7K

Многие промышленные системы ТЭК десятилетиями держались на Java. И это помогло им избежать полного ребилда. Если коротко: нефтегазовые компании в России не стали переписывать свои системы с нуля — они просто остались на Java. Только теперь — на отечественной.

Читать далее

Графический редактор PaintCAD Mobile — переделка под большие экраны телефонов

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров560

Жил-был в 2000-2005(-2010) годах такой пет-проект - графический пиксель-арт редактор для J2ME мобильных телефонов - PaintCAD (смесь паинта и системы, управляемой с телефонной клавиатуры, ползающей курсором по рисунку, рисующей и применяющей эффекты, обрабатывающей изображения, создающей GIF-анимации, растровые PCF-шрифты и т.д.).

И что было дальше?
1
23 ...

Вклад авторов