Обложка канала

Библиотека джависта. Страница 62

20804 @javaproglib

Полезные материалы по всему, что может быть полезно разработчику на Java.

  • Библиотека джависта

    Хочешь начать карьеру Java-разработчика, а платить только за результат, то есть после трудоустройства в IT? Это возможно на программе по Java от Kata Academy. Платить ничего не нужно, вплоть до трудоустройства, только после выхода на работу — оплата из фактической зарплаты разработчика. Поэтому задача академии выпустить сильно специалиста, чтобы уже первая зарплата была минимум от 100 тысяч рублей. Как устроено обучение, чтобы ты гарантированно нашел работу в IT? - Интенсивно: по 25 часов в неделю. - Изучение востребованного стека технологий у бизнеса: Java Core, Maven, Git, Tomcat, Spring MVC, Core, Security, Hibernate - Работа над реальным проектом в команде + опыт для резюме. - Поддержка и контроль от ментора — действующего разработчика. - Сильное сообщество студентов, которое всегда приходит на помощь. - Программа карьерной поддержки на 24 месяца. Чтобы попасть на ближайший, поток по Java в Kata Academy пройди тестовое задание до 18 апреля. Записывайся здесь: https://clck.ru/eYSXU
  • Библиотека джависта

    👔 Senior Java Dev ⛳️ СберМаркет 💼🥁 Удаленка\офис Мск\гибрид — выбирай 💵 от 300 т.р. на руки Делаем Core Services в eCom. Давай с нами строить платформу для продуктовых команд! У нас нет легаси, можно хорошо прокачаться в kubernetes и service mesh, много инженерных и инфраструктурных проектов. Примеры задач: делать аутентификации, авторизации, отправки смс, пушей, email, подписок через API. Все это на микросервисной распределенной архитектуре на Java. СберМаркет был создан на основе стартапа Instamart, присоединившегося к экосистеме Сбера в 2019 годe. Важно, что с одной стороны у нас есть стабильность экосистемы, а с другой — мы отдельная компания со своими процессами, командами, корп культурой и инфраструктурой. В Tech-команде сейчас 650+ человек, за 2021 год мы стали сервисом №1 в e-grocery, хотим укрепиться на этой позиции, и твоя работа поможет достичь эту амбициозную цель. Подробности по ссылке 🛒Пиши @aurecruit и рекомендуй знакомых
    Senior Java разработчик в команду базовых сервисов

    СберМаркет - сервис по доставке товаров из магазинов. Мы помогаем людям экономить время, энергию и деньги для чего более важного.

    sbermarket on Notion
  • Библиотека джависта

    #вопросы_с_собеседований В чем заключаются различия между cтеком (stack) и кучей (heap) с точки зрения многопоточности? Cтек – участок памяти, тесно связанный с потоками. У каждого потока есть свой стек, которые хранит локальные переменные, параметры методов и стек вызовов. Переменная, хранящаяся в стеке одного потока, не видна для другого. Куча – общий участок памяти, который делится между всеми потоками. Объекты, неважно локальные или любого другого уровня, создаются в куче. Для улучшения производительности, поток обычно кэширует значения из кучи в свой стек, в этом случае для того, чтобы указать потоку, что переменную следует читать из кучи, используется ключевое слово volatile.
  • Реклама

  • Библиотека джависта

    Для чего используется оператор assert? Assert (Утверждение) — это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы. Утверждение может автоматически сигнализировать об обнаружении некорректных данных, что обычно приводит к аварийному завершению программы с указанием места обнаружения некорректных данных. Утверждения существенно упрощают локализацию ошибок в коде. Даже проверка результатов выполнения очевидного кода может оказаться полезной при последующем рефакторинге, после которого код может стать не настолько очевидным и в него может закрасться ошибка. Обычно утверждения оставляют включенными во время разработки и тестирования программ, но отключают в релиз-версиях программ. Т.к. утверждения могут быть удалены на этапе компиляции либо во время исполнения программы, они не должны менять поведение программы. Если в результате удаления утверждения поведение программы может измениться, то это явный признак неправильного использования assert. Таким образом, внутри assert нельзя вызывать методы, изменяющие состояние программы, либо внешнего окружения программы. В Java проверка утверждений реализована с помощью оператора assert, который имеет форму:
     [Выражение типа boolean]; 
    
    или
     assert [Выражение типа boolean] : [Выражение любого типа, кроме void];
    
    
    Во время выполнения программы в том случае, если поверка утверждений включена, вычисляется значение булевского выражения, и если его результат false, то генерируется исключение java.lang.AssertionError. В случае использования второй формы оператора assert выражение после двоеточия задаёт детальное сообщение о произошедшей ошибке (вычисленное выражение будет преобразовано в строку и передано конструктору AssertionError).
  • Библиотека джависта

    Становимся гуру Кафки! Бэкенд-разработчик рано или поздно столкнется с Кафкой. Обучение поможет встретиться с ней как со старым другом, а не встречным автомобилем. 20 мая нас ждёт интенсив «Кафка для разработчиков». Начинаем с основ, забираемся в самые недра! Программа: 1. Введение 2. Определение терминов 3. Архитектура Кафки 4. Основы использования Кафки 5. Алгоритмы на Кафке 6. Транзакции с использованием Кафки 7. Событийно-ориентированная архитектура 8. Изнасилование Кафки (Kafka как база данных) Будем использовать Golang и Java. Всё удовольствие стоит 60 000 ₽. Записаться: https://slurm.club/3uyqU6p
  • Библиотека джависта

    Почему нельзя соглашаться на тестовый кодинг во время собеседования Собеседования по программной инженерии часто включают в себя какое-то тестовое задание по программированию, и это не очень хорошо. Объясним, почему. https://proglib.io/sh/2kaXGotdi0
  • Библиотека джависта

    🔥 Мы не жизнь, мы к такому готовим 🔥 📌 Экзамен Oracle Java Programmer — это 70 сложных задач за 2,5 часа. Чтобы его сдать, нужно изучать Java не вширь, а вглубь. Такую мощную подготовку дает онлайн-курс «Подготовка к сертификации Oracle Java Programmer (OCAJP)» от OTUS. 🚀 Преподаватели курса уже получили это почетное звание и готовы поделиться своими знаниями и опытом. За 5 месяцев вы разберете все темы и попрактикуетесь решать задачи, как на экзамене. Обучение придаст вам уверенности в своей компетентности. 👉 Пройдите вступительный тест, чтобы оценить свой уровень подготовки и занять место в группе по спец.цене https://otus.pw/MGy7/
  • Библиотека джависта

    #вопросы_с_собеседований Что такое «сервлет»? Сервлет является интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах 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() выполняется перед выгрузкой сервлета из памяти.
  • Библиотека джависта

    👋 Мы — команда айтишников. В текущих условиях компания не может работать как работала, и мы решили переехать всей командой. 💬 Создали канал для таких же, как мы, — тех, кто хочет уехать. Собираем всё самое полезное про релокацию. Рассказываем, с чем столкнулись сами, ищем лайфхаки и способы похачить систему (например, нашли несколько способов, как жить за границей на рубли). Присоединяйся и узнаешь, как сделать так, чтобы твой котик не остался за бортом самолёта😉
  • Библиотека джависта

    #вопросы_с_собеседований Как работают методы wait() и notify()/notifyAll()? Эти методы определены у класса Object и предназначены для взаимодействия потоков между собой при межпоточной синхронизации. ☕️ wait(): освобождает монитор и переводит вызывающий поток в состояние ожидания до тех пор, пока другой поток не вызовет метод notify()/notifyAll(); ☕️ notify(): продолжает работу потока, у которого ранее был вызван метод wait(); ☕️ notifyAll(): возобновляет работу всех потоков, у которых ранее был вызван метод wait(). Когда вызван метод wait(), поток освобождает блокировку на объекте и переходит из состояния Работающий (Running) в состояние Ожидания (Waiting). Метод notify() подаёт сигнал одному из потоков, ожидающих на объекте, чтобы перейти в состояние Работоспособный (Runnable). При этом невозможно определить, какой из ожидающих потоков должен стать работоспособным. Метод notifyAll() заставляет все ожидающие потоки для объекта вернуться в состояние Работоспособный (Runnable). Если ни один поток не находится в ожидании на методе wait(), то при вызове notify() или notifyAll() ничего не происходит. Поток может вызвать методы wait() или notify() для определённого объекта, только если он в данный момент имеет блокировку на этот объект. wait(), notify() и notifyAll() должны вызываться только из синхронизированного кода.
  • Библиотека джависта

    ☸️ Для инфраструктурных инженеров и разработчиков одна из точек роста — умение строить инфраструктурную платформу на основе Kubernetes. Сейчас этим контейнерным оркестратором пользуется огромное количество компаний, но разобраться в его экосистеме и построить инфраструктурную платформу — задача не простая. Специалист с такими навыками может претендовать на зарплату до 300 тыс. рублей. К такому подготовит онлайн-курс OTUS. 🤘🏻 На нем за 5 месяцев вы научитесь управлять вычислительными и сетевыми ресурсами, настраивать CI/CD, разберетесь с хранилищами артефактов, системами мониторинга и прочими сервисами. С поддержкой экспертов вы по шагам создадите MVP платформы для своего проекта. 👉🏻 Пройдите вступительный тест и получите запись demo-уроков, доступ к закрытому сообществу выпускников и преподавателей курса https://otus.pw/aKtJ/
  • Библиотека джависта

    #вопросы_с_собеседований Расскажите про основные понятия ООП: «класс», «объект», «интерфейс». Класс – это способ описания сущности, определяющий состояние и поведение, зависящее от этого состояния, а также правила для взаимодействия с данной сущностью (контракт). С точки зрения программирования класс можно рассматривать как набор данных (полей, атрибутов, членов класса) и функций для работы с ними (методов). С точки зрения структуры программы класс является сложным типом данных. Объект (экземпляр) – это отдельный представитель класса, имеющий конкретное состояние и поведение, полностью определяемое классом. Каждый объект имеет конкретные значения атрибутов и методы, работающие с этими значениями на основе правил, заданных в классе. Интерфейс – это набор методов класса, доступных для использования. Интерфейсом класса будет являться набор всех его публичных методов в совокупности с набором публичных атрибутов. По сути, интерфейс специфицирует класс, чётко определяя все возможные действия над ним.
  • Библиотека джависта

    #вопросы_с_собеседований Каким образом из вложенного класса получить доступ к полю внешнего класса? Статический вложенный класс имеет прямой доступ только к статическим полям обрамляющего класса. Простой внутренний класс, может обратиться к любому полю внешнего класса напрямую. В случае, если у вложенного класса уже существует поле с таким же литералом, то обращаться к такому полю следует через ссылку на его экземпляр. Например: Outer.this.field.
  • Библиотека джависта

    Освойте бэкенд-разработку на Java за 10 месяцев! Профессия для тех, кто настроен серьезно: https://bit.ly/32zyTpZ Научим: ✔️Писать код на Java ✔️Использовать фреймворки Javalin, Spring ✔️Применять принципы ООП ✔️Работать с базами данным, SQL ✔️Настраивать окружение: IDEA, Gradle/Maven, JDK ✔️Пользоваться командной строкой и Git Поможем: ✔️Наработать практику — вы сделаете 5 проектов на GitHub ✔️Грамотно оформить резюме ✔️Подготовиться к собеседованиям А еще порекомендуем в хорошие компании и познакомим с сообществом из 26 тысяч айтишников. Присоединяйтесь!
  • Библиотека джависта

    Приходи на бесплатный курс «Golang разработчик», изучи новый язык за 3 месяца и получи оффер в #CloudMTS! В чем преимущество курса? Курс бесплатный и включает обучение не только Golang, но и работе с базами данных, брокерами сообщений, k8s/docker, новым фичам в Go, включая дженерики. По результатам обучения у тебя будет возможность попасть в команду разработки #CloudMTS, т.к. курс заточен под потребности компании. Что такое CloudMTS? CloudMTS – это облачный провайдер с собственными магистральными каналами связи. Команда проектирует инфраструктурные службы облака и строит биллинг. Вся разработка ведётся на Golang. Как попасть на курс? Кандидатам нужно наличие опыта коммерческой разработки от полугода, а также пройти отборочные на знание синтаксиса и базовых конструкций Go, основ работы с базами данных и брокерами сообщений. Подать заявку можно до 11 апреля 2022 года, обучение стартует 11 мая. Как получить оффер? После успешного окончания курса вас ждет собеседование с CloudMTS, к которому вы подготовитесь на курсе. Регистрируйся на курс тут.
  • Реклама

  • Библиотека джависта

    #вопросы_с_собеседований Что такое «анонимные классы»? Где они применяются? Это вложенный локальный класс без имени, который разрешено декларировать в любом месте обрамляющего класса, разрешающем размещение выражений. Создание экземпляра анонимного класса происходит одновременно с его объявлением. В зависимости от местоположения анонимный класс ведет себя как статический либо как нестатический вложенный класс - в нестатическом контексте появляется окружающий его экземпляр. Анонимные классы имеют несколько ограничений: • Их использование разрешено только в одном месте программы - месте его создания; • Применение возможно только в том случае, если после порождения экземпляра нет необходимости на него ссылаться; • Реализует лишь методы своего интерфейса или суперкласса, т.е. не может объявлять каких-либо новых методов, так как для доступа к ним нет поименованного типа. Анонимные классы обычно применяются для: • создания объекта функции (function object), например, реализация интерфейса Comparator; • создания объекта процесса (process object), такого как экземпляры классов Thread, Runnable и подобных; • в статическом методе генерации; • инициализации открытого статического поля final, которое соответствует сложному перечислению типов, когда для каждого экземпляра в перечислении требуется отдельный подкласс.
  • Библиотека джависта

    9 апреля Почтатех проведёт One day offer. Ищут специалистов с опытом в Java-разработке от трёх лет, чтобы одним днём предложить крутую работу. Все пройдёт онлайн: • до 3 апреля включительно — приём заявок; • 4–8 апреля — предварительный этап со скринингом и HR-интервью; • 9 апреля — техническое интервью, знакомство с командой и оффер. Если ты хочешь делать продукты Почты России, которыми пользуется вся страна, хочешь влиять на жизни миллионов пользователей и готов к сложным задачам, скорее подавай заявку: https://clck.ru/dniKc
  • Библиотека джависта

    Привет! Это Рома, руководитель Java-разработки ЦВТ. Приходи к нему в команду, чтобы делать продукт с миллионами пользователей и петабайтами данных для самой дорогой компании Рунета. Удаленно или в офисе. Откликайся на HH.ru