📝👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
Рассказываем, какие бывают тесты на собеседованиях, а главное – как и где к ним подготовиться, чтобы точно получить работу в компании мечты.
А вы проваливали тестирование при трудоустройстве? Пишите свои истории в комментариях👇
🔗Основной сайт
🔗Зеркало
Рассказываем, какие бывают тесты на собеседованиях, а главное – как и где к ним подготовиться, чтобы точно получить работу в компании мечты.
А вы проваливали тестирование при трудоустройстве? Пишите свои истории в комментариях👇
🔗Основной сайт
🔗Зеркало
И никакая intelliJ IDEA не нужна.
#memes
#memes
Получение информации о пользователе - Spring Security в деталях
В этом ролике автор рассказывает о способах получения доступа к данным аутентифицированного пользователя.
https://youtu.be/s8bYcNAeWbc
В этом ролике автор рассказывает о способах получения доступа к данным аутентифицированного пользователя.
https://youtu.be/s8bYcNAeWbc
#вопросы_с_собеседований
Какие побитовые операции вы знаете?
•
•
•
•
•
•
•
•
•
•
•
•
•
Какие побитовые операции вы знаете?
•
~
: Побитовый унарный оператор NOT;•
&
: Побитовый AND;•
&=
: Побитовый AND с присваиванием;•
|
: Побитовый OR;•
|=
: Побитовый OR с присваиванием;•
^
: Побитовый исключающее XOR;•
^=
: Побитовый исключающее XOR с присваиванием;•
>>
: Сдвиг вправо (деление на 2 в степени сдвига);•
>>=
: Сдвиг вправо с присваиванием;•
>>>
: Сдвиг вправо без учёта знака;•
>>>=
: Сдвиг вправо без учёта знака с присваиванием;•
<<
: Сдвиг влево (умножение на 2 в степени сдвига);•
<<=
: Сдвиг влево с присваиванием.#вопросы_с_собеседований
Чем отличаются методы Thread.sleep() и Thread.yield()?
Метод yield() служит причиной того, что поток переходит из состояния работающий (running) в состояние работоспособный (runnable), давая возможность другим потокам активизироваться. Но следующий выбранный для запуска поток может и не быть другим.
Метод sleep() вызывает засыпание текущего потока на заданное время, состояние изменяется с работающий (running) на ожидающий (waiting).
Чем отличаются методы Thread.sleep() и Thread.yield()?
Метод yield() служит причиной того, что поток переходит из состояния работающий (running) в состояние работоспособный (runnable), давая возможность другим потокам активизироваться. Но следующий выбранный для запуска поток может и не быть другим.
Метод sleep() вызывает засыпание текущего потока на заданное время, состояние изменяется с работающий (running) на ожидающий (waiting).
#вопросы_с_собеседований
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw:
throw new Exception();
Какой оператор позволяет принудительно выбросить исключение?
🏗 7 архитектурных паттернов, которые должен знать каждый программист
Рассмотрим семь ключевых архитектурных паттернов, которые могут помочь вам выделиться среди соискателей и получить работу мечты.
https://proglib.io/sh/aMZjqlAcr3
Рассмотрим семь ключевых архитектурных паттернов, которые могут помочь вам выделиться среди соискателей и получить работу мечты.
https://proglib.io/sh/aMZjqlAcr3
Забывали про важный дедлайн — было или не было?
Расскажите в комментариях ⬇️
Расскажите в комментариях ⬇️
👩💻 Точки входа аутентификации - Spring Security в деталях
Безопасность - важнейшая часть любого приложения, и Spring Security позволяет быстро и эффективно настраивать уровни доступа и точки входа в приложения. Именно об этом и пойдет речь в видео.
https://youtu.be/5eSHYKhl7mQ
Безопасность - важнейшая часть любого приложения, и Spring Security позволяет быстро и эффективно настраивать уровни доступа и точки входа в приложения. Именно об этом и пойдет речь в видео.
https://youtu.be/5eSHYKhl7mQ
YouTube
Точки входа аутентификации - Spring Security в деталях
В этом ролике я рассказываю о точках входа аутентификации
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://yangx.top/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Boosty: ht…
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://yangx.top/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Boosty: ht…
Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?
• В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
• Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
• Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8) default - методами с реализацией по-умолчанию, а поля - public static final.
• Интерфейсы позволяют создавать структуры типов без иерархии.
• Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
• В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
• Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
• Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8) default - методами с реализацией по-умолчанию, а поля - public static final.
• Интерфейсы позволяют создавать структуры типов без иерархии.
• Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
👩💻 Источники информации о пользователях - Spring Security в деталях
В этом ролике автор рассказывает об источниках информации о пользователях, способе реализации такого источника при помощи JDBC и его использовании.
Смотреть видео
В этом ролике автор рассказывает об источниках информации о пользователях, способе реализации такого источника при помощи JDBC и его использовании.
Смотреть видео
Собеседование на позицию Java dev
Очень недооценённый формат — запись интервью с разбором вопросов: слушаешь вопрос, пытаешься ответить сам, сравниваешь с ответом собеседуемого и сразу же узнаешь правильный ответ. Класс!
Смотреть видео
Очень недооценённый формат — запись интервью с разбором вопросов: слушаешь вопрос, пытаешься ответить сам, сравниваешь с ответом собеседуемого и сразу же узнаешь правильный ответ. Класс!
Смотреть видео
Чем вам нравится программирование?
Расскажите в комментариях ⬇️
Расскажите в комментариях ⬇️
Узнаем точную дату с помощью Java
Здесь мы сначала получаем текущую дату через метод LocalDate.now(), затем вычитаем из нее заданное количество дней методом minusDays(), получая дату в прошлом.
Затем создаем объект класса DateTimeFormatter, который позволяет задать формат выводимой даты (в данном случае "dd.MM.yyyy"). И наконец, форматируем дату методом format() и выводим результат на экран.
Здесь мы сначала получаем текущую дату через метод LocalDate.now(), затем вычитаем из нее заданное количество дней методом minusDays(), получая дату в прошлом.
Затем создаем объект класса DateTimeFormatter, который позволяет задать формат выводимой даты (в данном случае "dd.MM.yyyy"). И наконец, форматируем дату методом format() и выводим результат на экран.
Собрали 5 лучших вузов для программистов в 2023-2024 📚
1. Университет Иннополис
Есть возможность получения 100% гранта, 100% трудоустройство выпускников.
Средний проходной балл ЕГЭ (2022): 99,0 (бюджет)
Стоимость платного обучения: от 800 000 рублей в год
2. Московский физико–технический институт
Есть собственная система подготовки, совмещающая обучение студентов с их практикой в компаниях–партнерах университета.
Средний проходной балл ЕГЭ (2022): 97,1 (бюджет) и 93,8 (контракт)
Стоимость платного обучения: от 389 000 рублей в год
3. Национальный исследовательский университет «Высшая школа экономики»
Используют модель Major–Minor, что позволяет составить индивидуальный план обучения для каждого студента.
Средний проходной балл ЕГЭ (2022): 95,1 (бюджет) и 83,9 (контракт)
Стоимость платного обучения: от 320 000 рублей в год
4. Национальный исследовательский университет ИТМО
В ИТМО используются специализированные акселераторы, бизнес-инкубатор и Инжиниринговый центр «M2M телемеханика и приборостроение».
Средний проходной балл ЕГЭ (2022): 93,7 (бюджет) и 78,1 (контракт)
Стоимость платного обучения: от 289 000 рублей в год
5. Национальный исследовательский ядерный университет «МИФИ»
Сотрудничают с международными компаниями, устраивают стажировки за рубежом.
Средний проходной балл ЕГЭ (2022): 91,4 (бюджет) и 77,0 (контракт)
Стоимость платного обучения: от 80 400 рублей в год
➡️Полную подборку из 33 вузов можно почитать тут (зеркало).
1. Университет Иннополис
Есть возможность получения 100% гранта, 100% трудоустройство выпускников.
Средний проходной балл ЕГЭ (2022): 99,0 (бюджет)
Стоимость платного обучения: от 800 000 рублей в год
2. Московский физико–технический институт
Есть собственная система подготовки, совмещающая обучение студентов с их практикой в компаниях–партнерах университета.
Средний проходной балл ЕГЭ (2022): 97,1 (бюджет) и 93,8 (контракт)
Стоимость платного обучения: от 389 000 рублей в год
3. Национальный исследовательский университет «Высшая школа экономики»
Используют модель Major–Minor, что позволяет составить индивидуальный план обучения для каждого студента.
Средний проходной балл ЕГЭ (2022): 95,1 (бюджет) и 83,9 (контракт)
Стоимость платного обучения: от 320 000 рублей в год
4. Национальный исследовательский университет ИТМО
В ИТМО используются специализированные акселераторы, бизнес-инкубатор и Инжиниринговый центр «M2M телемеханика и приборостроение».
Средний проходной балл ЕГЭ (2022): 93,7 (бюджет) и 78,1 (контракт)
Стоимость платного обучения: от 289 000 рублей в год
5. Национальный исследовательский ядерный университет «МИФИ»
Сотрудничают с международными компаниями, устраивают стажировки за рубежом.
Средний проходной балл ЕГЭ (2022): 91,4 (бюджет) и 77,0 (контракт)
Стоимость платного обучения: от 80 400 рублей в год
➡️Полную подборку из 33 вузов можно почитать тут (зеркало).
👩💻 Устаревшие DSL в Spring Security 6.1
Spring Security в Spring Boot 3.1 был обновлён до версии 6.1, в которой началась подготовка к релизу следующей мажорной версии - 7.0, в которой, как оказалось, разработчики хотят окончательно отказаться от старых DSL на основе цепочек методов. В этом коротком видео автор демонстрирует, как можно легко заменить устаревшие DSL на современные на основе лямбда-выражений.
Смотреть видео
Spring Security в Spring Boot 3.1 был обновлён до версии 6.1, в которой началась подготовка к релизу следующей мажорной версии - 7.0, в которой, как оказалось, разработчики хотят окончательно отказаться от старых DSL на основе цепочек методов. В этом коротком видео автор демонстрирует, как можно легко заменить устаревшие DSL на современные на основе лямбда-выражений.
Смотреть видео
Разработка системы аутентификации на Java+Tarantool
Системы аутентификации есть везде. Пока вы скучаете в лифте по пути с седьмого этажа на первый, можно успеть проверить баланс в приложении банка, поставить пару лайков в Instagram, а потом проверить почту. Это минимум три системы аутентификации.
Статья будет полезна тем, кто хочет разобраться в устройстве систем аутентификации. На доступном примере я покажу все основные части архитектуры, как они связаны между собой и как работают в целом.
Читать статью
Системы аутентификации есть везде. Пока вы скучаете в лифте по пути с седьмого этажа на первый, можно успеть проверить баланс в приложении банка, поставить пару лайков в Instagram, а потом проверить почту. Это минимум три системы аутентификации.
Статья будет полезна тем, кто хочет разобраться в устройстве систем аутентификации. На доступном примере я покажу все основные части архитектуры, как они связаны между собой и как работают в целом.
Читать статью
Хабр
Разработка системы аутентификации на Java+Tarantool
Системы аутентификации есть везде. Пока вы скучаете в лифте по пути с седьмого этажа на первый, можно успеть проверить баланс в приложении банка, поставить пару лайков в Instagram, а потом проверить...
#вопросы_с_собеседований
Чем LinkedHashSet отличается от HashSet?
LinkedHashSet отличается от HashSet только тем, что в его основе лежит LinkedHashMap вместо HashMap. Благодаря этому порядок элементов при обходе коллекции является идентичным порядку добавления элементов (insertion-order). При добавлении элемента, который уже присутствует в LinkedHashSet (т.е. с одинаковым ключом), порядок обхода элементов не изменяется.
Чем LinkedHashSet отличается от HashSet?
LinkedHashSet отличается от HashSet только тем, что в его основе лежит LinkedHashMap вместо HashMap. Благодаря этому порядок элементов при обходе коллекции является идентичным порядку добавления элементов (insertion-order). При добавлении элемента, который уже присутствует в LinkedHashSet (т.е. с одинаковым ключом), порядок обхода элементов не изменяется.
Что такое механизм try-with-resources?
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.
Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.
Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.