Java задачи с собеседований
Open in Telegram
Задачи, тесты и теоретические вопросы по JAVA. Репозиторий: https://github.com/proghub-official/java-interview Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny
Show more5 887
Subscribers
+124 hours
-27 days
-2430 days
Posts Archive
Инженеры AvitoTech разработали инструмент для ускорения автотестов мобильных приложений. Знакомьтесь, Emcee.
Тест-раннер раскидывает тесты на несколько воркеров, параллелит их и формирует единый файл с результатами. Время полного тестирования сокращается в разы, а разработчики освобождаются от рутины.
Можно попробовать бесплатно или сразу разогнать тестирование на полную мощность. Больше подробностей — в официальном канале Emcee.
Подписывайтесь!
Реклама ООО "Авито Тех", ИНН 9710089440
erid: LdtCKPSQq
👨🏻💻 Как подключить jpa batch без использования GenerationType.SEQUENCE
Столкнулся с такой ситуацией, что нужно записать большое количество строк в таблицу postgres, где ключем выступает поле типа string.
create table manual_security
(
isin_code varchar(12) not null,
emitent_id numeric,
update_date_time timestamp not null,
constraint manual_security_pk primary key (isin_code)
);
доступа к таблице у меня нет, изменить не могу. т.е. например добавить в нее поле типа int и create sequence manual_security_security_id_auto_gen increment 100;
я прочел в документации, что SEQUENCE is used for delegating the identifier generation to a database sequence.
по документации в случае GenerationType.IDENTITY Spring ИГНОРИРУЕТ батчевую вставку, даже если она включена в настройках.
т.е. чтобы использовать батчевую вставку - нужно, чтобы в классе entity полем был ключ с типом integer и GenerationType.SEQUENCE
вот так
@Id
@SequenceGenerator(name = "manual_security_security_id_auto_gen", allocationSize = 100, sequenceName = "manual_security_security_id_auto_gen", initialValue = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "manual_security_security_id_auto_gen")
private Integer securityId;
вопрос к знатокам hibernate - можно ли как-то включить batch и добиться быстрого батчевого сохранения строк в таблице где ключем выступает string.
сейчас класс и репозиторий выглядят так.
@Entity
@Table(name = "manual_security")
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@EqualsAndHashCode(of = "isinCode")
public class ManualSecurity {
@Id
@NotNull
@Column(name = "isin_code", nullable = false)
private String isinCode;
// остальные поля
}
public interface ManualSecurityRepository extends JpaRepository<ManualSecurity, String> {
}
сохарнение saveall коллекции из 4к записей занимает так около 10 минут.
настройки драйвера
jpa:
show-sql: false
open-in-view: false
database: postgresql
properties:
hibernate:
jdbc:
batch_size: 100
Java задачи с собеседований⚡️Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Машинное обучение:
C/C++/: @cpluspluc
Базы данных: @sqlhub
@ai_machinelearning_big_data
Go: @Golang_google
C#: @csharp_ci
Python: @python_job_interview
Data Science: @data_analysis_ml
Rust: @rust_code
Javascript: @javascriptv
React: @react_tg
PHP: @phpshka
Docker: @docker
Android: @android_its
Мобильная разработка: @mobdevelop
Linux: linuxacademy
Big Data: t.me/bigdatai
Хакинг: @linuxkalii
Java: @javatg
ИТ-Мемы: @memes_prog
Собеседования: @machinelearning_interview
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
🔥Devops: @devOPSitsec
🇬🇧Английский: @english_forprogrammers
📕Бесплатные Ит-книги 2023 года: https://t.me/addlist/BkskQciUW_FhNjEy
Без лишних слов: 20 ТБ курсов
Не платите за курсы, если они в свободном доступе!
Архиватор – тут есть всё
👨🏻💻 Вопрос от реального человека
Как мне разделить строку на равные части по 4?
String binary =
"10011101000011101001001011111000100110000111001101010000";
Java задачи с собеседований
При переходе на Scala из Java знание традиционных и функциональных методов работы с ресурсами становится важным. Это облегчит выбор оптимальных подходов, позволит использовать функциональное программирование для создания более надежного и масштабируемого кода, а также ускорит адаптацию к новому языку.
Сделайте первый шаг в изучение Scala и получите возможность начать работать над высоконагруженными проектами в крупных корпорациях 🗓 29 августа в 20:00 на открытом уроке «Традиционные и функциональные подходы к работе с ресурсами» онлайн курса «Scala-разработчик» от OTUS. Занятие проведет 👨💻 Алексей Воронец, руководитель разработки в компании NAUMEN.
На открытом уроке мы:
- узнаем, что такое ресурсы и почему с ними важно корректно работать;
- рассмотрим стандартный подход к работе с ресурсами, его плюсы и минусы;
- узнаем, как используя "функциональные возможности" упростить себе жизнь;
- узнаем о проблемах и решениях в конкурентной работе с ресурсами.
Вебинар подойдет всем разработчикам, знакомым с языком Scala, или рассматривающим этот язык программирования для изучения.
👉 Регистрируйтесь на занятие — https://otus.pw/XsQ0/
Открытый урок приурочен к старту онлайн-курса «Scala-разработчик» в OTUS. После урока полный курс вы сможете приобрести удобным для вас способом.
Нативная интеграция. Информация на сайте www.otus.ru.
🔥 Международный уровень Java. Курс для работы в мировых IT-проектах и сертификация OCAJP
🚀 28 сентября стартует группа онлайн курса «Углублённое изучение Java» от OTUS. Продолжительность обучения 5 месяцев.
Особенности курса:
- Интерактивный и практический подход
- Подготовка к собеседованиям
- Полное погружение в Java
- Подготовка к сертификации Oracle Java Programmer (OCAJP)
➡️ Оставляйте заявку и присоединяйтесь к группе: https://otus.pw/Fra8/
Нативная интеграция. Информация о продукте www.otus.ru🎥 Открытый урок «Основы Spring Cloud – часть 1»
Вебинар приурочен к старту онлайн-курса «Разработчик на Spring Framework» в OTUS, он будет проведен руководителем курса.
📆 31 августа в 20:00 мск.
На открытом уроке будем разбирать, как сделать распределенное приложение, чуть более Cloud-ready с помощью инструментов, предоставляемых Spring Cloud.
На уроке применим:
- Spring Cloud Config
- Spring Cloud Bus
- Service Registration and Discovery
- Load balancing
- Spring Cloud OpenFeign
🟠Также вы сможете задать преподавателю любые вопросы в режиме реального времени!
🔵Не упустите возможность попрактиковаться бесплатно и протестировать формат курса!
➡️ Регистрируйтесь на вебинар прямо сейчас: https://otus.pw/PMuW/
Нативная интеграция. Информация о продукте www.otus.ru👨💻 Хотите освоить лучшие инструменты по разработке микросервисной архитектуры?
Ответьте на 11 вопросов, чтобы проверить достаточно ли ваших навыков, чтобы строить архитектуру микросервисов и попасть на курс — «Microservice Architecture» от OTUS.
На полном курсе вы научитесь проектировать сложный бэкенд и работать с легаси-проектами, разбираться с трудными ситуациями и находить нестандартные решения. Все это на практике, с реальными кейсами и под руководством команды экспертов!
👉 Пройти тест — https://otus.pw/ESyN/
💣 После прохождения у вас будет возможность записаться на курс по спец. цене и оформить рассрочку. А также вы получите доступ к записям 27 открытых уроков курса.
Нативная интеграция. Информация о продукте www.otus.ru
👨🏻💻 Вопрос от реального человека
Как поставить toster в kotlin?
Всем привет, как выводить toast пока твой сайт на WebView еще не загрузился? То есть, ты открываешь прилку, а у тебя вместо белого экрана показывается, что прилка загружается.
import android.annotation.SuppressLint
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.annotation.RequiresApi
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
@SuppressLint("SetJavaScriptEnabled")
class MainActivity : AppCompatActivity() {
@RequiresApi(Build.VERSION_CODES.O)
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webViewSetup()
}
@RequiresApi(Build.VERSION_CODES.O)
private fun webViewSetup() {
val wb = findViewById<WebView>(R.id.wb_webView)
wb.webViewClient = WebViewClient()
wb.apply {
settings.javaScriptEnabled = true
settings.safeBrowsingEnabled = true
loadUrl("https://www.google.com/?hl=ru")
}
}
override fun onBackPressed() {
val wb = findViewById<WebView>(R.id.wb_webView)
if (wb.canGoBack()) wb.goBack() else super.onBackPressed()
}
}
Java задачи с собеседований💪 Пройди тест по Java и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса🎁 .
🚀Успей присоединиться к группе, курс стартует 31 августа!
✍️ ПРОЙТИ ТЕСТ: https://otus.pw/G7Cc/
Нативная интеграция. Информация о продукте www.otus.ru🦾 Освойте востребованный фреймворк всего за 5 месяцев и создавайте приложения на Java
🔥🔝 Знание Spring Framework – один из самых востребованных скиллов для разработчика, многие крупные проекты ищут именно таких специалистов на самые желанные офферы.
5️⃣ Вместе с OTUS вы можете освоить Spring всего за 5 месяцев в рамках курса «Разработчик на Spring Framework»!
❌❌Что даст вам этот курс:
- Умение эффективно работать в проектах, где есть Spring
- Знание современных возможностей Spring
- Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке
- Умение быстро проходить путь от идеи до production-grade
- Владение фреймворками Spring и технологиями вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5)
🟠Курс доступен для приобретения в рассрочку!
➡️ Пройдите бесплатное вступительное тестирование прямо сейчас и узнайте, готовы ли вы стать студентом: https://otus.pw/vhEV/
Нативная интеграция. Информация о продукте www.otus.ru👨🏻💻 Вопрос от реального человека
ReadWriteLock - внутри один объект блокировки или два?
У класса ReentrantReadWriteLock есть два метода на получение блокировки - readLock и writeLock. Между ними установлены некоторые правила взаимоотношений, по которым блокировка становится возможной.
Собственно такой вопрос - внутри класса получение этих двух блокировок будет сводиться к одному объекту блокировки, или там будут отдельный объект для блокировки на чтение и отдельный для блокировки на запись?
Может быть я неправильно понимаю и там вообще используется другой внутренний механизм без явных объектов блокировки? Документация говорит что
A ReadWriteLock maintains a pair of associated locks, one for read-only operations and one for writingНо не очень понятно как это трактовать. Java задачи с собеседований
🔥 Увлекательный тест по highload архитектуре (не для новичков) 🔥
Ответьте на 30 вопросов, чтобы понять готовы ли вы стать архитектором, которые работают с высокими нагрузками и попасть на курс — «Highload Architect» от OTUS.
На полном курсе вы научитесь:
- Правильно использовать шаблоны: кеширование, реплицирование, шардирование, а также инструменты, такие как индексы, ClickHouse, Tarantool, RabbitMQ и Kafka, redis;
- Обеспечивать отказоустойчивость веб-приложений даже при падении серверов;
- Уметь создавать веб-приложения, которые легко масштабировать.
Время прохождения теста ограниченно 30 минут
👉🏻 Пройти тест — https://otus.pw/PiWQ/
💣 После прохождения у вас будет возможность записаться на курс по спец. цене и оформить рассрочку. А также вы получите доступ к записям 20 открытых уроков курса.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
🤖 Вредный совет по созданию кода в стиле Григория Остера!
«Упускайте все современные стандарты программирования! Используйте длинные и запутанные переменные, игнорируйте комментарии и пишите нечитаемый код. Не тратьте время на документацию и упрощение своего кода – чем сложнее, тем лучше! Помните, код создан только для вас, а не для других разработчиков, поэтому не беспокойтесь о читаемости и поддерживаемости. Это ваш уникальный стиль, и никто не должен понимать ваш код, кроме вас!»
Как вам совет?
📢📢 Еще больше вредных советов ждет вас 23 августа в 20:00 на вебинаре, который пройдет в рамках онлайн-курса «Углубленное изучение языка Java» OTUS.
🟠После занятия вы точно будете знать, как НЕ надо писать код, чтобы успешно проходить собеседования и работать в команде на проектах.
👉 Для участия зарегистрируйтесь на урок: https://otus.pw/mgfGu/
Нативная интеграция. Информация о продукте www.otus.ru👨🏻💻 Вопрос от реального человека
SplashscreenActivity падение вниз?
Падает лого вниз как мне избежать этого? Установил через setTheme. Мой активити.
Мой активити.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".ui.SplashscreenActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
Мой стиль.
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_background</item>
<item name="android:windowFullscreen">true</item>
</style>
Код.
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.SplashTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splashscreen);
Java задачи с собеседований🚀 Уже через две недели состоится старт нового потока онлайн-курса "Java Developer. Professional".
🎉 Самый первый курс в OTUS, 30-й юбилейный запуск!!!🎉
В новом потоке вас ждет много нового, помимо изучения углубленных инструментов работы с Java, мы расскажем вам:
➡️ об особенностях создания безопасного веб-приложения на Java;
➡️ о настройке https в веб приложениях;
➡️ поговорим о написании чистого кода и рефакторинга;
➡️ разберем troubleshooting и debugging в Java приложениях.
❌📊Какие еще преимущества у нашего курса?
🔵мы учим писать clean code;
🔵 разбираем сложные кейсы, с которыми вы можете столкнуться в работе;
🔵 проводим сode-review также, как это делается в крупных промышленных проектах;
🔵преподаватели с опытом работы в крупных российских и международных компаниях.
🔥 Программа курса всегда актуальна.
➡️ Пройдите вступительный тест и присоединяйтесь к группе: https://otus.pw/G7Cc/
Нативная интеграция. Информация о продукте www.otus.ru
Available now! Telegram Research 2025 — the year's key insights 
