seniorjavist | Unsorted

Telegram-канал seniorjavist - Senior Java Developer

-

Изучаем Java. По вопросам сотрудничества: @seniorvladislav

Subscribe to a channel

Senior Java Developer

Как конвертировать ArrayList в массив на Java?

Рассмотрим пример простой программы, которая преобразовывает ArrayList в массив в Java.

Мы используем реализацию метода toArray(T[] a) класса ArrayList, чтобы конвертировать ArrayList в массив на Java. «Под капотом» этого метода используется метод Arrays.copyOf(), чтобы конвертировать ArrayList в Array.

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Как получить коллекцию только для чтения?

При помощи:
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).

Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.

Читать полностью…

Senior Java Developer

Объединение двух массивов

Наиболее лаконичный способ объединить элементы двух массивов – это воспользоваться классом ArrayUtils из Commons Lang.

Подробнее можно ознакомиться здесь.

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?

✔️Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
✔️Для создания объекта статического вложенного класса объект внешнего класса не требуется.
✔️Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
✔️Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
✔️В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статического такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.

Читать полностью…

Senior Java Developer

Final класс

Нельзя расширять класс, объявленный как final. Проще говоря, никакой класс не может наследоваться от данного.

Прекрасным примером final класса в JDK является String. Первый шаг к созданию неизменяемого класса — пометить его как final, и тогда нельзя будет его расширить.

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Что такое модификаторы доступа?

Модификаторы доступа — это инструмент, при помощи которого можно настроить доступ к классам, методам и переменным.

Бывают следующие модификаторы, упорядоченные в порядке повышения доступа:
1) private — используется для методов, полей и конструкторов. Уровень доступа — только класс, внутри которого он объявлен.
2) package-private(default) — может использоваться для классов. Доступ только в конкретном пакете (package), в котором объявлен класс, метод, переменная, конструктор.
3) protected — такой же доступ, как и package-private + для тех классов, которые наследуются от класса с модификатором protected.
4) public — используется и для классов. Полноценный доступ во всем приложении.

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Какой символ является разделителем при указании пути в файловой системе?

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

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

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Что такое ZonedDateTime?

java.time.ZonedDateTime — аналог java.util.Calendar, класс с самым полным объемом информации о временном контексте в календарной системе ISO-8601. Включает временную зону, поэтому все операции с временными сдвигами этот класс проводит с её учётом.

Документацию можно найти здесь.

Читать полностью…

Senior Java Developer

👩‍💻 Пройди тест по Java

Проверь насколько хорошо ты знаешь Java и готов освоить 👩‍💻 Spring!

Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.

👉 ПРОЙТИ ТЕСТ: https://otus.pw/cjAo/

🎫 Начни обучение со скидкой, подробности у менеджеров.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Senior Java Developer

dbeaver — бесплатный универсальный инструмент для работы с базами данных и SQL-клиент.

https://github.com/dbeaver/dbeaver

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Что такое Aspect, Advice, Pointcut и JoinPoint в АОП?

Aspect
— класс, который реализует сквозные функции, такие как управление транзакциями.
Advice — методы, которые выполняются, когда в приложении достигается определенный JoinPoint с соответствующим Pointcut.
Pointcut — набор регулярных выражений, которые сопоставляются с JoinPoint, чтобы определить, нужно ли выполнять Advice или нет.
JoinPoint — некая точка во время выполнения программы, например выполнение метода или обработка исключения.

Читать полностью…

Senior Java Developer

Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

👩‍💻 Python: @PythonPortal
🖥 Базы Данных & SQL: @SQL
👩‍💻 Java: @Java_Iibrary
👩‍💻 С/С++: @Cpportal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
👩‍💻 C#: @KodBlog
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

Читать полностью…

Senior Java Developer

Разбираем на простых примерах: наследование в Java

Разбираемся в нюансах наследования в языке Java и в том, с какими проблемами можно столкнуться в процессе изучения.

https://proglib.io/p/razbiraem-na-prostyh-primerah-nasledovanie-v-java-2022-03-10

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Что такое «система управления базами данных»?

Система управления базами данных (СУБД) - набор средств общего или специального назначения, обеспечивающий создание, доступ к материалам и управление базой данных.

