#platinum #вакансия #удаленка #java #lead
Lead Java developer в Platinum Software Development
О НАС:
https://platinum.fund
Строим финансовый продукт в сфере криптовалют, задач много и нам давно пора расширяться
ЗАДАЧИ:
• Решение бизнес задач, помощь в декомпозиции на таски для команды бэк-энд разработчиков
• Планирование архитектуры приложения
• Разработка некоторых модулей приложения, интеграция со сторонними модулями и внешними сервисами
ТРЕБОВАНИЯ:
• Опыт разработки на Java от трех лет
• Java 8+, Spring Framework(Boot, Data), Hibernate, JUnit, Liquibase, PostgreSQL, Docker, Git
• Наличие репозитория с кодом, который можно посмотреть
• Опыт работы с RabbitMQ будет большим плюсом
• Большим плюсом будет опыт в финансовой сфере
УСЛОВИЯ:
• Полностью удаленный формат работы
• 6 дней в неделю, без трекинга времени
• ЗП 2000-3000$
КОНТАКТЫ: @AlexandraKrylova
Lead Java developer в Platinum Software Development
О НАС:
https://platinum.fund
Строим финансовый продукт в сфере криптовалют, задач много и нам давно пора расширяться
ЗАДАЧИ:
• Решение бизнес задач, помощь в декомпозиции на таски для команды бэк-энд разработчиков
• Планирование архитектуры приложения
• Разработка некоторых модулей приложения, интеграция со сторонними модулями и внешними сервисами
ТРЕБОВАНИЯ:
• Опыт разработки на Java от трех лет
• Java 8+, Spring Framework(Boot, Data), Hibernate, JUnit, Liquibase, PostgreSQL, Docker, Git
• Наличие репозитория с кодом, который можно посмотреть
• Опыт работы с RabbitMQ будет большим плюсом
• Большим плюсом будет опыт в финансовой сфере
УСЛОВИЯ:
• Полностью удаленный формат работы
• 6 дней в неделю, без трекинга времени
• ЗП 2000-3000$
КОНТАКТЫ: @AlexandraKrylova
Библиотека джависта | Java, Spring, Maven, Hibernate via @CommentsBot
#вопросы_с_собеседований Приведите пример, когда какая-либо коллекция выбрасывает UnsupportedOperationException.
public static void main(String[] args) {
List<Integer> list = Collections.emptyList();
list.add(0);
}
List<Integer> list = Collections.emptyList();
list.add(0);
}
#вопросы_с_собеседований
Приведите примеры поведенческих шаблонов проектирования.
Приведите примеры поведенческих шаблонов проектирования.
☕️ Цепочка обязанностей (Chain of responsibility) - Предназначен для организации в системе уровней ответственности.
☕️ Команда (Command) - Представляет действие. Объект команды заключает в себе само действие и его параметры.
☕️ Интерпретатор (Interpreter) - Решает часто встречающуюся, но подверженную изменениям, задачу.
☕️ Итератор (Iterator) - Представляет собой объект, позволяющий получить последовательный доступ к элементам объекта-агрегата без использования описаний каждого + __из объектов, входящих в состав агрегации.
☕️ Посредник (Mediator) - Обеспечивает взаимодействие множества объектов, формируя при этом слабую связанность и избавляя объекты от необходимости явно ссылаться друг на друга.
☕️ Хранитель (Memento) - Позволяет не нарушая инкапсуляцию зафиксировать и сохранить внутренние состояния объекта так, чтобы позднее восстановить его в этих состояниях.
☕️ Наблюдатель (Observer) - Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом событии.
☕️ Состояние (State) - Используется в тех случаях, когда во время выполнения программы объект должен менять своё поведение в зависимости от своего состояния.
☕️ Стратегия (Strategy) - Предназначен для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости.
☕️ Шаблонный метод (Template method) - Определяет основу алгоритма и позволяет наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом.
☕️ Посетитель (Visitor) - Описывает операцию, которая выполняется над объектами других классов. При изменении класса Visitor нет необходимости изменять обслуживаемые классы.
☕️ Команда (Command) - Представляет действие. Объект команды заключает в себе само действие и его параметры.
☕️ Интерпретатор (Interpreter) - Решает часто встречающуюся, но подверженную изменениям, задачу.
☕️ Итератор (Iterator) - Представляет собой объект, позволяющий получить последовательный доступ к элементам объекта-агрегата без использования описаний каждого + __из объектов, входящих в состав агрегации.
☕️ Посредник (Mediator) - Обеспечивает взаимодействие множества объектов, формируя при этом слабую связанность и избавляя объекты от необходимости явно ссылаться друг на друга.
☕️ Хранитель (Memento) - Позволяет не нарушая инкапсуляцию зафиксировать и сохранить внутренние состояния объекта так, чтобы позднее восстановить его в этих состояниях.
☕️ Наблюдатель (Observer) - Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом событии.
☕️ Состояние (State) - Используется в тех случаях, когда во время выполнения программы объект должен менять своё поведение в зависимости от своего состояния.
☕️ Стратегия (Strategy) - Предназначен для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости.
☕️ Шаблонный метод (Template method) - Определяет основу алгоритма и позволяет наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом.
☕️ Посетитель (Visitor) - Описывает операцию, которая выполняется над объектами других классов. При изменении класса Visitor нет необходимости изменять обслуживаемые классы.
ОГО! Спасибо! Очень приятно. Если хотите, можете тоже поддержать нас пожертвованием в ВК: vk.com/proglib
Forwarded from Java jobs — вакансии для java-разработчиков
#вакансия #java #lead #senior #финтех #удаленка #офис #москва
Позиция - техлид Java
З/П: до 250к
Формат работы: #fulltime, #удаленка #офис
Компания: WalletOne
Всем привет!
Меня зовут Александр - я руковожу проектным департаментом в WalletOne (финтех).
Сейчас у нас открыто новое международное платежное направление, под которые мы активно набираем команду и ищем Техлида Java, способного погрузиться в предметную область, в синхронизации с другими командами холдинга развивать общую микросервисную архитектуру компании и создавать новые сервисы, общие для всех проектов.
Что предстоит делать?
- проектировать и разрабатывать новые сервисы и платформы с применением микросервисного подхода к архитектуре.
- участвовать в формировании единой архитектуры холдинга. Предлагать свое видение.
- организовать работу команды для проектирования и реализации задач
- планировать и оценивать сроки выполнения и трудоемкость технических задач
- выстраивать эффективный процесс разработки внутри команды и отвечать за ее взаимодействие с другими подразделениями
- делать код-ревью и контролировать качество кода – своего и коллег.
Что мы ожидаем?
- опыт разработки с использованием технологий: Java Spring Boot, Kotlin, ORM, REST-сервисы, unit testing, mocking, integration testing,
- навыки построения HA-приложений: RabbitMQ, ActiveMQ, MongoDB
- опыт работы с PostgreSQL
- опыт работы в качестве архитектора или ведущего разработчика с проектами, доведенными до production
- опыт проектирования микросервисной архитектуры приложений. Знание и применение паттернов проектирования.
- опыт разработки высоконагруженных и горизонтально масштабируемых приложений
- опыт многопоточного программирования
- опыт работы с Docker и инструментами оркестрации
Подробности готов обсудить в личке.
Контакты:
Телеграм: @alexkorneev
➡️ Подробности - https://proglib.io/vacancies/tehlid-java-wallet-one-2020-08-13
Позиция - техлид Java
З/П: до 250к
Формат работы: #fulltime, #удаленка #офис
Компания: WalletOne
Всем привет!
Меня зовут Александр - я руковожу проектным департаментом в WalletOne (финтех).
Сейчас у нас открыто новое международное платежное направление, под которые мы активно набираем команду и ищем Техлида Java, способного погрузиться в предметную область, в синхронизации с другими командами холдинга развивать общую микросервисную архитектуру компании и создавать новые сервисы, общие для всех проектов.
Что предстоит делать?
- проектировать и разрабатывать новые сервисы и платформы с применением микросервисного подхода к архитектуре.
- участвовать в формировании единой архитектуры холдинга. Предлагать свое видение.
- организовать работу команды для проектирования и реализации задач
- планировать и оценивать сроки выполнения и трудоемкость технических задач
- выстраивать эффективный процесс разработки внутри команды и отвечать за ее взаимодействие с другими подразделениями
- делать код-ревью и контролировать качество кода – своего и коллег.
Что мы ожидаем?
- опыт разработки с использованием технологий: Java Spring Boot, Kotlin, ORM, REST-сервисы, unit testing, mocking, integration testing,
- навыки построения HA-приложений: RabbitMQ, ActiveMQ, MongoDB
- опыт работы с PostgreSQL
- опыт работы в качестве архитектора или ведущего разработчика с проектами, доведенными до production
- опыт проектирования микросервисной архитектуры приложений. Знание и применение паттернов проектирования.
- опыт разработки высоконагруженных и горизонтально масштабируемых приложений
- опыт многопоточного программирования
- опыт работы с Docker и инструментами оркестрации
Подробности готов обсудить в личке.
Контакты:
Телеграм: @alexkorneev
➡️ Подробности - https://proglib.io/vacancies/tehlid-java-wallet-one-2020-08-13
Библиотека программиста
Техлид Java
Wallet One — международный платежный сервис, стартовавший в 2004 году и имеющий собственную банковскую лицензию в РФ. Мы работаем во всех сегментах электронной коммерции, от розничного бизнеса до серьезных отраслевых решений в различных секторах экономики…
Библиотека джависта | Java, Spring, Maven, Hibernate pinned «#вакансия #java #lead #senior #финтех #удаленка #офис #москва Позиция - техлид Java З/П: до 250к Формат работы: #fulltime, #удаленка #офис Компания: WalletOne Всем привет! Меня зовут Александр - я руковожу проектным департаментом в WalletOne (финтех). …»
Библиотека джависта | Java, Spring, Maven, Hibernate via @CommentsBot
#вопросы_с_собеседований 1. Как перебрать все ключи Map? 2. Как перебрать все значения Map?
1. Использовать метод keySet(), который возвращает множество Set<K> ключей.
2. Использовать метод values(), который возвращает коллекцию Collection<V> значений.
2. Использовать метод values(), который возвращает коллекцию Collection<V> значений.
#вопросы_с_собеседований
Что такое static метод интерфейса?
Что такое static метод интерфейса?
Статические методы интерфейса похожи на методы по умолчанию, за исключением того, что для них отсутствует возможность переопределения в классах, реализующих интерфейс.
☕️ Статические методы в интерфейсе являются частью интерфейса без возможности использовать их для объектов класса реализации;
☕️ Методы класса java.lang.Object нельзя переопределить как статические;
☕️ Статические методы в интерфейсе используются для обеспечения вспомогательных методов, например, проверки на null, сортировки коллекций и т.д.
☕️ Статические методы в интерфейсе являются частью интерфейса без возможности использовать их для объектов класса реализации;
☕️ Методы класса java.lang.Object нельзя переопределить как статические;
☕️ Статические методы в интерфейсе используются для обеспечения вспомогательных методов, например, проверки на null, сортировки коллекций и т.д.
#вопросы_с_собеседований
Какой оператор позволяет принудительно выбросить исключение?
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw:
throw new Exception();
#вопросы_с_собеседований
Чем отличаются методы Thread.sleep() и Thread.yield()?
Чем отличаются методы Thread.sleep() и Thread.yield()?
Метод yield() служит причиной того, что поток переходит из состояния работающий (running) в состояние работоспособный (runnable), давая возможность другим потокам активизироваться. Но следующий выбранный для запуска поток может и не быть другим.
Метод sleep() вызывает засыпание текущего потока на заданное время, состояние изменяется с работающий (running) на ожидающий (waiting).
Метод sleep() вызывает засыпание текущего потока на заданное время, состояние изменяется с работающий (running) на ожидающий (waiting).
#вопросы_с_собеседований
Чем интеграционное тестирование отличается от модульного?
Чем интеграционное тестирование отличается от модульного?
С технологической точки зрения интеграционное тестирование является количественным развитием модульного, поскольку так же, как и модульное тестирование, оперирует интерфейсами модулей и подсистем и требует создания тестового окружения, включая заглушки на месте отсутствующих модулей. Основная разница между модульным и интеграционным тестированием состоит в целях, то есть в типах обнаруживаемых дефектов, которые, в свою очередь, определяют стратегию выбора входных данных и методов анализа.
Допустим, есть класс, который при определенных условиях взаимодействует с web-сервисом через зависимый объект. И нам надо проверить, что определенный метод зависимого объекта действительно вызывается. Если в качестве зависимого класса передать:
☕️ реальный класс, работающий с web-сервисом, то это будет интеграционное тестирование.
☕️ заглушку, то это будет тестирование состояния.
☕️ шпиона, а в конце теста проверить, что определенный метод зависимого объекта действительно был вызван, то это будет тест взаимодействия.
Допустим, есть класс, который при определенных условиях взаимодействует с web-сервисом через зависимый объект. И нам надо проверить, что определенный метод зависимого объекта действительно вызывается. Если в качестве зависимого класса передать:
☕️ реальный класс, работающий с web-сервисом, то это будет интеграционное тестирование.
☕️ заглушку, то это будет тестирование состояния.
☕️ шпиона, а в конце теста проверить, что определенный метод зависимого объекта действительно был вызван, то это будет тест взаимодействия.
#вопросы_с_собеседований
Что такое «SQL»?
Что такое «SQL»?
Бесплатный webinar по docker'у. Обсудим:
- как задизайнить и развернуть в докере систему из БД и java микросервисов
- какие вопросы могут задать по докеру на собеседовании
- как упомянуть docker во время собеседования и получить оффер не отходя от ZOOM 😉
Присоединяйся
- как задизайнить и развернуть в докере систему из БД и java микросервисов
- какие вопросы могут задать по докеру на собеседовании
- как упомянуть docker во время собеседования и получить оффер не отходя от ZOOM 😉
Присоединяйся