Java Hiring Marathon, 30 ноября - 4 декабря
Сокращаем время от интервью до оффера в проект по разработке медицинских веб-порталов. Если ты пишешь на Java SE 11 и разбираешься в CI/CD, скорее выполняй тестовое задание и подключайся к онлайн-интервью с командой проекта. Мы подготовим интересное предложение и дадим обратную связь в день собеседования:
📌Задача проекта: мы разрабатываем медицинские веб-порталы для компании, которая занимается генетическим тестированием для ранней диагностики заболеваний. Наша задача - улучшить систему взаимодействия между пациентами и специалистами лабораторий и увеличить скорость предоставления результатов тестов пациентам за счет автоматизации всех процессов.
👬 Команда: опытные и талантливые frontend и backend разработчики, QA и test automation инженеры, UX/UI дизайнеры, менеджеры и аналитик. За год программа выросла с 7 до 40+ человек и продолжает расширяться.
🚀 Технологии: Java 11+, Spring, Kafka, React, Typescript, Scala, Python, React, Docker, AWS.
👍🏻 Особенности проекта: мы разрабатываем фичи, которые уже через 1-2 недели попадают в production, помогают лечить людей и спасать их жизни.
📍Ждем кандидатов из Н. Новгорода, Казани и других городов России (есть возможность удаленной работы).
🌟 Регистрируйся на сайте career.orioninc.ru/java-hiring-marathon.
Сокращаем время от интервью до оффера в проект по разработке медицинских веб-порталов. Если ты пишешь на Java SE 11 и разбираешься в CI/CD, скорее выполняй тестовое задание и подключайся к онлайн-интервью с командой проекта. Мы подготовим интересное предложение и дадим обратную связь в день собеседования:
📌Задача проекта: мы разрабатываем медицинские веб-порталы для компании, которая занимается генетическим тестированием для ранней диагностики заболеваний. Наша задача - улучшить систему взаимодействия между пациентами и специалистами лабораторий и увеличить скорость предоставления результатов тестов пациентам за счет автоматизации всех процессов.
👬 Команда: опытные и талантливые frontend и backend разработчики, QA и test automation инженеры, UX/UI дизайнеры, менеджеры и аналитик. За год программа выросла с 7 до 40+ человек и продолжает расширяться.
🚀 Технологии: Java 11+, Spring, Kafka, React, Typescript, Scala, Python, React, Docker, AWS.
👍🏻 Особенности проекта: мы разрабатываем фичи, которые уже через 1-2 недели попадают в production, помогают лечить людей и спасать их жизни.
📍Ждем кандидатов из Н. Новгорода, Казани и других городов России (есть возможность удаленной работы).
🌟 Регистрируйся на сайте career.orioninc.ru/java-hiring-marathon.
Чтобы не допустить автоматическую сериализацию можно переопределить private методы для создания исключительной ситуации NotSerializableException.
private void writeObject(ObjectOutputStream out) throws IOException {
throw new NotSerializableException();
}
private void readObject(ObjectInputStream in) throws IOException {
throw new NotSerializableException();
}
Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.
private void writeObject(ObjectOutputStream out) throws IOException {
throw new NotSerializableException();
}
private void readObject(ObjectInputStream in) throws IOException {
throw new NotSerializableException();
}
Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.
🖥🛠❓Брендовый неттоп vs самосборный мини-ПК: выбираем компьютер для программиста
Собрать компактный компьютер для программирования самому или взять готовый? Наш сравнительный обзор поможет выбрать. В него вошли восемнадцать неттопов и комплектующие для системника Mini ATX.
https://proglib.io/sh/C2ncqG1Vh9
Собрать компактный компьютер для программирования самому или взять готовый? Наш сравнительный обзор поможет выбрать. В него вошли восемнадцать неттопов и комплектующие для системника Mini ATX.
https://proglib.io/sh/C2ncqG1Vh9
Как научиться правильно разрабатывать и запускать приложения в K8s? Есть несколько путей, но, пожалуй, самый быстрый — это пройти трёхдневный онлайн-интенсив «Kubernetes для разработчиков» от Слёрм.
Чем ещё хорош этот путь?
– Материал курса основан на практическом опыте. Учим тому, что делаем на своих проектах.
– Никаких админских штучек и историй про обслуживание кластера. Только инструментарий и знания, которые требуются разработчикам.
– Никто не уйдёт без результата. Спикеры и техподдержка помогут каждому студенту справиться с заданиями.
Интенсив стартует 3 марта. Сейчас можно записаться по минимальной цене – 20 000 рублей.
Посмотреть программу и подать заявку.
Чем ещё хорош этот путь?
– Материал курса основан на практическом опыте. Учим тому, что делаем на своих проектах.
– Никаких админских штучек и историй про обслуживание кластера. Только инструментарий и знания, которые требуются разработчикам.
– Никто не уйдёт без результата. Спикеры и техподдержка помогут каждому студенту справиться с заданиями.
Интенсив стартует 3 марта. Сейчас можно записаться по минимальной цене – 20 000 рублей.
Посмотреть программу и подать заявку.
❹ ❌👨🎓4 мифа о профессии программиста, в которые вы почему-то еще верите
В этой статье эксперты SkillFactory опровергают расхожие мифы о профессии программиста и подсказывают, что делать дальше.
https://proglib.io/sh/TSlahZCnF7
В этой статье эксперты SkillFactory опровергают расхожие мифы о профессии программиста и подсказывают, что делать дальше.
https://proglib.io/sh/TSlahZCnF7
Напиши свою первую программу💻 на одном из самых востребованных языков программирования — Java. Занятия бесплатные, а опыт, который ты получишь, поможет понять, в каком направлении двигаться дальше.
Регистрация займёт меньше минуты: 👉 https://clc.to/L73zJQ
🔥 Углубишь знания о Java.
🔥 Попрактикуешься в разработке и создашь первый проект — программу для мониторинга рабочего стола.
🔥 Узнаешь о базовых инструментах, которые применяют программисты.
🔥 Сможешь общаться с преподавателем интенсива и другими участниками в закрытом чате в Telegram.
☝️ 3 дня тебя будет обучать профи в своём деле, директор центра SymbioWay, который уже более 15 лет работает в сфере Java и веб-разработки и находит IT-специалистов для крупнейших компаний России — Даниил Пилипенко.
⭐️ Пройди бесплатный онлайн-интенсив с 30 ноября по 2 декабря в 19:00 по московскому времени. Попади в тройку лучших участников и получи сертификат на 30 000 рублей для обучения в Skillbox!
Регистрация займёт меньше минуты: 👉 https://clc.to/L73zJQ
🔥 Углубишь знания о Java.
🔥 Попрактикуешься в разработке и создашь первый проект — программу для мониторинга рабочего стола.
🔥 Узнаешь о базовых инструментах, которые применяют программисты.
🔥 Сможешь общаться с преподавателем интенсива и другими участниками в закрытом чате в Telegram.
☝️ 3 дня тебя будет обучать профи в своём деле, директор центра SymbioWay, который уже более 15 лет работает в сфере Java и веб-разработки и находит IT-специалистов для крупнейших компаний России — Даниил Пилипенко.
⭐️ Пройди бесплатный онлайн-интенсив с 30 ноября по 2 декабря в 19:00 по московскому времени. Попади в тройку лучших участников и получи сертификат на 30 000 рублей для обучения в Skillbox!
#вопросы_с_собеседований
В чем разница между PrintWriter и ServletOutputStream?
В чем разница между PrintWriter и ServletOutputStream?
📌 Линейная алгебра для начинающих с примерами. Лекция преподавателя МГУ
Линейная алгебра: матрицы и операции над ними. Системы линейных уравнений — исследование и решение, метод Гаусса, геометрический подход.
https://youtu.be/ojJG1Kjy8tM
Присоединяйтесь к полному курсу по ссылке.
Линейная алгебра: матрицы и операции над ними. Системы линейных уравнений — исследование и решение, метод Гаусса, геометрический подход.
https://youtu.be/ojJG1Kjy8tM
Присоединяйтесь к полному курсу по ссылке.
YouTube
Линейная алгебра для начинающих с примерами. Лекция преподавателя МГУ
Линейная алгебра: матрицы и операции над ними. Системы линейных уравнений — исследование и решение, метод Гаусса, геометрический подход
Сайт издания «Библиотека программиста» — https://proglib.io
Оставить заявку на курс «Математика для Data Science» можно…
Сайт издания «Библиотека программиста» — https://proglib.io
Оставить заявку на курс «Математика для Data Science» можно…
PrintWriter — класс для работы с символьным потоком, экземпляр которого можно получить через метод ServletResponse getWriter();
ServletOutputStream — класс для работы байтовым потоком. Для получения его экземпляра используется метод ServletResponse getOutputStream().
ServletOutputStream — класс для работы байтовым потоком. Для получения его экземпляра используется метод ServletResponse getOutputStream().
#вопросы_с_собеседований
В каких состояниях может находиться поток?
В каких состояниях может находиться поток?
Потоки могут находиться в одном из следующих состояний:
Новый (New). После создания экземпляра потока, он находится в состоянии Новый до тех пор, пока не вызван метод start(). В этом состоянии поток не считается живым.
Работоспособный (Runnable). Поток переходит в состояние Работоспособный, когда вызывается метод start(). Поток может перейти в это состояние также из состояния Работающий или из состояния Блокирован. Когда поток находится в этом состоянии, он считается живым.
Работающий (Running). Поток переходит из состояния Работоспособный в состояние Работающий, когда Планировщик потоков выбирает его как работающий в данный момент.
Живой, но не работоспособный (Alive, but not runnable). Поток может быть живым, но не работоспособным по нескольким причинам:
Ожидание (Waiting). Поток переходит в состояние Ожидания, вызывая метод wait(). Вызов notify() или notifyAll() может перевести поток из состояния Ожидания в состояние Работоспособный.
Сон (Sleeping). Метод sleep() переводит поток в состояние Сна на заданный промежуток времени в миллисекундах.
Блокировка (Blocked). Поток может перейти в это состояние, в ожидании ресурса, такого как ввод/вывод или из-за блокировки другого объекта. В этом случае поток переходит в состояние Работоспособный, когда ресурс становится доступен.
Мёртвый (Dead). Поток считается мёртвым, когда его метод run() полностью выполнен. Мёртвый поток не может перейти ни в какое другое состояние, даже если для него вызван метод start().
Новый (New). После создания экземпляра потока, он находится в состоянии Новый до тех пор, пока не вызван метод start(). В этом состоянии поток не считается живым.
Работоспособный (Runnable). Поток переходит в состояние Работоспособный, когда вызывается метод start(). Поток может перейти в это состояние также из состояния Работающий или из состояния Блокирован. Когда поток находится в этом состоянии, он считается живым.
Работающий (Running). Поток переходит из состояния Работоспособный в состояние Работающий, когда Планировщик потоков выбирает его как работающий в данный момент.
Живой, но не работоспособный (Alive, but not runnable). Поток может быть живым, но не работоспособным по нескольким причинам:
Ожидание (Waiting). Поток переходит в состояние Ожидания, вызывая метод wait(). Вызов notify() или notifyAll() может перевести поток из состояния Ожидания в состояние Работоспособный.
Сон (Sleeping). Метод sleep() переводит поток в состояние Сна на заданный промежуток времени в миллисекундах.
Блокировка (Blocked). Поток может перейти в это состояние, в ожидании ресурса, такого как ввод/вывод или из-за блокировки другого объекта. В этом случае поток переходит в состояние Работоспособный, когда ресурс становится доступен.
Мёртвый (Dead). Поток считается мёртвым, когда его метод run() полностью выполнен. Мёртвый поток не может перейти ни в какое другое состояние, даже если для него вызван метод start().
#вопросы_с_собеседований
Назовите основные характеристики шаблонов.
Назовите основные характеристики шаблонов.
Имя - все шаблоны имеют уникальное имя, служащее для их идентификации;
Назначение данного шаблона;
Задача - задача, которую шаблон позволяет решить;
Способ решения - способ, предлагаемый в шаблоне для решения задачи в том контексте, где этот шаблон был найден;
Участники - сущности, принимающие участие в решении задачи;
Следствия - последствия от использования шаблона как результат действий, выполняемых в шаблоне;
Реализация - возможный вариант реализации шаблона.
Назначение данного шаблона;
Задача - задача, которую шаблон позволяет решить;
Способ решения - способ, предлагаемый в шаблоне для решения задачи в том контексте, где этот шаблон был найден;
Участники - сущности, принимающие участие в решении задачи;
Следствия - последствия от использования шаблона как результат действий, выполняемых в шаблоне;
Реализация - возможный вариант реализации шаблона.
#вопросы_с_собеседований
Какие типы классов бывают в java?
Какие типы классов бывают в java?
☕️ Top level class (Обычный класс):
Abstract class (Абстрактный класс);
Final class (Финализированный класс).
☕️ Interfaces (Интерфейс).
☕️ Enum (Перечисление).
☕️ Nested class (Вложенный класс):
Static nested class (Статический вложенный класс);
Member inner class (Простой внутренний класс);
Local inner class (Локальный класс);
Anonymous inner class (Анонимный класс).
Abstract class (Абстрактный класс);
Final class (Финализированный класс).
☕️ Interfaces (Интерфейс).
☕️ Enum (Перечисление).
☕️ Nested class (Вложенный класс):
Static nested class (Статический вложенный класс);
Member inner class (Простой внутренний класс);
Local inner class (Локальный класс);
Anonymous inner class (Анонимный класс).
#вопросы_с_собеседований
В чем разница между HashMap и WeakHashMap? Для чего используется WeakHashMap?
В чем разница между HashMap и WeakHashMap? Для чего используется WeakHashMap?
В Java существует 4 типа ссылок: сильные (strong reference), мягкие (SoftReference), слабые (WeakReference) и фантомные (PhantomReference). Особенности каждого типа ссылок связаны с работой Garbage Collector. Если объект можно достичь только с помощью цепочки WeakReference (то есть на него отсутствуют сильные и мягкие ссылки), то данный объект будет помечен на удаление.
WeakHashMap - это структура данных, реализующая интерфейс Map и основанная на использовании WeakReference для хранения ключей. Таким образом, пара «ключ-значение» будет удалена из WeakHashMap, если на объект-ключ более не имеется сильных ссылок.
В качестве примера использования такой структуры данных можно привести следующую ситуацию: допустим имеются объекты, которые необходимо расширить дополнительной информацией, при этом изменение класса этих объектов нежелательно либо невозможно. В этом случае добавляем каждый объект в WeakHashMap в качестве ключа, а в качестве значения - нужную информацию. Таким образом, пока на объект имеется сильная ссылка (либо мягкая), можно проверять хэш-таблицу и извлекать информацию. Как только объект будет удален, то WeakReference для этого ключа будет помещен в ReferenceQueue и затем соответствующая запись для этой слабой ссылки будет удалена из WeakHashMap.
WeakHashMap - это структура данных, реализующая интерфейс Map и основанная на использовании WeakReference для хранения ключей. Таким образом, пара «ключ-значение» будет удалена из WeakHashMap, если на объект-ключ более не имеется сильных ссылок.
В качестве примера использования такой структуры данных можно привести следующую ситуацию: допустим имеются объекты, которые необходимо расширить дополнительной информацией, при этом изменение класса этих объектов нежелательно либо невозможно. В этом случае добавляем каждый объект в WeakHashMap в качестве ключа, а в качестве значения - нужную информацию. Таким образом, пока на объект имеется сильная ссылка (либо мягкая), можно проверять хэш-таблицу и извлекать информацию. Как только объект будет удален, то WeakReference для этого ключа будет помещен в ReferenceQueue и затем соответствующая запись для этой слабой ссылки будет удалена из WeakHashMap.
#вопросы_с_собеседований
Даны 3 потока: Т1, Т2 и Т3. Как реализовать выполнение в последовательности Т1, Т2, Т3?
Даны 3 потока: Т1, Т2 и Т3. Как реализовать выполнение в последовательности Т1, Т2, Т3?
Декабрьский интенсив по SRE🦎
Формат: онлайн-интенсив (Zoom, записи занятий, git, стенды для практики, техподдержка и помощь спикеров).
На интенсиве разбираем SRE-подход к разработке и эксплуатации высоконагруженного сайта:
✔️будем настраивать и поддерживать сайт из нескольких микросервисов.
✔️сформулируем показатели SLO, SLI, SLA, разработаем архитектуру и инфраструктуру, соберем, протестируем и задеплоим сайт, настроим мониторинг и алертинг.
✔️определим причины ухудшения SLO, разберем устойчивость, error budget, практику тестирования, управление прерываниями и операционной нагрузкой.
✔️проработаем порядок действий в случае аварии.
✔️примем решения по дальнейшему предотвращению инцидентов.
Дата интенсива: 11–13 декабря 2020
Программа и регистрация на сайте - https://slurm.club/2HOUErw
Формат: онлайн-интенсив (Zoom, записи занятий, git, стенды для практики, техподдержка и помощь спикеров).
На интенсиве разбираем SRE-подход к разработке и эксплуатации высоконагруженного сайта:
✔️будем настраивать и поддерживать сайт из нескольких микросервисов.
✔️сформулируем показатели SLO, SLI, SLA, разработаем архитектуру и инфраструктуру, соберем, протестируем и задеплоим сайт, настроим мониторинг и алертинг.
✔️определим причины ухудшения SLO, разберем устойчивость, error budget, практику тестирования, управление прерываниями и операционной нагрузкой.
✔️проработаем порядок действий в случае аварии.
✔️примем решения по дальнейшему предотвращению инцидентов.
Дата интенсива: 11–13 декабря 2020
Программа и регистрация на сайте - https://slurm.club/2HOUErw
❓ Можно ли заменить настольный компьютер на Raspberry Pi 4?
В этой статье познакомимся с Raspberry Pi 4 и ответим на вопрос, сможет ли «Малина» заменить десктоп. Спойлер: на 90% – нет.
https://proglib.io/sh/WEJoq7CyFV
В этой статье познакомимся с Raspberry Pi 4 и ответим на вопрос, сможет ли «Малина» заменить десктоп. Спойлер: на 90% – нет.
https://proglib.io/sh/WEJoq7CyFV