Основные функции СУБД:

☕️ управление данными;
☕️ журнализация изменений данных;
☕️ резервное копирование и восстановление данных;
☕️ поддержка языка определения данных и манипулирования ими.

Читать полностью…

Senior Java Developer

Т-Банк ищет Java-разработчиков уровня middle и senior

23 и 24 ноября можно пройти собеседование за выходные и получить оффер, если всем все понравится.

Вот что вас ждет в компании:

— Выстроенный процесс разработки и запуска проектов.
— Современный стек технологий — здесь быстро внедряют новое в работу.
— Разработка на актуальной версии Java.
— Баланс между использованием самописных и стандартных инструментов.
— Сильное комьюнити и обмен опытом на конференциях и митапах.

Узнайте больше и оставьте заявку до 20 ноября

Читать полностью…

Senior Java Developer

👩‍💻 Открытый урок «Знакомство с виртуальными потоками Java»

🗓 21 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от Otus.

Легковесные потоки были введены во многих языках программирования, таких как Go, Kotlin и другие. Теперь Java догнала другие языки по этой функциональности.

На вебинаре разберем:

✔️что такое виртуальные потоки;
✔️ чем они отличаются от обычных потоков;
✔️в чём плюсы и минусы их использования.

🔗 Ссылка на регистрацию: https://otus.pw/COTVV/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Почему хранить пароль предпочтительнее в char[]/byte[], а не в String?

☕️ Строка в виде литерала сразу раскрывает пароль, плюс она всегда хранится в string-пуле
☕️ byte[]/char[] возможно сбросить после использования, и удалить все ссылки на него

Читать полностью…

Senior Java Developer

👩‍💻 Открытый урок «Интернационализация и локализация в приложениях Spring»

🗓 25 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Разработчик на Spring Framework» от Otus.

Узнайте, как эффективно реализовать интернационализацию и локализацию в Spring-приложениях.

На вебинаре разберем:

✔️работу с классом Locale, использование MessageSource в Spring Boot и без него;
✔️ способы хранения и смены локали в веб-приложениях;
✔️ локализацию в шаблонах Thymeleaf и сообщений Bean Validation;
✔️ обсудим, почему не стоит локализовывать исключения;
✔️ проанализируем исходный код для лучшего понимания процессов.

🔗 Ссылка на регистрацию: https://otus.pw/X16gx/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Java Developer

Анализ дампа кучи Java: разбираем на примерах

Всякий раз, когда вы создаете объект, он хранится в области памяти, которая в приложениях для JVM называется «куча». Как вы уже догадались, объем кучи ограничен, и «кто-то» должен хранить объекты в куче. Этот инструмент называется сборщиком мусора (Garbage Collector).

Смотреть статью

Читать полностью…

Senior Java Developer

Уже применяешь асинхронную архитектуру в работе? Или только думаешь, как её внедрить?

Podlodka Java Crew с 18 по 22 ноября собирает тех, кто знает, как сделать это эффективно!

Пять дней, мощные практические сессии, опытные спикеры:

- "Spring, Micronaut, Quarkus и Helidon — что круче для современного приложения?" Григорий Кошелев и Андрей Когунь — о плюсах и минусах каждого фреймворка💥

- "Проектируем Event Driven-систему с помощью DDD и Event Storming"
Кирилл Ветчинкин поможет понять, как сделать системы масштабируемыми и управляемыми с помощью событий🚀

- "Apache EventMesh: как приготовить Event Mesh"
Павел Бодячевский поможет внедрить Event Mesh в проект🎯

- "Debezium: окно в асинхронный мир данных" Евгений Ефименко покажет, как обрабатывать данные в реальном времени📊

Забирай билет, чтобы перенять опыт профи!🔥

Читать полностью…

Senior Java Developer

Apache Struts

Apache Struts — фреймворк с открытым исходным кодом для создания Java EE веб-приложений. Struts был создан для того, чтобы чётко разделить модель (бизнес-логику), представление (HTML-страницы) и контроллер (отвечающий за передачу данных от модели к представлению и обратно).

https://github.com/apache/struts

Читать полностью…

