Для создания собственного протокола сериализации достаточно реализовать интерфейс Externalizable, который содержит два метода:
public void writeExternal(ObjectOutput out) throws IOException;
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;
#вопросы_с_собеседований
Какие основные методы присутствуют в классе HttpServlet?
Какие основные методы присутствуют в классе HttpServlet?
☕️ doGet() - для обработки HTTP запросов GET;
☕️ doPost() - для обработки HTTP запросов POST;
☕️ doPut() - для обработки HTTP запросов PUT;
☕️ doDelete() - для обработки HTTP запросов DELETE;
☕️ doHead() - для обработки HTTP запросов HEAD;
☕️ doOptions() - для обработки HTTP запросов OPTIONS;
☕️ doTrace() - для обработки HTTP запросов TRACE.
☕️ doPost() - для обработки HTTP запросов POST;
☕️ doPut() - для обработки HTTP запросов PUT;
☕️ doDelete() - для обработки HTTP запросов DELETE;
☕️ doHead() - для обработки HTTP запросов HEAD;
☕️ doOptions() - для обработки HTTP запросов OPTIONS;
☕️ doTrace() - для обработки HTTP запросов TRACE.
Твой друг — опытный Java-разработчик?
Порекомендуй его на работу в Сбере и получи 80 000 рублей!
Мы ищем специалиста уровня Middle или Senior с опытом от 2 лет. Вакансии открыты в Москве, Санкт-Петербурге и Новосибирске.
Как получить вознаграждение:
1) отправь контакты друга,
2) дождись, пока он пройдёт отбор и испытательный срок,
3) получи 80 000 рублей!
Узнать подробности и порекомендовать друга: https://u.to/zBwCHA
Порекомендуй его на работу в Сбере и получи 80 000 рублей!
Мы ищем специалиста уровня Middle или Senior с опытом от 2 лет. Вакансии открыты в Москве, Санкт-Петербурге и Новосибирске.
Как получить вознаграждение:
1) отправь контакты друга,
2) дождись, пока он пройдёт отбор и испытательный срок,
3) получи 80 000 рублей!
Узнать подробности и порекомендовать друга: https://u.to/zBwCHA
Приведите примеры поведенческих шаблонов проектирования.
•
•
•
•
•
•
•
•
•
•
•
•
Цепочка обязанностей
(Chain of responsibility
) - Предназначен для организации в системе уровней ответственности.•
Команда
(Command
) - Представляет действие. Объект команды заключает в себе само действие и его параметры.•
Интерпретатор
(Interpreter
) - Решает часто встречающуюся, но подверженную изменениям, задачу.•
Итератор
(Iterator
) - Представляет собой объект, позволяющий получить последовательный доступ к элементам объекта-агрегата без использования описаний каждого + из объектов, входящих в состав агрегации.•
Посредник
(Mediator
) - Обеспечивает взаимодействие множества объектов, формируя при этом слабую связанность и избавляя объекты от необходимости явно ссылаться друг на друга.•
Хранитель
(Memento
) - Позволяет, не нарушая инкапсуляцию зафиксировать и сохранить внутренние состояния объекта так, чтобы позднее восстановить его в этих состояниях.•
Наблюдатель
(Observer
) - Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом событии.•
Состояние
(State
) - Используется в тех случаях, когда во время выполнения программы объект должен менять своё поведение в зависимости от своего состояния.•
Стратегия
(Strategy
) - Предназначен для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости.•
Шаблонный метод
(Template method
) - Определяет основу алгоритма и позволяет наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом.•
Посетитель
(Visitor
) - Описывает операцию, которая выполняется над объектами других классов. При изменении класса Visitor
нет необходимости изменять обслуживаемые классы.Мы ищем человека в команду контента на позицию саппорта на курс "Backend"
- Это парт-тайм работа, на моменте запуска курса она будет занимать где-то 4-5 часа в день в зависимости от количества задач, когда все будет готово, где-то 2-3
### Обязанности:
- Отвечать на вопросы студентов, которые касаются заданий и их решений
- Выполнение контент задач (написание конспектов по лекциям, дублирование их в Notion и на образовательную платформу, наполнение LMS материалами курса от преподавателей, ревью контента)
### Требования:
- Владеть базовыми инструментами для прохождения курса. С перечнем требований можно ознакомиться на сайте:
Backend | karpov.courses
- Иметь опыт работы в сфере Backend
- Знать Java
- Быть на связи в течение рабочего дня
- Быть заинтересованным в работе в сфере онлайн обучения
- Также быть заинтересованным в прохождении курса, так как обязательно надо будет его прорешать 😉
ЗП: по договоренности
Бонус: саппорт сможет бесплатно пройти наш курс
Отправить резюме: @malikovaj
- Это парт-тайм работа, на моменте запуска курса она будет занимать где-то 4-5 часа в день в зависимости от количества задач, когда все будет готово, где-то 2-3
### Обязанности:
- Отвечать на вопросы студентов, которые касаются заданий и их решений
- Выполнение контент задач (написание конспектов по лекциям, дублирование их в Notion и на образовательную платформу, наполнение LMS материалами курса от преподавателей, ревью контента)
### Требования:
- Владеть базовыми инструментами для прохождения курса. С перечнем требований можно ознакомиться на сайте:
Backend | karpov.courses
- Иметь опыт работы в сфере Backend
- Знать Java
- Быть на связи в течение рабочего дня
- Быть заинтересованным в работе в сфере онлайн обучения
- Также быть заинтересованным в прохождении курса, так как обязательно надо будет его прорешать 😉
ЗП: по договоренности
Бонус: саппорт сможет бесплатно пройти наш курс
Отправить резюме: @malikovaj
📈 Big O нотация: что это такое и почему ее обязательно нужно знать каждому программисту
Чем отличается структура данных от абстрактного типа данных? Что такое Big O нотация и как ее применять? Мы постарались ответить на эти вопросы в данной статье.
https://proglib.io/sh/UTxeVEoj27
Чем отличается структура данных от абстрактного типа данных? Что такое Big O нотация и как ее применять? Мы постарались ответить на эти вопросы в данной статье.
https://proglib.io/sh/UTxeVEoj27
Что такое Dependency Injection?
Dependency Injection
(внедрение зависимости
) - это набор паттернов и принципов разработки програмного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.#вопросы_с_собеседований
Чем полезны неизменяемые объекты?
Чем полезны неизменяемые объекты?
Как пройти техническое интервью на позицию Java?
Расскажем на митапе Luxoft LoGeek night 24 февраля
Техническое интервью – это способ продемонстрировать свою экспертизу и таланты или очередной повод для волнения? На предстоящем online-митапе мы не только ответим на этот вопрос, но и расскажем:
− как показать себя с лучшей стороны;
− какие ошибки на интервью наиболее распространены, и как их избежать;
− о чем вас обязательно спросят на интервью и многое другое.
Узнать больше и зарегистрироваться можно по ссылке.
Следите за анонсами митапов, вакансиями и другими новостями в телеграм-канале Luxoft
Расскажем на митапе Luxoft LoGeek night 24 февраля
Техническое интервью – это способ продемонстрировать свою экспертизу и таланты или очередной повод для волнения? На предстоящем online-митапе мы не только ответим на этот вопрос, но и расскажем:
− как показать себя с лучшей стороны;
− какие ошибки на интервью наиболее распространены, и как их избежать;
− о чем вас обязательно спросят на интервью и многое другое.
Узнать больше и зарегистрироваться можно по ссылке.
Следите за анонсами митапов, вакансиями и другими новостями в телеграм-канале Luxoft
#вопросы_с_собеседований
Что такое ООП?
• объектно-ориентированное программирование использует в качестве основных логических конструктивных элементов объекты, а не алгоритмы;
• каждый объект является экземпляром определенного класса
• классы образуют иерархии.
Программа считается объектно-ориентированной, только если выполнены все три указанных требования. В частности, программирование, не использующее наследование, называется не объектно-ориентированным, а программированием с помощью абстрактных типов данных.
Согласно парадигме
Что такое ООП?
Объектно-ориентированное программирование
(ООП
) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.• объектно-ориентированное программирование использует в качестве основных логических конструктивных элементов объекты, а не алгоритмы;
• каждый объект является экземпляром определенного класса
• классы образуют иерархии.
Программа считается объектно-ориентированной, только если выполнены все три указанных требования. В частности, программирование, не использующее наследование, называется не объектно-ориентированным, а программированием с помощью абстрактных типов данных.
Согласно парадигме
ООП
программа состоит из объектов, обменивающихся сообщениями. Объекты могут обладать состоянием, единственный способ изменить состояние объекта - послать ему сообщение, в ответ на которое, объект может изменить собственное состояние.
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Чем полезны неизменяемые объекты?
Неизменяемость (immutability) помогает облегчить написание многопоточного кода. Неизменяемый объект может быть использован без какой-либо синхронизации. К сожалению в Java нет аннотации @ Immutable, которая делает объект неизменяемым, для этого разработчикам нужно самим создавать класс с необходимыми характеристиками. Для этого необходимо следовать некоторым общим принципам: инициализация всех полей только конструкторе, отсутствие методов setX() вносящих изменения в поля класса, отсутствие утечек ссылки, организация отдельного хранилища копий изменяемых объектов и т.д.
🔥 Senior Backend Hiring Week: оффер в EPAM за 24 часа и welcome-бонус
Мы приглашаем опытных Backend-разработчиков присоединиться к команде EPAM за 24 часа. Никаких многодневных интервью - мы ценим ваше и свое время, поэтому вы пообщаетесь только с теми, кто имеет непосредственное отношение к проектам. Если мы подходим друг другу, вы получите оффер в течение суток, а еще дополнительный welcome-бонус в размере оклада.
Преимущества работы в EPAM
Вы сможете поработать с крупными международными проектами из разных отраслей: медицины, финтеха, торговли, Life Sciences, Big Data. Мы помогаем пройти сертификацию (AWS, Azure, GCP) и предлагаем программы повышения квалификации – Delivery Management School и Solution Architecture School.
Что еще мы предлагаем:
✅ Карьерный рост в треке Advanced Software Engineer, если вы любите писать код и не видите себя в роли менеджера.
✅ Реализацию амбициозных идей: от проработки архитектуры до внедрения в эксплуатацию.
✅ Гибкость в выборе проектов и задач, ориентированную на интересы и цели развития каждого разработчика.
✅ Уважение к личным границам и личному времени.
ДМС со стоматологией с первого дня работы.
Ждем вас в EPAM!
https://epa.ms/senior-backend-hiring-week-49
Мы приглашаем опытных Backend-разработчиков присоединиться к команде EPAM за 24 часа. Никаких многодневных интервью - мы ценим ваше и свое время, поэтому вы пообщаетесь только с теми, кто имеет непосредственное отношение к проектам. Если мы подходим друг другу, вы получите оффер в течение суток, а еще дополнительный welcome-бонус в размере оклада.
Преимущества работы в EPAM
Вы сможете поработать с крупными международными проектами из разных отраслей: медицины, финтеха, торговли, Life Sciences, Big Data. Мы помогаем пройти сертификацию (AWS, Azure, GCP) и предлагаем программы повышения квалификации – Delivery Management School и Solution Architecture School.
Что еще мы предлагаем:
✅ Карьерный рост в треке Advanced Software Engineer, если вы любите писать код и не видите себя в роли менеджера.
✅ Реализацию амбициозных идей: от проработки архитектуры до внедрения в эксплуатацию.
✅ Гибкость в выборе проектов и задач, ориентированную на интересы и цели развития каждого разработчика.
✅ Уважение к личным границам и личному времени.
ДМС со стоматологией с первого дня работы.
Ждем вас в EPAM!
https://epa.ms/senior-backend-hiring-week-49
В видео автор рассказывает о том, как подготовиться к решению задач на знание алгоритмов на собеседованиях.
https://youtu.be/72jqTtfw2z4
https://youtu.be/72jqTtfw2z4
YouTube
IT Собеседование: Алгоритмы
В этом видео я собрал из своего опыта несколько рекомендаций как проходить собеседование по алгоритмам.
TOP 10 алгоритмов для интервью: http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/
Поддержи канал! https://seniorsoftwarevl…
TOP 10 алгоритмов для интервью: http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/
Поддержи канал! https://seniorsoftwarevl…
За что отвечает JVM:
• Загрузка, проверка и исполнение байт кода;
• Предоставление среды выполнения для выполнения байт-кода;
• Управление памятью и очисткой мусора (
Виртуальная машина
Примитивы
Типы ссылок и значения
Существует три типа ссылочных типов: типы классов, типы массивов и типы интерфейсов. Их значения являются ссылками на динамически создаваемые экземпляры классов, массивы или экземпляры классов, которые реализуют интерфейсы соответственно.
• Загрузка, проверка и исполнение байт кода;
• Предоставление среды выполнения для выполнения байт-кода;
• Управление памятью и очисткой мусора (
Garbage collection
);Виртуальная машина
Java
(Java Virtual Machine
) - это механизм, предоставляющий среду выполнения для управления Java-кодом или приложениями. Виртуальная машина является независимой оболочкой исполнения кода, благодаря которой возможен её запуск на любой ОС, без влияния ОС на выполняемую программу.JVM
работает с 2мя типами данных: примитивные типы (primitive types
) и ссылочные типы (reference types
).Примитивы
JVM
работает с примитивными значениями (целыми числами и числами с плавающей точкой). По сути, JVM
- это 32-битная машина. Типы long и double
, которые являются 64-битными, поддерживаются изначально, но занимают две единицы памяти в frame's local
или стеке операндов, поскольку каждая единица составляет 32 бита. Типы boolean, byte, short и char
имеют расширенный знак (кроме char
с нулевым расширением) и работают как 32-разрядные целые числа, так же, как и типы int
. Меньшие типы имеют только несколько специфических для типа инструкций для загрузки, хранения и преобразования типов. boolean
значение работает как 8-битное byte значения, где 0 представляет значение false
, а 1 - значение true
.Типы ссылок и значения
Существует три типа ссылочных типов: типы классов, типы массивов и типы интерфейсов. Их значения являются ссылками на динамически создаваемые экземпляры классов, массивы или экземпляры классов, которые реализуют интерфейсы соответственно.
🏗 Поведенческие шаблоны проектирования: назначение, структура, примеры использования
Как создавать приложения, которые легко поддерживать и масштабировать: подробный разбор поведенческих шаблонов.
https://proglib.io/sh/Ds0el3ICQk
Как создавать приложения, которые легко поддерживать и масштабировать: подробный разбор поведенческих шаблонов.
https://proglib.io/sh/Ds0el3ICQk
Канал Java – заметки разработчика о своем опыте в IT:
- тонкости программирования на Java;
- случаи из реальной жизни;
- подборки полезных материалов;
- литература для совершенствования навыков.
Подписывайся: @Coding_Java
- тонкости программирования на Java;
- случаи из реальной жизни;
- подборки полезных материалов;
- литература для совершенствования навыков.
Подписывайся: @Coding_Java
#вопросы_с_собеседований
О чем говорит ключевое слово final?
О чем говорит ключевое слово final?
«Первые шаги в JavaScript» — создайте сайт и приложение за 3 дня
На бесплатном интенсиве Нетологии вы познакомитесь с разработкой на JavaScript и с нуля создадите сайт и мобильное приложение — гайд по персонажам вселенной Marvel. А ещё получите рекомендации от экспертов по самостоятельной доработке проекта. Интенсив для тех, у кого нет опыта в разработке.
Попробуйте себя в роли разработчика и проверьте, насколько эта профессия вам подходит.
Зарегистрироваться на интенсив: https://netolo.gy/hGB
На бесплатном интенсиве Нетологии вы познакомитесь с разработкой на JavaScript и с нуля создадите сайт и мобильное приложение — гайд по персонажам вселенной Marvel. А ещё получите рекомендации от экспертов по самостоятельной доработке проекта. Интенсив для тех, у кого нет опыта в разработке.
Попробуйте себя в роли разработчика и проверьте, насколько эта профессия вам подходит.
Зарегистрироваться на интенсив: https://netolo.gy/hGB
Международная компания Lineate ищет java-разработчика с опытом построения backend на Spring Framework и развитыми коммуникативными навыками.
От вас:
- профессиональное владение инструментами Spring Boot, Spring Data, Spring Batch, Netty (Async IO);
- опыт работы с SQL / NoSQL базами данных;
- уровень английского языка не ниже Pre-intermediate.
От Lineate: возможность работать с иностранными заказчиками из России, комфортная рабочая среда, профессиональное развитие.
Переходите по ссылке и читайте о вакансии подробнее.
Написать рекрутеру @t_katya
От вас:
- профессиональное владение инструментами Spring Boot, Spring Data, Spring Batch, Netty (Async IO);
- опыт работы с SQL / NoSQL базами данных;
- уровень английского языка не ниже Pre-intermediate.
От Lineate: возможность работать с иностранными заказчиками из России, комфортная рабочая среда, профессиональное развитие.
Переходите по ссылке и читайте о вакансии подробнее.
Написать рекрутеру @t_katya