Пора сбросить хвост устаревшего кода и изучить Golang вместе с экспертами крупнейшего в e-com сообщества Go- разработчиков!
Route 256
Highway to e-com
💎 Бесплатно
💎 Оффер лучшим выпускникам
💎 Без собеседования на входе
💎 Два месяца
💎 Старт 25 сентября
В программе запуск и тестирование проектов на Go, HTTP и gRPC, базы данных, мониторинг, брокеры сообщений и другое.
Будет предварительный отбор. Подай заявку до 25 сентября включительно и перезапусти карьеру в IT: https://ozon.ru/t/TVo97
Route 256
Highway to e-com
💎 Бесплатно
💎 Оффер лучшим выпускникам
💎 Без собеседования на входе
💎 Два месяца
💎 Старт 25 сентября
В программе запуск и тестирование проектов на Go, HTTP и gRPC, базы данных, мониторинг, брокеры сообщений и другое.
Будет предварительный отбор. Подай заявку до 25 сентября включительно и перезапусти карьеру в IT: https://ozon.ru/t/TVo97
#вопросы_с_собеседований
Что такое «пул потоков»?
Что такое «пул потоков»?
Разработчик! Любишь ли ты ловить девопса, чтобы он нашел, почему микросервис не заводится? А что, если ты сможешь сам тестировать и выкатывать свой микросервис в продакшен?
1 октября начинается бесплатная Вечерняя Школа Kubernetes для разработчиков.
Будет полноценная теория курса «Kubernetes для разработчиков» и практические задания в облаке MCS. Знания, полученные в Вечерней Школе, помогут разработчикам говорить на одном языке с девопсами и самостоятельно работать в кластере. Меньше созвонов и отладки, больше интересной работы.
Подробности и регистрация: https://slurm.club/395K4Xa
1 октября начинается бесплатная Вечерняя Школа Kubernetes для разработчиков.
Будет полноценная теория курса «Kubernetes для разработчиков» и практические задания в облаке MCS. Знания, полученные в Вечерней Школе, помогут разработчикам говорить на одном языке с девопсами и самостоятельно работать в кластере. Меньше созвонов и отладки, больше интересной работы.
Подробности и регистрация: https://slurm.club/395K4Xa
Привет, Username! Приглашаем тебя на новый LifeTech-хакатон Цифрового Прорыва!
Для тебя мы подготовили крутецкие кейсы от Росатома, ДОМ.РФ, Департамента информационных технологий города Москвы, Транспортных инноваций Москвы!
Участвовать можно онлайн из любой точки России, либо в специальных оффлайн-коворкингах (см. список доступных на сайте).
Успей собрать команду 3-5 человек (или присоединиться к имеющимся), выбрать кейс и побороться за призовой фонд до 4.500.000 руб. 🚀🚀🚀
Регистрируйся прямо сейчас: https://proglib.io/w/3e64d336
Для тебя мы подготовили крутецкие кейсы от Росатома, ДОМ.РФ, Департамента информационных технологий города Москвы, Транспортных инноваций Москвы!
Участвовать можно онлайн из любой точки России, либо в специальных оффлайн-коворкингах (см. список доступных на сайте).
Успей собрать команду 3-5 человек (или присоединиться к имеющимся), выбрать кейс и побороться за призовой фонд до 4.500.000 руб. 🚀🚀🚀
Регистрируйся прямо сейчас: https://proglib.io/w/3e64d336
Создание потока является затратной по времени и ресурсам операцией. Количество потоков, которое может быть запущено в рамках одного процесса также ограниченно. Чтобы избежать этих проблем и в целом управлять множеством потоков более эффективно в
Начиная с
•
•
•
•
•
•
... и другие.
Методы
•
•
•
•
•
•
•
•
•
Java
был реализован механизм пула потоков (thread pool
), который создаётся во время запуска приложения и в дальнейшем потоки для обработки запросов берутся и переиспользуются уже из него. Таким образом, появляется возможность не терять потоки, сбалансировать приложение по количеству потоков и частоте их создания.Начиная с
Java 1.5 Java API
предоставляет фреймворк Executor
, который позволяет создавать различные типы пула потоков:•
Executor
- упрощенный интерфейс пула, содержит один метод для передачи задачи на выполнение;•
ExecutorService
- расширенный интерфейс пула, с возможностью завершения всех потоков;•
AbstractExecutorService
- базовый класс пула, реализующий интерфейс ExecutorService
;•
Executors
- фабрика объектов связанных с пулом потоков, в том числе позволяет создать основные типы пулов;•
ThreadPoolExecutor
- пул потоков с гибкой настройкой, может служить базовым классом для нестандартных пулов;•
ForkJoinPool
- пул для выполнения задач типа ForkJoinTask;... и другие.
Методы
Executors
для создания пулов:•
newCachedThreadPool()
- если есть свободный поток, то задача выполняется в нем, иначе добавляется новый поток в пул. Потоки не используемые больше минуты завершаются и удалются и кэша. Размер пула неограничен. Предназначен для выполнения множество небольших асинхронных задач;•
newCachedThreadPool(ThreadFactory threadFactory)
- аналогично предыдущему, но с собственной фабрикой потоков;•
newFixedThreadPool(int nThreads)
- создает пул на указанное число потоков. Если новые задачи добавлены, когда все потоки активны, то они будут сохранены в очереди для выполнения позже. Если один из потоков завершился из-за ошибки, на его место будет запущен другой поток. Потоки живут до тех пор, пока пул не будет закрыт явно методом shutdown()
.•
newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
- аналогично предыдущему, но с собственной фабрикой потоков;•
newSingleThreadScheduledExecutor()
- однопотоковый пул с возможностью выполнять задачу через указанное время или выполнять периодически. Если поток был завершен из-за каких-либо ошибок, то для выполнения следующей задачи будет создан новый поток.•
newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
- аналогично предыдущему, но с собственной фабрикой потоков;•
newScheduledThreadPool(int corePoolSize)
- пул для выполнения задач через указанное время или переодически;•
newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
- аналогично предыдущему, но с собственной фабрикой потоков;•
unconfigurableExecutorService(ExecutorService executor)
- обертка на пул, запрещающая изменять его конфигурацию;#вопросы_с_собеседований
Какое худшее время работы метода add() для ArrayList?
Какое худшее время работы метода add() для ArrayList?
O(N). Вставка элемента в конец списка осуществляется за время O(1), но если вместимость массива недостаточна, то происходит создание нового массива с увеличенным размером и копирование всех элементов из старого массива в новый.
Каким будет результат компиляции и исполнения этого кода?
Anonymous Quiz
5%
10
14%
11
12%
12
45%
17
23%
18
Специальный гость панельной дискуссии «Как выиграть в конкурентной борьбе за сети» — видеоблогер Wylsacom.
💥Saint HighLoad++ посетит ведущий самого популярного в России канала о технологиях и о том, как жить в ногу со временем!
😉Пока мы точно знаем, что Wylsacom будет на открытии конференции и на докладе об ускорении ВКонтакте. И примет участие в панельной дискуссии «Как выиграть в конкурентной борьбе за сети».
✅Кажется, Wylsacom, знает о докладах команды ВКонтакте что-то, чего ещё не знаем мы. Подключайтесь 20 сентября на открытую трансляцию главного зала Saint HighLoad++ и узнайте это первыми: https://bit.ly/3kp5sx3
💥Saint HighLoad++ посетит ведущий самого популярного в России канала о технологиях и о том, как жить в ногу со временем!
😉Пока мы точно знаем, что Wylsacom будет на открытии конференции и на докладе об ускорении ВКонтакте. И примет участие в панельной дискуссии «Как выиграть в конкурентной борьбе за сети».
✅Кажется, Wylsacom, знает о докладах команды ВКонтакте что-то, чего ещё не знаем мы. Подключайтесь 20 сентября на открытую трансляцию главного зала Saint HighLoad++ и узнайте это первыми: https://bit.ly/3kp5sx3
#вопросы_с_собеседований
Какие аннотации фикстур существуют в JUnit?
Какие аннотации фикстур существуют в JUnit?
@BeforeClass - определяет код, который должен единожды выполниться перед запуском набора тестовых методов.
@AfterClass - код, выполняемый один раз после исполнения набора тестовых методов.
@Before - определяет код, который должен выполняться каждый раз перд запуском любого тестовым методом.
@After - код, выполняемый каждый раз после исполнения любого тестового метода.
@AfterClass - код, выполняемый один раз после исполнения набора тестовых методов.
@Before - определяет код, который должен выполняться каждый раз перд запуском любого тестовым методом.
@After - код, выполняемый каждый раз после исполнения любого тестового метода.
#вопросы_с_собеседований
Напишите минимальный неблокирующий стек (всего два метода — push() и pop()).
Напишите минимальный неблокирующий стек (всего два метода — push() и pop()).
Forwarded from Java jobs — вакансии для java-разработчиков
Я ищу Java-разработчика в международную компанию Amdocs, которая разрабатывает ПО для финтеха и телеком индустрии (биллинговые системы, CRM и т.д.). В Amdocs коллеги общаются как на русском, так и на английском языках, поэтому погружение в международную среду гарантировано.
Мы предлагаем дополнительные дни к отпуску, удалёнку, ДМС для всех членов семьи, вписанных в паспорт, с первого дня работы. У нас также есть программа внутренней мобильности в любую локацию и вакансию внутри компании ;)
Проект: биллинговая система Ensemble для одного из наших заказчиков – Beeline.
Задачи: backend-разработка в области Business Support Systems (BSS), взаимодействие с аналитиками, тестировщиками, другими разработчиками и др.
Стек: Java 8, 11, JavaEE, Oracle (PL/SQL, опыт оптимизации запросов), Spring, Gradle, Openshift (Okd), Solaris/Linux (shell-скрипты).
Команда: 15 Java-разработчиков, разработчики C, тестировщики, аналитики.
🔹 Также есть более новый проект по разработке биллинговой системы без легаси — Digital One (Java 11, Spring, микросервисы), там очень много английского.
https://www.amdocs.com/
Контакты: Ольга
8-929-622-00-77
[email protected]
Мы предлагаем дополнительные дни к отпуску, удалёнку, ДМС для всех членов семьи, вписанных в паспорт, с первого дня работы. У нас также есть программа внутренней мобильности в любую локацию и вакансию внутри компании ;)
Проект: биллинговая система Ensemble для одного из наших заказчиков – Beeline.
Задачи: backend-разработка в области Business Support Systems (BSS), взаимодействие с аналитиками, тестировщиками, другими разработчиками и др.
Стек: Java 8, 11, JavaEE, Oracle (PL/SQL, опыт оптимизации запросов), Spring, Gradle, Openshift (Okd), Solaris/Linux (shell-скрипты).
Команда: 15 Java-разработчиков, разработчики C, тестировщики, аналитики.
🔹 Также есть более новый проект по разработке биллинговой системы без легаси — Digital One (Java 11, Spring, микросервисы), там очень много английского.
https://www.amdocs.com/
Контакты: Ольга
8-929-622-00-77
[email protected]
Amdocs
Amdocs digital network transformation communications
Amdocs is a leading software & services provider to communications & media companies, providing innovative solutions, intelligent operations & delivery expertise.
#вопросы_с_собеседований
Какие конечные методы работы со стримами вы знаете?
Какие конечные методы работы со стримами вы знаете?
🐘 8 лучших GUI клиентов PostgreSQL в 2021 году
Что такое графический интерфейс PostgreSQL? Зачем он нужен? Как это может помочь вам в управлении базами данных? Узнайте о лучшем программном обеспечении Postgre GUI, которое можно попробовать в 2021 году.
https://proglib.io/sh/Q3gDi6wsyZ
Что такое графический интерфейс PostgreSQL? Зачем он нужен? Как это может помочь вам в управлении базами данных? Узнайте о лучшем программном обеспечении Postgre GUI, которое можно попробовать в 2021 году.
https://proglib.io/sh/Q3gDi6wsyZ
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Какие конечные методы работы со стримами вы знаете?
findFirst() возвращает первый элемент;
findAny() возвращает любой подходящий элемент;
collect() представление результатов в виде коллекций и других структур данных;
count() возвращает количество элементов;
anyMatch() возвращает true, если условие выполняется хотя бы для одного элемента;
noneMatch() возвращает true, если условие не выполняется ни для одного элемента;
allMatch() возвращает true, если условие выполняется для всех элементов;
min() возвращает минимальный элемент, используя в качестве условия Comparator;
max() возвращает максимальный элемент, используя в качестве условия Comparator;
forEach() применяет функцию к каждому объекту (порядок при параллельном выполнении не гарантируется);
forEachOrdered() применяет функцию к каждому объекту с сохранением порядка элементов;
toArray() возвращает массив значений;
reduce()позволяет выполнять агрегатные функции и возвращать один результат.
Для числовых стримов дополнительно доступны:
sum() возвращает сумму всех чисел;
average() возвращает среднее арифметическое всех чисел.
findAny() возвращает любой подходящий элемент;
collect() представление результатов в виде коллекций и других структур данных;
count() возвращает количество элементов;
anyMatch() возвращает true, если условие выполняется хотя бы для одного элемента;
noneMatch() возвращает true, если условие не выполняется ни для одного элемента;
allMatch() возвращает true, если условие выполняется для всех элементов;
min() возвращает минимальный элемент, используя в качестве условия Comparator;
max() возвращает максимальный элемент, используя в качестве условия Comparator;
forEach() применяет функцию к каждому объекту (порядок при параллельном выполнении не гарантируется);
forEachOrdered() применяет функцию к каждому объекту с сохранением порядка элементов;
toArray() возвращает массив значений;
reduce()позволяет выполнять агрегатные функции и возвращать один результат.
Для числовых стримов дополнительно доступны:
sum() возвращает сумму всех чисел;
average() возвращает среднее арифметическое всех чисел.
Forwarded from Java jobs — вакансии для java-разработчиков
Команда Luxoft ищет Senior Java-разработчиков и дает большой Welcome-бонус
Вас ждут интересные проекты, достойная зарплата и супер Welcome-bonus! Заполняйте короткую анкету и узнайте больше о работе мечты!
Вас ждут интересные проекты, достойная зарплата и супер Welcome-bonus! Заполняйте короткую анкету и узнайте больше о работе мечты!
#вопросы_с_собеседований
Назовите различия между synchronized и ReentrantLock?
Назовите различия между synchronized и ReentrantLock?