Java MeetUp в Иннополисе
Бесплатный онлайн-митап от Иннополиса по Java 17 декабря.
Обсудим:
— распространенные уязвимостях в ПО и о стратегии его защиты
— основные ошибки при написании тестов в приложении и рекомендации по их недопущению
— production-системы на стыке Java-технологий и высшей математики, успешно работающие на глобальных финансовых рынках.
Наши спикеры:
🎙Дмитрий Янтер, аналитик, Deutsche Bank Technology Centre
📢Никита Куртин, Director of Research and Development, CubedMobile
🎤Александр Линьков, Tech Lead, Leroy Merlin
Эксперты митапа:
📣Дмитрий Чуйко, Senior Performance Architect, BellSoft
🔈Андрей Когунь, руководитель группы Java-разработчиков, КРОК
Когда: 17 декабря в 18:00
Регистрация и подробности докладов
Чат митапа
Бесплатный онлайн-митап от Иннополиса по Java 17 декабря.
Обсудим:
— распространенные уязвимостях в ПО и о стратегии его защиты
— основные ошибки при написании тестов в приложении и рекомендации по их недопущению
— production-системы на стыке Java-технологий и высшей математики, успешно работающие на глобальных финансовых рынках.
Наши спикеры:
🎙Дмитрий Янтер, аналитик, Deutsche Bank Technology Centre
📢Никита Куртин, Director of Research and Development, CubedMobile
🎤Александр Линьков, Tech Lead, Leroy Merlin
Эксперты митапа:
📣Дмитрий Чуйко, Senior Performance Architect, BellSoft
🔈Андрей Когунь, руководитель группы Java-разработчиков, КРОК
Когда: 17 декабря в 18:00
Регистрация и подробности докладов
Чат митапа
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() возвращает среднее арифметическое всех чисел.
Курс для middle- и senior-разработчиков, которые хотят стать тимлидами
Новичком быть просто: все новое и интересное, море информации, но как быть уже прокаченным девелоперам? Мы тоже задавали себе этот вопрос и просто точечно обучали наших разработчиков, делая их мощными тимлидами.
В нашем понимании тимлид — это не просто крутой программист, но и тот, кто умеет аккумулировать свои знания, обучать команду и выстраивать работу в ней, понимает продукт и работает от бизнес-целей. Тут важны и hard, и soft skills, и эмоциональный интеллект. Поэтому мы собрали весь свой 14-летний опыт работы над сложными сервисами и высоконагруженными сайтами и создали 6-ти месячный курс именно тех, кто хочет вырасти и систематизировать свои знания. Договорились с Geekbrains, и теперь именно там можно пройти обучение. Второй поток стартует уже совсем скоро — 24 декабря, а тут должен быть призыв к действию, поэтому просто записывайтесь на курс: https://proglib.io/w/9236cebf
На связи была команда AGIMA!
Новичком быть просто: все новое и интересное, море информации, но как быть уже прокаченным девелоперам? Мы тоже задавали себе этот вопрос и просто точечно обучали наших разработчиков, делая их мощными тимлидами.
В нашем понимании тимлид — это не просто крутой программист, но и тот, кто умеет аккумулировать свои знания, обучать команду и выстраивать работу в ней, понимает продукт и работает от бизнес-целей. Тут важны и hard, и soft skills, и эмоциональный интеллект. Поэтому мы собрали весь свой 14-летний опыт работы над сложными сервисами и высоконагруженными сайтами и создали 6-ти месячный курс именно тех, кто хочет вырасти и систематизировать свои знания. Договорились с Geekbrains, и теперь именно там можно пройти обучение. Второй поток стартует уже совсем скоро — 24 декабря, а тут должен быть призыв к действию, поэтому просто записывайтесь на курс: https://proglib.io/w/9236cebf
На связи была команда AGIMA!
#вопросы_с_собеседований
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.
2020 бросил вызов каждому человеку, бизнесу, государству. Впереди 2021 год и новые изменения. Как отбросить страх перед глобальными вызовами? Получить новый импульс? QIWI и Магнит объединились, чтобы напомнить о важной роли технологий в трансформации каждого из нас, а также в развитии бизнеса и общества.
17 декабря в 16:00 состоится бесплатный онлайн митап #MGNTQIWI «Новый мир: как технологии влияют на человека и общество» с участием Евгения Кузнецова – футуролога, руководителя московского отделения Университета Сингулярности, генерального директора ООО «Орбита Капитал Партнерз». Евгений расскажет, как оставаться на гребне цифровой волны, не отставать от трендов и справляться с вызовами технологической эпохи.
Регистрируйтесь по ссылке https://mgntqiwi.ru и присоединяйтесь к бесплатной лекции и Q&A сессии 17 декабря в 16:00.
ИЗМЕНЕНИЯ – вот о чем пойдет речь в рамках митапа. Трансформируется все, а значит, нужно и нам.
Давайте меняться вместе!
17 декабря в 16:00 состоится бесплатный онлайн митап #MGNTQIWI «Новый мир: как технологии влияют на человека и общество» с участием Евгения Кузнецова – футуролога, руководителя московского отделения Университета Сингулярности, генерального директора ООО «Орбита Капитал Партнерз». Евгений расскажет, как оставаться на гребне цифровой волны, не отставать от трендов и справляться с вызовами технологической эпохи.
Регистрируйтесь по ссылке https://mgntqiwi.ru и присоединяйтесь к бесплатной лекции и Q&A сессии 17 декабря в 16:00.
ИЗМЕНЕНИЯ – вот о чем пойдет речь в рамках митапа. Трансформируется все, а значит, нужно и нам.
Давайте меняться вместе!
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for (Integer integer : list) {
list.remove(1);
}
}
}
import java.util.List;
public class Main
{
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for (Integer integer : list) {
list.remove(1);
}
}
}
#вопросы_с_собеседований
Что такое «сервлет»?
Что такое «сервлет»?
Сервлет является интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов.
Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах javax.servlet и javax.servlet.http.
Основные методы сервлета:
☕️ public void init(ServletConfig config) throws ServletException запускается сразу после загрузки сервлета в память;
☕️ public ServletConfig getServletConfig() возвращает ссылку на объект, который предоставляет доступ к информации о конфигурации сервлета;
☕️ public String getServletInfo() возвращает строку, содержащую информацию о сервлете, например: автор и версия сервлета;
☕️ public void service(ServletRequest request, ServletResponse response) throws ServletException, java.io.IOException вызывается для обработки каждого запроса;
☕️ public void destroy() выполняется перед выгрузкой сервлета из памяти.
Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах javax.servlet и javax.servlet.http.
Основные методы сервлета:
☕️ public void init(ServletConfig config) throws ServletException запускается сразу после загрузки сервлета в память;
☕️ public ServletConfig getServletConfig() возвращает ссылку на объект, который предоставляет доступ к информации о конфигурации сервлета;
☕️ public String getServletInfo() возвращает строку, содержащую информацию о сервлете, например: автор и версия сервлета;
☕️ public void service(ServletRequest request, ServletResponse response) throws ServletException, java.io.IOException вызывается для обработки каждого запроса;
☕️ public void destroy() выполняется перед выгрузкой сервлета из памяти.
#вопросы_с_собеседований
В каком случае требуется переопределять метод service()?
В каком случае требуется переопределять метод service()?
Метод service() переопределяется, когда необходимо, чтобы сервлет обрабатывал все запросы (и GET, и POST) в одном методе.
Когда контейнер сервлетов получает запрос клиента, то происходит вызов метода service(), который в зависимости от поступившего запроса вызывает или метод doGet() или метод doPost().
Когда контейнер сервлетов получает запрос клиента, то происходит вызов метода service(), который в зависимости от поступившего запроса вызывает или метод doGet() или метод doPost().
Object-Oriented Data Structures Using Java (2020)
Авторы: Nell Dale, Daniel T. Joyce, Chip Weems
Количество страниц: 694
Данная книга - важный ресурс для студентов, изучающих структуры данных с использованием языка программирования Java. В ней представлены как традиционные, так и самые современные темы из структур данных с упором на решение задач и объектно-ориентированное проектирование программного обеспечения.
Скачать книгу
Авторы: Nell Dale, Daniel T. Joyce, Chip Weems
Количество страниц: 694
Данная книга - важный ресурс для студентов, изучающих структуры данных с использованием языка программирования Java. В ней представлены как традиционные, так и самые современные темы из структур данных с упором на решение задач и объектно-ориентированное проектирование программного обеспечения.
Скачать книгу
#вопросы_с_собеседований
Что такое «абсолютный путь» и «относительный путь»?
Что такое «абсолютный путь» и «относительный путь»?
Абсолютный (полный) путь — это путь, который указывает на одно и то же место в файловой системе, вне зависимости от текущей рабочей директории или других обстоятельств. Полный путь всегда начинается с корневого каталога.
Относительный путь представляет собой путь по отношению к текущему рабочему каталогу пользователя или активного приложения.
Относительный путь представляет собой путь по отношению к текущему рабочему каталогу пользователя или активного приложения.
#вопросы_с_собеседований
Что такое «фикстуры»?
Что такое «фикстуры»?
Банк ВТБ проходит этап цифровой трансформации. Ребята работают в кросс-функциональных командах, в каждой из которых собрано максимум компетенций для создания лучших цифровых продуктов. Никаких длительных согласований — ответственность за продукт перед клиентом и руководством полностью несет команда и ее лидер. Это позволяет реализовывать смелые проекты в кратчайшие сроки. Больше проектов – больше шансов проявить себя и построить карьеру!
Сейчас Банк ВТБ в поиске опытных специалистов:
в Москве: Java разработчик
в Санкт-Петербурге: Java разработчик
в Самаре: Java разработчик
в Нижнем Новгороде: Java разработчик
Что нужно делать:
- Разрабатывать системы с нуля или дорабатывать новый функционал.
- Чаще всего это legacy 20-30%, остальное — новый функционал.
- Команда от 7 человек и больше, в зависимости от масштаба системы.
Что требуется:
- опыт разработки на Java от 2 лет;
- уверенное знание Java 8 (Core, Collections, Concurrency);
- опыт работы со Spring Framework, Spring Boot, Spring Security;
- опыт работы с Hibernate;
- уверенное знание SQL;
- опыт работы с микро-сервисной архитектурой;
- понимание методик unit-тестирования;
- умение работать в команде
Что вы получите:
- фокус на развитие: hard skills в рамках современного технологического стека.
- интересные задачи: более 150 крупных проектов и свыше 12 000 внедрений в год. Каждая задача — реальная потребность бизнеса
- карьерный рост: возможность выбора направления для роста и развития. 1100 команд — найдите свою по духу и задачам.
Оставляйте отклик и присоединяйтесь к команде, которая создает банк будущего для миллионов людей!
Сейчас Банк ВТБ в поиске опытных специалистов:
в Москве: Java разработчик
в Санкт-Петербурге: Java разработчик
в Самаре: Java разработчик
в Нижнем Новгороде: Java разработчик
Что нужно делать:
- Разрабатывать системы с нуля или дорабатывать новый функционал.
- Чаще всего это legacy 20-30%, остальное — новый функционал.
- Команда от 7 человек и больше, в зависимости от масштаба системы.
Что требуется:
- опыт разработки на Java от 2 лет;
- уверенное знание Java 8 (Core, Collections, Concurrency);
- опыт работы со Spring Framework, Spring Boot, Spring Security;
- опыт работы с Hibernate;
- уверенное знание SQL;
- опыт работы с микро-сервисной архитектурой;
- понимание методик unit-тестирования;
- умение работать в команде
Что вы получите:
- фокус на развитие: hard skills в рамках современного технологического стека.
- интересные задачи: более 150 крупных проектов и свыше 12 000 внедрений в год. Каждая задача — реальная потребность бизнеса
- карьерный рост: возможность выбора направления для роста и развития. 1100 команд — найдите свою по духу и задачам.
Оставляйте отклик и присоединяйтесь к команде, которая создает банк будущего для миллионов людей!
Фикстуры (fixtures) - состояние среды тестирования, которое требуется для успешного выполнения теста. Основная задача фикстур заключается в подготовке тестового окружения с заранее фиксированным/известным состоянием, чтобы гарантировать повторяемость процесса тестирования.
#вопросы_с_собеседований
Как получить коллекцию только для чтения?
Как получить коллекцию только для чтения?
При помощи:
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.
#вопросы_с_собеседований
Какие аннотации фикстур существуют в JUnit?
Какие аннотации фикстур существуют в JUnit?
@BeforeClass - определяет код, который должен единожды выполниться перед запуском набора тестовых методов.
@AfterClass - код, выполняемый один раз после исполнения набора тестовых методов.
@Before - определяет код, который должен выполняться каждый раз перд запуском любого тестовым методом.
@After - код, выполняемый каждый раз после исполнения любого тестового метода.
@AfterClass - код, выполняемый один раз после исполнения набора тестовых методов.
@Before - определяет код, который должен выполняться каждый раз перд запуском любого тестовым методом.
@After - код, выполняемый каждый раз после исполнения любого тестового метода.