Forwarded from Java jobs — вакансии для java-разработчиков
Senior Java-разработчик, присоединяйся к нашей команде Luxoft и получи не только работу мечты, но и Welcome Bonus, который точно порадует!
До 31 октября 2021 года заполни короткую форму, и мы расскажем о наших проектах и бонусе!
Все подробности и регистрация по ссылке.
До 31 октября 2021 года заполни короткую форму, и мы расскажем о наших проектах и бонусе!
Все подробности и регистрация по ссылке.
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Имеет ли смысл индексировать данные, имеющие небольшое количество возможных значений?
Примерное правило, которым можно руководствоваться при создании индекса - если объем информации (в байтах) НЕ удовлетворяющей условию выборки меньше, чем размер индекса (в байтах) по данному условию выборки, то в общем случае оптимизация приведет к замедлению выборки.
💥 Java Hiring Sprint, 18-29 октября | онлайн
Мы приглашаем Java-разработчиков уровня Middle/Senior/Lead/Architect с опытом работы от 2 лет стать частью команды EPAM Anywhere.
🎯 Пройди техническое интервью и в течение 48 часов получи оффер от EPAM Anywhere, а также бонус до US $5,000 после присоединения к нашей команде!
🔸 Бонус для специалиста уровня Middle – US $2,000
🔸 Бонус для специалиста уровня Senior — US $3,000
🔸 Бонус для специалиста уровня Lead — US $4,000
🔸 Бонус для специалиста уровня Architect — US $5,000.
Сумма бонуса фиксирована независимо от оклада.
Хочешь узнать больше? Заполни регистрационную форму и узнай о платформе EPAM Anywhere и Java Hiring Sprint!
👉 Зарегистрироваться -> https://epa.ms/2aWdI1
Мы приглашаем Java-разработчиков уровня Middle/Senior/Lead/Architect с опытом работы от 2 лет стать частью команды EPAM Anywhere.
🎯 Пройди техническое интервью и в течение 48 часов получи оффер от EPAM Anywhere, а также бонус до US $5,000 после присоединения к нашей команде!
🔸 Бонус для специалиста уровня Middle – US $2,000
🔸 Бонус для специалиста уровня Senior — US $3,000
🔸 Бонус для специалиста уровня Lead — US $4,000
🔸 Бонус для специалиста уровня Architect — US $5,000.
Сумма бонуса фиксирована независимо от оклада.
Хочешь узнать больше? Заполни регистрационную форму и узнай о платформе EPAM Anywhere и Java Hiring Sprint!
👉 Зарегистрироваться -> https://epa.ms/2aWdI1
#вопросы_с_собеседований
Что такое «фреймворк Fork/Join»?
Что такое «фреймворк Fork/Join»?
Forwarded from Книги для программистов
Добрый вечер. Комьюнити Библиотеки программиста подумывает о том, чтобы организовать встречу офлайн в конце октября у нас на локации в мск. Хотим узнать ваше мнение, во что бы вы хотели поиграть в компании из 6-10 человек (единомышленников-программистов)
Anonymous Poll
15%
Монополия
20%
Мафия
9%
Крокодил
5%
Домино
18%
Покер
14%
Кто я такой (стикеры на лбу)
11%
Квизы (участики делятся на команды)
13%
Манчкин
4%
Другое (в комментариях)
41%
Полное прекращение работы Telegram в России
Фреймворк
• Этап
• Этап
Решение всех подзадач (в т.ч. и само разбиение на подзадачи) происходит параллельно.
Для решения некоторых задач этап Join не требуется. Например, для параллельного
Ещё одно замечательное преимущество этого фреймворка заключается в том, что он использует
Fork/Join
, представленный в JDK 7
, - это набор классов и интерфейсов позволяющих использовать преимущества многопроцессорной архитектуры современных компьютеров. Он разработан для выполнения задач, которые можно рекурсивно разбить на маленькие подзадачи, которые можно решать параллельно.• Этап
Fork
: большая задача разделяется на несколько меньших подзадач, которые в свою очередь также разбиваются на меньшие. И так до тех пор, пока задача не становится тривиальной и решаемой последовательным способом.• Этап
Join
: далее (опционально) идёт процесс «свёртки» - решения подзадач некоторым образом объединяются пока не получится решение всей задачи.Решение всех подзадач (в т.ч. и само разбиение на подзадачи) происходит параллельно.
Для решения некоторых задач этап Join не требуется. Например, для параллельного
QuickSort
— массив рекурсивно делится на всё меньшие и меньшие диапазоны, пока не вырождается в тривиальный случай из 1 элемента. Хотя в некотором смысле Join
будет необходим и тут, т.к. всё равно остаётся необходимость дождаться пока не закончится выполнение всех подзадач.Ещё одно замечательное преимущество этого фреймворка заключается в том, что он использует
work-stealing
алгоритм: потоки, которые завершили выполнение собственных подзадач, могут «украсть» подзадачи у других потоков, которые всё ещё заняты.#вопросы_с_собеседований
Как создать потокобезопасный Singleton?
Как создать потокобезопасный Singleton?
• Static field
class Singleton {• Enum
public static final Singleton INSTANCE = new Singleton();
}
enum Singleton {• Synchronized Accessor
INSTANCE;
}
class Singleton {• Double Checked Locking & volatile
private static Singleton instance;
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
class Singleton {• On Demand Holder Idiom
private static volatile Singleton instance;
public static Singleton getInstance() {
Singleton localInstance = instance;
if (localInstance == null) {
synchronized (Singleton.class) {
localInstance = instance;
if (localInstance == null) {
instance = localInstance = new Singleton();
}
}
}
return localInstance;
}
}
public class Singleton {
public static class SingletonHolder {
public static final Singleton HOLDER_INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.HOLDER_INSTANCE;
}
}
Привет, Username! Приглашаем тебя на новый хакатон Цифрового Прорыва на тему "Транспорт и логистика"!
Для тебя мы подготовили крутецкие кейсы от Росатома, Ростелекома, Транспортных инноваций Москвы, международного аэропорта Шереметьево, Accenture и др.!
Участвовать можно онлайн из любой точки России, либо в специальных оффлайн-коворкингах (см. список доступных на сайте).
Успей собрать команду 3-5 человек (или присоединиться к имеющимся), выбрать кейс и побороться за призовой фонд до 4.500.000 руб. 🚀🚀🚀
Регистрируйся прямо сейчас: https://proglib.io/w/589dba35
Для тебя мы подготовили крутецкие кейсы от Росатома, Ростелекома, Транспортных инноваций Москвы, международного аэропорта Шереметьево, Accenture и др.!
Участвовать можно онлайн из любой точки России, либо в специальных оффлайн-коворкингах (см. список доступных на сайте).
Успей собрать команду 3-5 человек (или присоединиться к имеющимся), выбрать кейс и побороться за призовой фонд до 4.500.000 руб. 🚀🚀🚀
Регистрируйся прямо сейчас: https://proglib.io/w/589dba35
#вопросы_с_собеседований
Для чего в стримах применяются методы forEach() и forEachOrdered()?
Для чего в стримах применяются методы forEach() и forEachOrdered()?
☕️ forEach() применяет функцию к каждому объекту стрима, порядок при параллельном выполнении не гарантируется;
☕️ forEachOrdered() применяет функцию к каждому объекту стрима с сохранением порядка элементов.
☕️ forEachOrdered() применяет функцию к каждому объекту стрима с сохранением порядка элементов.
Как реализовать запуск сервлета одновременно с запуском приложения?
Контейнер сервлетов обычно загружает сервлет по первому запросу клиента.
Если необходимо загрузить сервлет прямо на старте приложения (например если загрузка сервлета происходит длительное время) следует использовать элемент <load-on-startup> в дескрипторе или аннотацию @loadOnStartup в коде сервлета, что будет указывать на необходимость загрузки сервлета при запуске.
Если целочисленное значение этого параметра отрицательно, то сервлет будет загружен при запросе клиента. В противном случае - загрузится на старте приложения, при этом, чем число меньше, тем раньше в очереди на загрузку он окажется.
<servlet>
<servlet-name>ExampleServlet</servlet-name>
<servlet-class>xyz.company.ExampleServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Контейнер сервлетов обычно загружает сервлет по первому запросу клиента.
Если необходимо загрузить сервлет прямо на старте приложения (например если загрузка сервлета происходит длительное время) следует использовать элемент <load-on-startup> в дескрипторе или аннотацию @loadOnStartup в коде сервлета, что будет указывать на необходимость загрузки сервлета при запуске.
Если целочисленное значение этого параметра отрицательно, то сервлет будет загружен при запросе клиента. В противном случае - загрузится на старте приложения, при этом, чем число меньше, тем раньше в очереди на загрузку он окажется.
<servlet>
<servlet-name>ExampleServlet</servlet-name>
<servlet-class>xyz.company.ExampleServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Все больше специалистов из стран Восточной Европы обращают внимание на рынок Польши в качестве следующего этапа в развитии карьеры:
- зарплаты в среднем на 30%-40 выше;
- схожесть менталитета и близость к дому;
- простота в получении визы и вида на жительство;
- огромный спрос со стороны работодателей;
- один из наиболее высоких темпов роста экономики в Европе.
Для тех, кто хочет открыть для себя глобальные возможности этого рынка, мы рекомендуем платформу Just Join IT — самый популярный Job board для сферы IT в Польше.
Найдите наилучшее предложение среди 500+ вакансий и работайте на крупнейшие компании: https://bit.ly/justjoinit-java
- зарплаты в среднем на 30%-40 выше;
- схожесть менталитета и близость к дому;
- простота в получении визы и вида на жительство;
- огромный спрос со стороны работодателей;
- один из наиболее высоких темпов роста экономики в Европе.
Для тех, кто хочет открыть для себя глобальные возможности этого рынка, мы рекомендуем платформу Just Join IT — самый популярный Job board для сферы IT в Польше.
Найдите наилучшее предложение среди 500+ вакансий и работайте на крупнейшие компании: https://bit.ly/justjoinit-java
Что представляет собой ServletConfig?
Интерфейс
Для установки параметров конфигурации используются параметры
Интерфейс
javax.servlet.ServletConfig
используется для передачи сервлету конфигурационной информации. Каждый сервлет имеет свой собственный экземпляр объекта ServletConfig
, создаваемый контейнером сервлетов.Для установки параметров конфигурации используются параметры
init-param
в web.xml
:<servlet-name>ExampleServlet</servlet-name>или аннотации
<servlet-class>xyz.company.ExampleServlet</servlet-class>
<init-param>
<param-name>exampleParameter</param-name>
<param-value>parameterValue</param-value>
</init-param>
</servlet>
@WebInitParam
:urlPatterns = "/example",Для получения
initParams = {
@WebInitParam(name = "exampleParameter", value = "parameterValue")
}
)
public class ExampleServlet extends HttpServlet {
//...
}
ServletConfig
сервлета используется метод getServletConfig()
.#вопросы_с_собеседований
Как обработать в приложении исключения, выброшенные другим сервлетом?
Как обработать в приложении исключения, выброшенные другим сервлетом?
Курс автоматизатор на Java.
Клёвые новости для всех, кто хочет стартануть в этой профессии — ребята из школы автоматизации QA.GURU проводят бесплатное вводное занятие 20-го октября в 20:00 МСК
Почему надо сходить:
— Разработаем ваш первый (или не первый) автотест на поиск в Google
—Расскажут о рынке QA🔥 Кто, кому, за что и сколько платит?
— Покажут боевой проект с полной инфраструктурой.
— Дадут домашнее задание и проверят его.
Занятие бесплатное — для участия вступайте в чат @qa_guru_chat — ссылка на занятие будет там.
Клёвые новости для всех, кто хочет стартануть в этой профессии — ребята из школы автоматизации QA.GURU проводят бесплатное вводное занятие 20-го октября в 20:00 МСК
Почему надо сходить:
— Разработаем ваш первый (или не первый) автотест на поиск в Google
—Расскажут о рынке QA🔥 Кто, кому, за что и сколько платит?
— Покажут боевой проект с полной инфраструктурой.
— Дадут домашнее задание и проверят его.
Занятие бесплатное — для участия вступайте в чат @qa_guru_chat — ссылка на занятие будет там.
Когда приложение выбрасывает исключение, контейнер сервлетов обрабатывает его и создаёт ответ в формате
В дополнении к этому существует возможность написания собственных сервлетов для обработки исключений и ошибок с указанием их в дескрипторе развертывания:
HTML
. Это аналогично тому, что происходит при кодах ошибок вроде 404
, 403
и т.д.В дополнении к этому существует возможность написания собственных сервлетов для обработки исключений и ошибок с указанием их в дескрипторе развертывания:
<error-code>404</error-code>Основная задача таких сервлетов - обработать ошибку/исключение и сформировать понятный ответ пользователю. Например, предоставить ссылку на главную страницу или же описание ошибки.
<location>/AppExceptionHandler</location>
</error-page>
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/AppExceptionHandler</location>
</error-page>
#вопросы_с_собеседований
В чем отличия ServletContext и ServletConfig?
В чем отличия ServletContext и ServletConfig?
Forwarded from Java jobs — вакансии для java-разработчиков
Привет!
Команда МегаФона в поиске старшего Java-разработчика на проект по разработке и развитию аналитических платформ в подразделении Корпоративное Хранилище Данных.
Стэк – java, python, LUA, SQL (ClickHouse).
Что ждём от кандидата:
- Опыт разработки на Java от 3 лет
- Опыт функционального руководства группой разработки от 2 лет
- Опыт работы в сфере IT / телекоммуникаций от 3 лет
- Высшее образование в области математики/ИТ технологий
Смотри подробное описание вакансии и откликайся на сайте
Или присылай CV с темой “резюме из tg” на почту: [email protected]
Команда МегаФона в поиске старшего Java-разработчика на проект по разработке и развитию аналитических платформ в подразделении Корпоративное Хранилище Данных.
Стэк – java, python, LUA, SQL (ClickHouse).
Что ждём от кандидата:
- Опыт разработки на Java от 3 лет
- Опыт функционального руководства группой разработки от 2 лет
- Опыт работы в сфере IT / телекоммуникаций от 3 лет
- Высшее образование в области математики/ИТ технологий
Смотри подробное описание вакансии и откликайся на сайте
Или присылай CV с темой “резюме из tg” на почту: [email protected]
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований В чем отличия ServletContext и ServletConfig?
☕️ ServletConfig уникален для сервлета, а ServletContext - для приложения;
☕️ ServletConfig используется для предоставления параметров инициализации конкретному сервлету, а ServletContext для предоставления параметров инициализации для всех сервлетов приложения;
☕️ для ServletConfig возможности модифицировать атрибуты отсутствуют, атрибуты в объекте ServletContext можно изменять.
☕️ ServletConfig используется для предоставления параметров инициализации конкретному сервлету, а ServletContext для предоставления параметров инициализации для всех сервлетов приложения;
☕️ для ServletConfig возможности модифицировать атрибуты отсутствуют, атрибуты в объекте ServletContext можно изменять.