fa
Feedback
Java

Java

رفتن به کانال در Telegram

Самая актуальная информация по Java По всем вопросам- @haarrp @itchannels_telegram - 🔥лучшие каналы @pythonl - 🐍 @ai_machinelearning_big_data- ml @ArtificialIntelligencedl - AI @datascienceiot - ds @pythonlbooks 📚 РКН: clck.ru/3FmwKr #VRHSZ

نمایش بیشتر

📈 تحلیل کانال تلگرام Java

کانال Java (@javatg) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 16 799 مشترک است و جایگاه 7 655 را در دسته فناوری و برنامه‌ها و رتبه 39 290 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 16 799 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 28 ژوئیه, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -2 و در ۲۴ ساعت گذشته برابر -4 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 14.37% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 5.86% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 2 414 بازدید دریافت می‌کند. در اولین روز معمولاً 985 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 10 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند github, void, api, kotlin, static تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Самая актуальная информация по Java По всем вопросам- @haarrp @itchannels_telegram - 🔥лучшие каналы @pythonl - 🐍 @ai_machinelearning_big_data- ml @ArtificialIntelligencedl - AI @datascienceiot - ds @pythonlbooks 📚 РКН: clck.ru/3FmwKr #VR...

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 29 ژوئیه, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

16 799
مشترکین
-424 ساعت
+57 روز
-230 روز
جذب مشترکین
ژوئیه '26
ژوئیه '26
+175
در 1 کانال‌ها
ژوئن '26
+132
در 0 کانال‌ها
Get PRO
مه '26
+70
در 1 کانال‌ها
Get PRO
آوریل '26
+66
در 1 کانال‌ها
Get PRO
مارس '26
+320
در 22 کانال‌ها
Get PRO
فوریه '26
+180
در 46 کانال‌ها
Get PRO
ژانویه '26
+378
در 127 کانال‌ها
Get PRO
دسامبر '25
+153
در 3 کانال‌ها
Get PRO
نوامبر '25
+205
در 43 کانال‌ها
Get PRO
اکتبر '25
+103
در 13 کانال‌ها
Get PRO
سپتامبر '25
+139
در 38 کانال‌ها
Get PRO
اوت '25
+375
در 9 کانال‌ها
Get PRO
ژوئیه '25
+432
در 76 کانال‌ها
Get PRO
ژوئن '25
+452
در 73 کانال‌ها
Get PRO
مه '25
+251
در 1 کانال‌ها
Get PRO
آوریل '25
+217
در 28 کانال‌ها
Get PRO
مارس '25
+208
در 1 کانال‌ها
Get PRO
فوریه '25
+220
در 41 کانال‌ها
Get PRO
ژانویه '25
+311
در 43 کانال‌ها
Get PRO
دسامبر '24
+600
در 64 کانال‌ها
Get PRO
نوامبر '24
+1 051
در 189 کانال‌ها
Get PRO
اکتبر '24
+1 867
در 68 کانال‌ها
Get PRO
سپتامبر '24
+719
در 202 کانال‌ها
Get PRO
اوت '24
+663
در 42 کانال‌ها
Get PRO
ژوئیه '24
+768
در 52 کانال‌ها
Get PRO
ژوئن '24
+867
در 58 کانال‌ها
Get PRO
مه '24
+486
در 36 کانال‌ها
Get PRO
آوریل '24
+817
در 46 کانال‌ها
Get PRO
مارس '24
+777
در 21 کانال‌ها
Get PRO
فوریه '24
+775
در 5 کانال‌ها
Get PRO
ژانویه '24
+811
در 46 کانال‌ها
Get PRO
دسامبر '23
+156
در 38 کانال‌ها
Get PRO
نوامبر '23
+3 105
در 57 کانال‌ها
Get PRO
اکتبر '23
+203
در 20 کانال‌ها
Get PRO
سپتامبر '23
+484
در 0 کانال‌ها
Get PRO
اوت '23
+1 199
در 0 کانال‌ها
Get PRO
ژوئیه '23
+1 849
در 0 کانال‌ها
Get PRO
ژوئن '23
+646
در 0 کانال‌ها
Get PRO
مه '23
+615
در 0 کانال‌ها
Get PRO
آوریل '23
+1 217
در 0 کانال‌ها
Get PRO
مارس '23
+3 950
در 0 کانال‌ها
Get PRO
فوریه '23
+330
در 0 کانال‌ها
Get PRO
ژانویه '23
+2 306
در 0 کانال‌ها
Get PRO
دسامبر '22
+640
در 0 کانال‌ها
Get PRO
نوامبر '22
+488
در 0 کانال‌ها
Get PRO
اکتبر '22
+751
در 0 کانال‌ها
Get PRO
سپتامبر '22
+628
در 0 کانال‌ها
Get PRO
اوت '22
+197
در 0 کانال‌ها
Get PRO
ژوئیه '22
+923
در 0 کانال‌ها
Get PRO
ژوئن '22
+339
در 0 کانال‌ها
Get PRO
مه '22
+1 180
در 0 کانال‌ها
Get PRO
آوریل '22
+823
در 0 کانال‌ها
Get PRO
مارس '22
+3 055
در 0 کانال‌ها
Get PRO
فوریه '22
+928
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
29 ژوئیه+2
28 ژوئیه+7
27 ژوئیه+2
26 ژوئیه+6
25 ژوئیه+12
24 ژوئیه+9
23 ژوئیه+8
22 ژوئیه+8
21 ژوئیه+3
20 ژوئیه+8
19 ژوئیه+13
18 ژوئیه+3
17 ژوئیه+5
16 ژوئیه+14
15 ژوئیه+6
14 ژوئیه+9
13 ژوئیه+1
12 ژوئیه+6
11 ژوئیه+7
10 ژوئیه+7
09 ژوئیه+9
08 ژوئیه+5
07 ژوئیه+4
06 ژوئیه+4
05 ژوئیه+2
04 ژوئیه+3
03 ژوئیه+3
02 ژوئیه+7
01 ژوئیه+2
پست‌های کانال
Java-совет: сравнивайте объекты без риска получить `NullPointerException` Обычный вызов equals() опасен, если объект слева мо
Java-совет: сравнивайте объекты без риска получить `NullPointerException` Обычный вызов equals() опасен, если объект слева может быть null:

String a = null;
String b = "hi";

boolean result = a.equals(b); // NullPointerException
Безопаснее использовать Objects.equals():

boolean result = Objects.equals(a, b); // false
Метод корректно обрабатывает все случаи:

Objects.equals(null, null);   // true
Objects.equals("hi", "hi");   // true
Objects.equals("hi", null);   // false
Это особенно полезно внутри equals() у собственных классов:

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof User user)) return false;

    return Objects.equals(id, user.id)
            && Objects.equals(email, user.email);
}
Правило простое: когда хотя бы одна сторона сравнения потенциально может быть null, используйте Objects.equals(a, b). #Java #JavaTips #Programming

2
💡 Java: если вам нужно прочитать небольшой файл, используйте Files.readAllLines() — это проще и понятнее. #JavaTips
💡 Java: если вам нужно прочитать небольшой файл, используйте Files.readAllLines() — это проще и понятнее. #JavaTips
1 473
3
🖥 Редкий Java-совет: не кэшируйте метаданные классов через `ConcurrentHashMap` Для сериализаторов, DI-контейнеров и reflection-кода часто пишут так: private static final Map<Class<?>, Metadata> CACHE = new ConcurrentHashMap<>(); static Metadata metadata(Class<?> type) { return CACHE.computeIfAbsent(type, Metadata::inspect); } Проблема: статическая Map хранит сильные ссылки на Class. В приложениях с плагинами, hot reload или несколькими ClassLoader такой кэш может мешать выгрузке старых классов. Для данных, привязанных к конкретному классу, в Java есть ClassValue: private static final ClassValue<Metadata> METADATA = new ClassValue<Metadata>() { @Override protected Metadata computeValue(Class<?> type) { return Metadata.inspect(type); } }; static Metadata metadata(Class<?> type) { return METADATA.get(type); } Что это даёт: - ленивое вычисление значения; - потокобезопасную установку результата; - отсутствие глобальной карты с Class в качестве сильных ключей; - возможность сбросить значение через METADATA.remove(type). Важный нюанс: computeValue() может выполниться несколько раз при гонке потоков, хотя сохранено будет одно значение. Поэтому внутри не должно быть необратимых побочных эффектов. ClassValue особенно полезен для кэширования reflection-метаданных, MethodHandle, сериализаторов и обработчиков аннотаций. #java #jvm #performance
2 094
4
💡 Java I/O tip Нужно быстро сделать копию файла? В Java для этого есть Files.copy(): Path src = Path.of("data.csv"); Path ba
💡 Java I/O tip Нужно быстро сделать копию файла? В Java для этого есть Files.copy(): Path src = Path.of("data.csv"); Path backup = Path.of("data.csv.bak"); Files.copy(src, backup, StandardCopyOption.REPLACE_EXISTING); Что здесь важно: * Path работает нормально на разных ОС * REPLACE_EXISTING перезапишет файл, если backup уже есть * удобно для бэкапов, экспорта и временных копий перед обработкой данных Пример: data.csv → data.csv.bak Одна строка вместо ручного чтения и записи байтов. #Java #Files
2 329
5
В пятницу прошёл IT-рейв АвитоТехно и это было… Легендарно 🔥 Надо почаще собираться вот так, всем комьюнити! Хочется передат+4
В пятницу прошёл IT-рейв АвитоТехно и это было… Легендарно 🔥 Надо почаще собираться вот так, всем комьюнити! Хочется передать команде AvitoTech отдельное спасибо — организация была на высоте и было комфортно даже нам, вечно сидящим дома интровертам…
1 914
6
🚀 HTTP-клиенты в Spring Boot через @HttpExchange Описываете внешний API обычным Java-интерфейсом: @HttpExchange("https://api
🚀 HTTP-клиенты в Spring Boot через @HttpExchange Описываете внешний API обычным Java-интерфейсом: @HttpExchange("https://api.example.com") public interface UserClient { @GetExchange("/users/{id}") User findById(@PathVariable Long id); @PostExchange("/users") User create(@RequestBody User user); } Spring сам создаёт реализацию клиента, после чего его можно внедрять как обычный bean. Таймауты, SSL и другие параметры настраиваются через spring.http.clients.*. Меньше шаблонного кода, понятный контракт и удобное тестирование. #SpringBoot4 #Java #HttpExchange
2 358
7
💡 Java в Kubernetes: почему pod умирает с OOMKilled Иногда Java-приложение падает в Kubernetes, хотя -Xmx вроде выставлен но
💡 Java в Kubernetes: почему pod умирает с OOMKilled Иногда Java-приложение падает в Kubernetes, хотя -Xmx вроде выставлен нормально. Проблема в том, что JVM живёт не только heap’ом. Память уходит ещё на: * Metaspace * thread stacks * direct buffers * JIT/code cache * native memory * библиотеки и агентские инструменты Kubernetes смотрит на весь процесс внутри контейнера. Если общий расход памяти пробивает container limit, pod получает OOMKilled, а не красивый Java OutOfMemoryError. Что делать: * не ставить Xmx вплотную к memory limit * оставлять запас под non-heap * использовать MaxRAMPercentage * проверять requests/limits * включать JVM memory metrics и GC logs Для Java в Kubernetes важно считать не только heap, а весь memory footprint процесса. https://dzone.com/articles/java-pod-oomkill-kubernetes
2 434
8
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку В IT прокачивается тот, кто каждый день видит сильные идеи, новые инс
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку В IT прокачивается тот, кто каждый день видит сильные идеи, новые инструменты, реальные задачи, вакансии и разборы. Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: t.me/DevopsDocker Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_1001_notes Java: t.me/java_library JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: t.me/fizmat Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: @courses ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max python: https://max.ru/pythonl Max Ai: https://max.ru/ai_machinelearning_big_data ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд. Пока кто-то листает шум, ты будешь видеть инструменты, задачи и идеи, которые помогают расти в профессии.
1 728
9
💡 Java: тестируйте не только happy path Баги часто прячутся не в «обычных» данных, а на краях: ✅ null может внезапно дать Nu
💡 Java: тестируйте не только happy path Баги часто прячутся не в «обычных» данных, а на краях: ✅ null может внезапно дать NullPointerException ✅ пустая коллекция может сломать логику агрегации ✅ один элемент часто ведёт себя иначе, чем список из 10 значений Один тест на List.of(1, 2, 3) проверяет только красивый сценарий. Добавьте проверки на null, empty и boundary values — и код сразу станет заметно надёжнее. #Java #Testing #JUnit
1 955
10
💡 Java: делегирование часто безопаснее наследования Наследование кажется удобным, пока суперкласс не начинает жить своей жиз
💡 Java: делегирование часто безопаснее наследования Наследование кажется удобным, пока суперкласс не начинает жить своей жизнью. Если класс наследуется от родителя, он получает весь его API. Любое изменение сверху может внезапно сломать поведение дочернего класса. С делегированием проще: объект хранит внутри helper/service и передаёт ему нужные вызовы. Плюсы: * меньше жёсткой связности * проще тестировать и мокать * легче менять реализацию * меньше риска сломаться из-за изменений в родителе Правило простое: наследуйтесь только когда связь is-a действительно железная. В остальных случаях чаще лучше композиция и делегирование.
2 502
11
Java Tip: не используйте `Stack` для LIFO-логики В Java Stack до сих пор встречается в старом коде, но для новых проектов луч
Java Tip: не используйте `Stack` для LIFO-логики В Java Stack до сих пор встречается в старом коде, но для новых проектов лучше брать Deque, чаще всего через ArrayDeque. Stack - legacy-класс. Он наследуется от Vector, а значит, тащит за собой старую модель и синхронизацию почти на каждом вызове. Для обычного стека это обычно лишнее. Вместо этого: Deque<String> undo = new ArrayDeque<>(); undo.push("typed hello"); undo.push("added space"); undo.pop(); // removes "added space" API остаётся привычным: push() pop() peek() Но реализация современнее и обычно быстрее. Правило простое: нужен LIFO-стек в Java - используйте Deque, а не Stack.
3 179
12
Ты не твой стек Зачем учиться новому, когда по самое колено в практике? Не страшно, что всё больше джунов работают наравне с
Ты не твой стек Зачем учиться новому, когда по самое колено в практике? Не страшно, что всё больше джунов работают наравне с сеньёрами? Уже нельзя уметь только фреймворк, надо понимать что стоит за этим и в твоём опыте огромное преимущество, не хватает лишь малого - знаний об том как утроен мир и формула принятия решений. Метафизика? Нет - математика. Языки и фреймворки устаревают за 5–10 лет, стеки обновляются радикально. А способ мышления, которым ты пользуешься, чтобы разложить сложную задачу на части, остаётся с тобой навсегда. Именно об этом курс: "Философия, математика и компьютерные науки" Не про конкретный стек, а про то, как в принципе думать о сложных системах с опорой на философию, математику и системную инженерию. Формат: 9 месяцев, 10 модулей, теория и практика, несколько очных сессий в Петербурге. Кураторы: - Андрей Родин — доктор философских наук, философ науки и математики - Илья Егорычев — доктор философских наук, математик и логик, Soulmaths - Вячеслав Шириков — системный архитектор, техдиректор ГК «Лартех» До 21 июля действует скидка за раннюю регистрацию. Программа и условия
2 650
13
Project Panama в Java 22+ — вызов C-кода без боли JNI Java теперь может напрямую работать с нативными C/C++ библиотеками чере
Project Panama в Java 22+ — вызов C-кода без боли JNI Java теперь может напрямую работать с нативными C/C++ библиотеками через Foreign Function & Memory API. Идея простая: * находишь функцию из C-библиотеки * описываешь её сигнатуру * вызываешь из Java через MethodHandle * работаешь с нативной памятью через MemorySegment и Arena Это сильно упрощает Java-native interop по сравнению с JNI. Где полезно: * высоконагруженные вычисления * криптография * ML inference * игровые движки * интеграция с системными библиотеками Project Panama делает Java ближе к системному уровню: меньше boilerplate, меньше JNI-магии, больше контроля над памятью и нативными вызовами. Java уже давно не только про backend.
2 149
14
💡 Java VarHandle можно использовать как лёгкий механизм publish/subscribe между потоками без volatile. Идея простая: - Write
💡 Java VarHandle можно использовать как лёгкий механизм publish/subscribe между потоками без volatile. Идея простая: - Writer записывает данные в обычные поля. - Затем вызывает setRelease(...) на флаге. - Reader ждёт флаг через getAcquire(...). - После этого безопасно читает опубликованные данные. setRelease() гарантирует публикацию всех предыдущих записей. getAcquire() гарантирует, что после чтения флага поток увидит все опубликованные данные. Такой подход позволяет организовать корректную передачу данных между потоками с меньшими накладными расходами, чем при использовании volatile. `
2 443
15
Java switch expression убирает старую боль со случайно забытым break. В старом switch легко получить тихий баг: пропустил bre
Java switch expression убирает старую боль со случайно забытым break. В старом switch легко получить тихий баг: пропустил break, и выполнение провалилось в следующий case. В новом варианте каждый case возвращает значение через ->, а break не нужен: String label = switch (status) { case NEW -> "queued"; case RUNNING -> "in progress"; case DONE -> "finished"; }; Плюс компилятор следит за полнотой. Добавили новый enum-статус, но не обработали его в switch? Получите compile error, а не странный баг в рантайме. Мелочь, которая делает код короче и безопаснее.
2 835
16
Spring Boot: optimistic locking через `@Version` В JPA/Hibernate можно ловить конфликт обновлений без блокировки строки в баз
Spring Boot: optimistic locking через `@Version` В JPA/Hibernate можно ловить конфликт обновлений без блокировки строки в базе. Достаточно добавить поле версии: @Entity public class Account { @Id private Long id; private BigDecimal balance; @Version private Long version; } Как это работает: Когда Entity читается из базы, Hibernate забирает текущую версию записи. Например, version = 2. При обновлении он делает update с проверкой этой версии. Если за это время другая транзакция уже изменила запись, версия в базе стала другой. Тогда update не затронет ни одной строки, и Hibernate выбросит OptimisticLockException. Подходит, когда чтений много, записей меньше, а конфликты случаются редко. Плохо подходит, если несколько потоков постоянно меняют одну и ту же запись или нужна строгая сериализация операций. Там уже лучше смотреть в сторону pessimistic locking, очередей или переработки модели записи. @Version особенно полезен для аккаунтов, заказов, настроек, профилей и любых сущностей, где нельзя молча перетереть чужое изменение.
2 810
17
Google снова поделилась внутренней магией. Компания выложила Copybara — инструмент, который годами помогал ей синхронизироват+1
Google снова поделилась внутренней магией. Компания выложила Copybara — инструмент, который годами помогал ей синхронизировать код между разными репозиториями. Допустим у вас есть закрытый корпоративный репозиторий и публичная open-source версия. Copybara помогает держать их в актуальном состоянии без ручного копирования, костылей и бесконечных cherry-pick’ов. По сути, это инструмент для тех, кто живёт между private и public repo и не хочет превращать синхронизацию кода в отдельную боль. https://github.com/google/copybara
2 955
18
🖥 В Java длинные цепочки вроде `user → address → city` легко превращаются в ловушку для `NullPointerException`. Обычный вари
🖥 В Java длинные цепочки вроде `user → address → city` легко превращаются в ловушку для `NullPointerException`. Обычный вариант быстро разрастается: User user = userRepository.findByEmail(email); if (user != null) { Address address = user.getAddress(); if (address != null) { return address.getCity(); } } return "unknown"; Проблема не только в количестве строк. В таких вложенных if легко забыть один уровень проверки и получить NPE в самом неожиданном месте. С Optional это можно записать короче и безопаснее: return userRepository.findByEmail(email) .map(User::getAddress) .map(Address::getCity) .orElse("unknown"); Каждый map() выполняется только если предыдущее значение существует. Если пользователя нет, адреса нет или город не задан - цепочка спокойно дойдёт до orElse(). Для таких случаев Optional хорошо работает как способ явно показать: значение может отсутствовать, и это нормальная часть логики. Главное не превращать Optional в новую религию. Он особенно полезен на границах методов и в цепочках, где каждый следующий шаг может вернуть null.
2 397
19
🖥 Java Records: меньше boilerplate для data-классов Начиная с Java 14 появились record - короткий способ описывать неизменяе
🖥 Java Records: меньше boilerplate для data-классов Начиная с Java 14 появились record - короткий способ описывать неизменяемые объекты для хранения данных. Вместо обычного POJO с полями, конструктором, getters, equals(), hashCode() и toString() можно написать одну строку: public record Point(int x, int y) {} И Java сама сгенерирует всё базовое: Point p = new Point(3, 4); int x = p.x(); int y = p.y(); record особенно удобны для DTO, value objects, результатов запросов, событий и простых структур данных. Меньше ручного кода, меньше ошибок, проще читать модель данных.
2 447
20
🔴 Завтра тестовое собеседование с Java-разработчиком 1 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседов
🔴 Завтра тестовое собеседование с Java-разработчиком 1 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Виктор Анохин, старший разработчик из WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Виктор будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Виктору Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. О рекламодателе.
2 351