Senior Java Developer

Привет!
Мы в ОКБ Понедельник изучаем, как проходят найм и адаптация новых сотрудников в российском бигтехе.

Вы можете стать участником исследования, если:
– Ваша роль – продакт-менеджер или senior разработчик (Java, JavaScript, Go, Python)
– Работаете не больше 6 месяцев в таких компаниях, как Яндекс, Авито, VK, Ozon, Альфа, Сбер, Т-Банк и другие
– Находитесь в активном или пассивным поиске вышеуказанных вакансий

Мы ценим ваше время и предлагаем:
– Онлайн-беседу в удобное для вас время продолжительностью 1-1,5 часа
– Полную конфиденциальность
– Вознаграждение 5000 ₽ за участие в интервью

Если вам интересно, напишите @kstrv7
Или заполните анкету https://forms.gle/983QGwsCwQFQXSzT8

Подробнее о нас: ponedelnik.ru

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Как преобразовать HashMap в ArrayList в Java?

Ответ на картинке.

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Что вы знаете об интерфейсе FileFilter?

Интерфейс FileFilter применяется для проверки, попадает ли объект File под некоторое условие. Этот интерфейс содержит единственный метод boolean accept(File pathName). Этот метод необходимо переопределить и реализовать. Пример прикреплен.

Читать полностью…

Senior Java Developer

erid:2VtzqxQTSBN
Как устроена работа ИТ-специалистов в Т-Банке?

Загляните в канал T-Crew — тут показывают будни команды и делятся полезным:

— Дайджесты вакансий, регистрация на fast track и приглашения от руководителей.
— Анонсы мероприятий. Например, когда пройдет следующий ИТ-каток, ИТ-пикник и другие нашумевшие ивенты.
— Кейсы, статьи и лайфхаки для работы — от методов планирования до карьерного роста.

Подписаться на T-Crew

Читать полностью…

Senior Java Developer

Что такое mutable?

Mutable называются объекты, чьи состояния и переменные можно изменить после создания. Например такие классы, как StringBuilder, StringBuffer.

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Как получить доступ к переопределенным методам родительского класса?

С помощью ключевого слова super мы можем обратиться к любому члену родительского класса - методу или полю, если они не определены с модификатором private.

Читать полностью…

Senior Java Developer

⚡️ Открытый урок «Введение в GraalVM: ускоряем ваши Java-приложения»

🗓 7 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от Otus.

В современной инфраструктуре всё чаще используются облачные решения, в которых контроль используемых ресурсов напрямую влияет на затраты бизнеса. Поэтому все способы экономии ресурсов важны. Тут на помощь придёт GraalVM!
Но является ли это панацеей?


На вебинаре разберем:

✔️ JIT и AOT: что это такое и в чём разница;
✔️ Причём тут GraalVM и какие особенности его применения.

🔗 Ссылка на регистрацию: https://otus.pw/FvrB/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Какие подклассы класса OutputStream вы знаете, для чего они предназначены?

☕️ OutputStream - это абстрактный класс, определяющий потоковый байтовый вывод;
☕️ BufferedOutputStream - буферизированный выходной поток;
☕️ ByteArrayOutputStream - все данные, посылаемые в этот поток, размещаются в предварительно созданном буфере;
☕️ DataOutputStream - выходной поток байт, включающий методы для записи стандартных типов данных Java;
☕️ FileOutputStream - запись данных в файл на физическом носителе;
☕️ FilterOutputStream - абстрактный класс, предоставляющий интерфейс для классов-надстроек, которые добавляют к существующим потокам полезные свойства;
☕️ PrintStream - выходной поток, включающий методы print() и println();
☕️ ObjectOutputStream - выходной поток для записи объектов;
☕️ PipedOutputStream реализует понятие выходного канала.

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Что значит «усыпить» поток?

Это значит приостановить его на определенный промежуток времени, вызвав в ходе его выполнения статический метод Thread.sleep() и передав в качестве параметра необходимое количество времени в миллисекундах. До истечения этого времени поток может быть выведен из состояния ожидания вызовом interrupt() с выбрасыванием InterruptedException.

Читать полностью…
Subscribe to a channel