Size: a a a

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

2020 October 19
Библиотека джависта
Командообразование в удаленных и распределенных командах

23 октября
Андрей Романов, сертифицированный эксперт в областях IT-менеджмента разберет темы:
- Команда и основные элементы
- Отличия/специфика удаленных и распределенных команд
- Особенности построения и организации работы
- Специфика коммуникаций и рабочего процесса
- Инструменты и практики влияющие на эффективность

Демо-занятие входит в программу онлайн-курса «Team lead». Регистрация на вебинар: https://otus.pw/LLCZ/
источник
Библиотека джависта
#вопросы_с_собеседований
1. Дайте определение понятию «конструктор».
2. Что такое «конструктор по умолчанию»?
источник
2020 October 20
Библиотека джависта
1. Конструктор — это специальный метод, у которого отсутствует возвращаемый тип и который имеет то же имя, что и класс, в котором он используется. Конструктор вызывается при создании нового объекта класса и определяет действия, необходимые для его инициализации.
источник
Библиотека джависта
⛔️«Не для тебя моя Java цвела, старый багованный код!»⛔️

Навыки Spring откроют для тебя дверь в интересные проекты с микросервисами или суровым бэкендом и к зарплатам от 150 тыс. рублей.

🚀Научись быстро проходить путь от идеи до production-grade на практическом онлайн-курсе «Spring Framework Developer».

👉🏻Пройди вступительный тест, занимай место в группе по спец.цене и готовься к хардкорной практике: https://otus.pw/POsV/
источник
Библиотека джависта
2. Если у какого-либо класса не определить конструктор, то компилятор сгенерирует конструктор без аргументов - так называемый «конструктор по умолчанию».

public class ClassName() {}

Если у класса уже определен какой-либо конструктор, то конструктор по умолчанию создан не будет и, если он необходим, его нужно описывать явно.
источник
2020 October 21
Библиотека джависта
#вопросы_с_собеседований
Каким образом реализованы методы hashCode() и equals() в классе Object?
источник
Библиотека джависта
Хочешь работать в IT, но не хватает практики? Присоединяйся к бесплатному Java-интенсиву, где тебя ждут реальные задачи, которые помогут закрепить знания и понять, в каком направлении двигаться дальше.

Регистрируйся по ссылке: 👉 https://clc.am/nxzpFg.

Своими навыками делится программист с 15-летним опытом Даниил Пилипенко.

Что тебя ждёт?
✔️ Основы программирования на Java.
✔️ Работа с файлами и библиотеками.
✔️ Разработка приложения, которое непрерывно записывает звук с микрофона компьютера и отправляет файлы в Dropbox.
✔️ Анализ работ и разбор типичных ошибок.
✔️ Практические советы и инсайты от опытного программиста.

🎉 Если твой проект будет одним из лучших — получишь сертификат на 30 000 рублей для поступления на любой онлайн-курс университета Skillbox!
источник
Библиотека джависта
Реализация метода Object.equals() сводится к проверке на равенство двух ссылок:

public boolean equals(Object obj) {
 return (this == obj);
}

Реализация метода Object.hashCode() описана как native, т.е. определенной не с помощью Java кода и обычно возвращает адрес объекта в памяти:

public native int hashCode();
источник
2020 October 22
Библиотека джависта
Sams Teach Yourself Java in 21 Days (2020)
Автор: Rogers Cadenhead
Количество страниц: 672

С помощью этого руководства вы быстро освоите основы, а затем перейдете к продвинутым особенностям и концепциям современной Java. Книга была полностью обновлена для Java 11 и 12. К тому времени, когда вы прочтете книгу, вы будете хорошо разбираться в Java и библиотеках. Предыдущий опыт программирования не требуется. Следуя 21 тщательно организованному уроку из этой книги, каждый может изучить основы программирования на Java.

Скачать книгу
источник
Библиотека джависта
Международная Java-конференция для опытных разработчиков и тимлидов #Joker#Joker 2020 уже 25–28 ноября, Online.

Технические доклады о рантайме, виртуальных машинах, компиляторах, оптимизации от Java-потрошителей и чемпионов со всего мира. А также интервью с экспертами, воркшопы, нетворкинг и дискуссионные зоны для лютых холиваров.

