Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.87K photos
38 videos
42 files
2.65K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Мы ищем человека в команду контента на позицию саппорта на курс "Backend"

- Это парт-тайм работа, на моменте запуска курса она будет занимать где-то 4-5 часа в день в зависимости от количества задач, когда все будет готово, где-то 2-3

### Обязанности:

- Отвечать на вопросы студентов, которые касаются заданий и их решений
- Выполнение контент задач (написание конспектов по лекциям, дублирование их в Notion и на образовательную платформу, наполнение LMS материалами курса от преподавателей, ревью контента)

### Требования:

- Владеть базовыми инструментами для прохождения курса. С перечнем требований можно ознакомиться на сайте:

Backend | karpov.courses

- Иметь опыт работы в сфере Backend
- Знать Java
- Быть на связи в течение рабочего дня
- Быть заинтересованным в работе в сфере онлайн обучения
- Также быть заинтересованным в прохождении курса, так как обязательно надо будет его прорешать 😉

ЗП: по договоренности

Бонус: саппорт сможет бесплатно пройти наш курс

Отправить резюме: @malikovaj
📈 Big O нотация: что это такое и почему ее обязательно нужно знать каждому программисту

Чем отличается структура данных от абстрактного типа данных? Что такое Big O нотация и как ее применять? Мы постарались ответить на эти вопросы в данной статье.

https://proglib.io/sh/UTxeVEoj27
Что такое Dependency Injection?

Dependency Injection (внедрение зависимости) - это набор паттернов и принципов разработки програмного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.
Как пройти техническое интервью на позицию Java?
Расскажем на митапе 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
За что отвечает 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
Канал Java – заметки разработчика о своем опыте в IT:

- тонкости программирования на Java;
- случаи из реальной жизни;
- подборки полезных материалов;
- литература для совершенствования навыков.

Подписывайся: @Coding_Java
«Первые шаги в JavaScript» — создайте сайт и приложение за 3 дня

На бесплатном интенсиве Нетологии вы познакомитесь с разработкой на 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
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований О чем говорит ключевое слово final?
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.

☕️ Класс не может иметь наследников;
☕️ Метод не может быть переопределен в классах-наследниках;
☕️ Поле не может изменить свое значение после инициализации;
☕️ Параметры методов не могут изменять своё значение внутри метода;
☕️ Локальные переменные не могут быть изменены после присвоения им значения.
Media is too big
VIEW IN TELEGRAM
Ищем разработчиков React, .NET, Devops, Angular, Vue, Node.js, Python, PHP, iOS, React Native, Java, Android, Ruby (и других) в международную IT-компанию Noveo!
Ты можешь работать в любом удобном формате, как в офисах Новосибирска, Москвы, Санкт-Петербурга, так и удаленно.
Мы предлагаем:
- крутые проекты разного уровня сложности;
- современный стек технологий;
- продуктовый подход в разработке.
Мы ждем от тебя:
- хорошее знание одной из перечисленных технологий (middle и выше);
- разговорный английский (мы занимаемся разработкой ПО для западноевропейского рынка).
Ждём резюме:
[email protected]
https://noveo.ru/3saJWyK
Контактное лицо в Telegram: @yuliapalkina
#вопросы_с_собеседований
Что вы знаете о функции main()?

Метод main() — точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка `Error: Main method not found`.
#вопросы_с_собеседований
Какие логические операции и операторы вы знаете?

& : Логическое AND (И);
&& : Сокращённое AND;
| : Логическое OR (ИЛИ);
|| : Сокращённое OR;
^ : Логическое XOR (исключающее OR (ИЛИ));
! : Логическое унарное NOT (НЕ);
&= : AND с присваиванием;
|= : OR с присваиванием;
^= : XOR с присваиванием;
== : Равно;
!= : Не равно;
?: : Тернарный (троичный) условный оператор.
Что такое тернарный оператор выбора?

Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.

Выражение записывается в следующей форме:

условие ? выражение1 : выражение2

Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.