Изучаем Java. По вопросам сотрудничества: @seniorvladislav
Обычно разработчиков зовут работать, а тут внезапно предлагают отдохнуть. Финтех Яндекса проводит закрытую вечеринку, где можно и в квиз сыграть, и поболтать про стек технологий. Ребята поделятся планами на будущее и покажут, как это вообще — быть частью Финтеха.
Идея интересная: на вечеринке можно оценить атмосферу и офис, познакомиться с коллегами и сразу понять, будут ли они смеяться над твоими шутками. Заодно встретишься с тимлидом и оценишь размер синяков у него под глазами (если что, чем меньше — тем лучше). И если всё понравится — можно вернуться снова, но уже как часть команды.
Вечеринка пройдёт в московском офисе Яндекса. Чтобы получить инвайт, даже собеседования не нужны — достаточно решить задачи →
class Coding game TONight:
def __init__(Write code, Have fun, Earn crypto):
self.Write code = Пиши код
self.Have fun = Развлекайся
self.Earn crypto = Зарабатывай криптовалюту
print(Вы просыпаетесь 19 января 2038 года и понимаете, что мир кардинально изменился. Жителям нужна помощь того, кто знает Python, Javascript, Java и т.д. и они датут ревард в TON)
Перейдите по ссылке и начните игру прямо сейчас:
👉 https://clck.ru/347Yn7
#вопросы_с_собеседований
В чем разница между перегрузкой и переопределением чего-либо?
Переопределение выполняется во время работы программы, а перегрузка — во время компиляции. Также переопределение и перегрузка выполняются по-разному: в Java перегружаемый метод должен иметь отличную от оригинального метода сигнатуру, а в случае с переопределением она может быть той же самой.
Что такое маркерный интерфейс? Каковы известные примеры таких интерфейсов в Java?
Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие:☕️ Serializable
используется для явного указания того, что этот класс может быть сериализован;☕️ Cloneable
позволяет клонировать объекты с помощью метода clone (без интерфейса Cloneable этот метод выдает исключение CloneNotSupportedException);☕️ Remote
используется в RMI для указания интерфейса, методы которого можно вызывать удаленно.
🇬🇧 Реально ли IT-специалисту переехать в Великобританию без предложения о работе, без высшего образования и без знания английского языка? Ответ: да! Рассказываем, как это сделать.
Виза Global Talent дала возможность более 8000 IT-специалистам переехать в Британию в 2022 году. Она выдаётся на срок до 5 лет, по ней можно работать в любой компании, фрилансить и открывать собственный бизнес.
Чтобы получить эту визу, не обязательно иметь высшее образование, не нужно знать язык на высоком уровне, а заявку можно подать из любой страны. И, пожалуй, самое главное – не нужно обладать исключительным талантом! Очень многие IT-специалисты могут претендовать на эту визу.
Подписывайтесь на наш Telegram-канал, где мы даём массу полезной информации о релокации: /channel/relocode
Пишите нам в Telegram: @relocode_dm. Мы проводим бесплатные консультации, на которых поможем разобрать ваш кейс и подобрать наиболее подходящий способ релокации.
Напишите метод, который на вход получает коллекцию объектов, а возвращает коллекцию уже без дубликатов
Ответ на картинке.
Что полезно знать Java-разработчику про вывод типов
Смотреть статью
Алгоритмы сортировки на Java с примерами
Смотреть статью
Sealed классы Java в действии: создание надежных и безопасных приложений
Sealed (закрытые или запечатанные) классы были представлены в Java 15 в качестве способа ограничить иерархию наследования класса или интерфейса.
Sealed класс или интерфейс ограничивает набор классов, которые могут наследовать или реализовывать его, что может помочь предотвратить потенциальные ошибки и сделать код более удобным в сопровождении.
Смотреть статью
#вопросы_с_собеседований
Можно ли переопределить статический или частный метод в Java?
Частный метод недоступен вне класса, поэтому он не будет переопределен подклассом. Следовательно, его нельзя переопределить. Точно так же статический метод не может быть переопределен, потому что если мы создадим статические методы с одним и тем же именем метода и сигнатурой как в базовом, так и в производном классе, производный класс скроет методы в базовом классе. Это известно как сокрытие метода.
Хотите создавать на Kotlin высокопроизводительные серверные приложения?
🔥Приглашаем 12 апреля в 20:00 мск на открытый вебинар "Практика применения машины состояний в разработке" в OTUS.
📚 На вебинаре мы рассмотрим как теоретические, так и практические аспекты использования машины состояний, а также пределы их применения.
В результате вебинара вы:
- Научитесь более широко применять конечные автоматы в задачах разработки и получать более эффективный код.
👉 Регистрация на вебинар: https://otus.pw/D9Uw/
Вебинар является частью онлайн-курса «Kotlin Backend Developer. Professional». Курс доступен в рассрочку.
Реклама. Информация о рекламодателе на сайте www.otus.ru
Как запустить Java-приложение с помощью CRaC в контейнере Docker
CRaC (Coordinated Restore at Checkpoint) — это проект OpenJDK, разработанный Azul для решения проблемы «медленного» запуска виртуальной машины Java в микросервисной среде.
Смотреть статью
#вопросы_с_собеседований
Дайте определение понятию «конструктор»
Конструктор — это специальный метод, у которого отсутствует возвращаемый тип и который имеет то же имя, что и класс, в котором он используется. Конструктор вызывается при создании нового объекта класса и определяет действия необходимые для его инициализации.
🔴 «Кто прод ронял, тот в цирке не смеется»
Если вам знаком термин SDLC (жизненный цикл разработки ИТ-продукта), вы знаете, что эксплуатация — важнейший этап для команды. А одним из критических свойств системы является сопровождаемость.
📢📢 Подключайтесь в понедельник 13 марта в 20:00 мск к отрытому уроку онлайн-курса «Software Architect» в OTUS. На занятии мы рассмотрим архитектурное свойство “сопровождаемость” на примере соответствующих сервисов k8s: Pod, Deployment, ReplicaSet.
🎓 Занятие проведет Анатолий Бурнашев, эксперт центра практик обеспечения надёжности в MTS.Digital.
❗️ Не упустите возможность познакомиться с преподавателем и форматом обучения! Продолжить обучение можно в рассрочку.
➡️ Для участия пройдите вступительный тест: https://otus.pw/meOc/Реклама. Информация о рекламодателе на сайте otus.ru
Изобретаем велосипед на Java — пишем свой Framework (DI, ORM, MVC and etc)
Смотреть статью
#вопросы_с_собеседований
Скомпилируется ли код с картинки?
Да. При цепочке исключений компилятор заботится только о первом в цепочке, и, поскольку он обнаруживает непроверяемое исключение, не нужно добавлять throws.
Настраиваем память JVM-приложения в Kubernetes
Смотреть статью
👨💻4 способа прокачать свою карьеру в IT и попасть в Яндекс
1️⃣Летние школы Академии Яндекса
Для тех, у кого уже есть опыт в разработке. До 27 апреля продолжается набор в Школу бэкенд-разработки (Python, Java, C++, Go), Школу мобильной разработки (iOS, Android, Flutter), Школу разработки интерфейсов и Школу менеджеров. Обучение бесплатное. Иногородним Яндекс оплатит билеты и проживание на период практики в офисах компании в Москве, Алматы и Белграде. Лучшим студентам — офер в штат Яндекса.
2️⃣Открытый лекторий Академии Яндекса
Если нет времени на Школы, регистрируйтесь на бесплатный Открытый лекторий. Это часть программы Летних школ — 120 лекций по soft skills, бэкенд-, фронтенд- и мобильной разработке, аналитике и продакт-менеджменту.
3️⃣Стажировки по бэкенд-, фронтенд- и мобильной разработке, data science и ML
Получите опыт работы над продуктами, которыми пользуются миллионы. Подайте заявку на оплачиваемую стажировку (от 3 до 6 месяцев). Расходы на проживание и билеты для иногородних студентов Яндекс берет на себя.
4️⃣Intern Meetup Week и пробные собеседования
Серия открытых митапов для начинающих разработчиков. В программе — лекции экспертов о технологиях, общение с руководителями команд и пробное собеседование на стажировку. Митап пройдет в онлайне и офлайне c 17 по 20 апреля. Регистрируйтесь до 12 апреля!
Удачи!😎
В чем заключается особенность работы метода clone () с полями объекта типа ссылки?
При клонировании объектов копируются только примитивные значения и значение ссылок на объекты. Это значит, что если объект имеет во внутреннем поле ссылку на другой объект, то будет клонирована только эта ссылка, сам же этот другой объект клонирован не будет. Собственно, это и называют — поверхностным клонированием.
Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?
На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
👨💻 Как работать с архитектурой высоконагруженных систем?
Пройдите вступительный тест и ответьте на 29 вопросов, чтобы понять готовы ли вы стать архитектором, которые работают с высокими нагрузками и попасть на курс — «Highload Architect» от OTUS.
На полном курсе вы научитесь:
- Правильно использовать шаблоны: кеширование, реплицирование, шардирование, а также инструменты, такие как индексы, ClickHouse, Tarantool, RabbitMQ и Kafka, redis;
- Обеспечивать отказоустойчивость веб-приложений даже при падении серверов;
- Уметь создавать веб-приложения, которые легко масштабировать.
Время прохождения теста ограниченно: 25 минут
👉 Пройти тест — https://otus.pw/LFqK/
💣 После прохождения у вас будет возможность записаться на курс по спец. цене и оформить рассрочку. А также вы получите доступ к записям 20 открытых уроков курса.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Метод containsKey()
Метод java.util.HashMap.containsKey() используется для проверки того, отображается ли конкретный ключ в HashMap или нет. Он принимает ключевой элемент в качестве параметра и возвращает True, если этот элемент есть в коллекции.
☕️ Изучаем Spiring для Java
Spiring — это огромный и самый популярный Java-фреймворк для создания веб-приложений.
Весь его функционал основан на понимании Spiring Core — именно он и разбирается в этом видео.
https://youtu.be/Us40dUnbw80
Как спроектировать архитектуру нагруженного twitter-like приложения? Разберемся 🗓 14 апреля в 20:00 на открытом уроке вместе с Андреем Поляковым, старшим разработчиком в Unlimint.
На открытом уроке мы:
- спроектируем типовую архитектуру нагруженного twitter-like приложения,
- определим пользовательские сценарии и узкие места прототипа,
- обсудим один из самых популярных вопросов на system design interview.
👉 Чтобы записаться на урок, пройдите вступительное тестирование — https://otus.pw/LFoCF/
Занятие является бесплатной пробной частью онлайн-курса «Highload Architect». Оплата курса возможна в рассрочку.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Final класс
Нельзя расширять класс, объявленный как final. Проще говоря, никакой класс не может наследоваться от данного.
Прекрасным примером final класса в JDK является String. Первый шаг к созданию неизменяемого класса — пометить его как final, и тогда нельзя будет его расширить.
Три задачи на знание Java от ChatGPT
Попросили языковую модель ChatGPT составить три задачи на знание Java: простую, среднюю и сложную.
Смотреть статью
Обработка исключений в Java в функциональном стиле
В данной статье автор предоставит информацию о собственной библиотеке для обработки исключений (Exception) в функциональном стиле.
Смотреть статью
#вопросы_с_собеседований
Что не так с кодом?
Он не скомпилируется. Это вопрос на знание иерархии исключений: FileNotFoundException
унаследован от IOException
, первый catch будет перехватывать все исключения, а в следующий блок catch управление передано не будет. Поэтому возникнет ошибка: exception FileNotFoundException has already been caught
.
Тут вакансия для Java-разработчиков от подписчиков — ребят из Финтеха Яндекса. Обещает давать интересные задачи, уважать и баловать. Стоит присмотреться 👀
Работать нужно с сервисами, которые уже заслужили доверие миллионов и продолжают активно развиваться. Java-разработчик будет заниматься продуктовым движком, бизнес-логикой и инфраструктурой. Для этого пригодятся знания Kotlin, Spring Boot, Kubernetes, Grafana + Prometheus, YDB, PostgreSQL, ClickHouse и Kafka.
Финтех Яндекса — молодой сервис, где не любят бюрократию и сложные процессы. Здесь легко придумывать новое, менять готовое, да хоть сразу предлагать идеи CEO (если получится его поймать). Работать можно и из дома, и из офиса в Москве или Белграде.
Всяческие корпоративные блага прилагаются. Подробности на сайте, и там же можно ответить на один вопрос — и сразу попасть в Телеграм с рекрутёром