В программе:
—  Создатель Concurnas Jason Tatton расскажет о создании надежных многопоточных, распределенных и параллельных систем с использованием JVM. Если вы ищете средства для создания таких продуктов, вам однозначно понравится.
—  Профессиональный спикер и автор блога JavaSpecialists.eu Heinz Kabutz в компании с соратником John Green расскажут о многопоточном программировании с использованием Phaser, StampedLock и VarHandle.
—  Один из разработчиков Kotlin Роман Елизаров даст большое интервью с Q&A-сессией. Можно будет в прямом эфире расспросить его о перспективах языка, его эволюции и компромиссах, на которые приходится идти в работе.

Программа и билеты со скидкой по промокоду proglib2020JRGpc : https://bit.ly/34OtLez
источник
Библиотека джависта
#вопросы_с_собеседований
Какие подклассы класса OutputStream вы знаете, для чего они предназначены?
источник
2020 October 23
Библиотека джависта
☕️ OutputStream - это абстрактный класс, определяющий потоковый байтовый вывод;
☕️ BufferedOutputStream - буферизированный выходной поток;
☕️ ByteArrayOutputStream - все данные, посылаемые в этот поток, размещаются в предварительно созданном буфере;
☕️ DataOutputStream - выходной поток байт, включающий методы для записи стандартных типов данных Java;
☕️ FileOutputStream - запись данных в файл на физическом носителе;
☕️ FilterOutputStream - абстрактный класс, предоставляющий интерфейс для классов-надстроек, которые добавляют к существующим потокам полезные свойства;
☕️ PrintStream - выходной поток, включающий методы print() и println();
☕️ ObjectOutputStream - выходной поток для записи объектов;
☕️ PipedOutputStream реализует понятие выходного канала.
источник
Библиотека джависта
GeekBrains запускает курс «Python для решения бизнес-задач»

Обучение начнется 23 октября и продлится 2,5 месяца. Курс рассчитан на далеких от программирования слушателей: маркетологов, продакт-менеджеров и предпринимателей. В формате видеоуроков и практических вебинаров они научатся автоматизировать рутинные задачи и процессы. Опытные преподаватели расскажут, как создавать ботов Telegram, собирать, обрабатывать и визуализировать данные о клиентах, а также обрабатывать файлы и проверять правильность заполнения форм. Python позволяет написать программу один раз и запускать ее по потребности — это экономит рабочее время.

Получить дополнительную информацию и записаться в группу можно на сайте: https://proglib.io/w/b894de20
источник
Библиотека джависта
#вопросы_с_собеседований
Какой класс появился в Java 8 для кодирования/декодирования данных?
источник
2020 October 24
Библиотека джависта
Base64 - потокобезопасный класс, который реализует кодировщик и декодировщик данных, используя схему кодирования base64 согласно RFC 4648 и RFC 2045.

Base64 содержит 6 основных методов:

getEncoder()/getDecoder()/getDecoder() - возвращает кодировщик/декодировщик base64, соответствующий стандарту RFC 4648;
getUrlEncoder()/getUrlDecodergetUrlDecoder() - возвращает URL-safe кодировщик/декодировщик base64, соответствующий стандарту RFC 4648;
getMimeEncoder()/getMimeDecoder() /getMimeDecoder() - возвращает MIME кодировщик/декодировщик, соответствующий стандарту RFC 2045.
источник
Библиотека джависта
#вопросы_с_собеседований
Какое худшее время работы метода get(key) для ключа, который есть в HashMap?
источник
2020 October 25
Библиотека джависта
O(N). Худший случай - это поиск ключа в HashMap, вырожденного в список по причине совпадения ключей по hashCode() и для выяснения, хранится ли элемент с определённым ключом, может потребоваться перебор всего списка.
UPD. Начиная с Java 8 корзины в HashMap становятся балансированными деревьями, если в них попадает больше определенного кол-ва объектов. Поэтому худший случай будет O(log n). Подробности можно почитать в https://javahungry.blogspot.com/2013/08/hashing-how-hash-map-works-in-java-or.html (спасибо за указание на ошибку)
источник
Библиотека джависта
#вопросы_с_собеседований
Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?
источник
2020 October 26
Библиотека джависта
☕️ В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
☕️ Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
☕️ Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8) default - методами с реализацией по-умолчанию, а поля - public static final.
☕️ Интерфейсы позволяют создавать структуры типов без иерархии.
☕️ Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.

Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
источник
Библиотека джависта
#вопросы_с_собеседований
Как устроен HashMap?
источник