Size: a a a

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

2020 March 14
Библиотека джависта
Java All-in-One For Dummies  (2017)

Если вы всегда хотели научиться программировать на Java, но не знали, с чего начать, эта книга вам подойдет. Она послужит не только учебником, но и сопровождающим в работе справочным материалом, где всегда можно найти ответ на любой вопрос о тонкостях языка.
источник
Библиотека джависта
источник
2020 March 15
Библиотека джависта
#вопросы_с_собеседований
Что такое «анонимные классы»? Где они применяются?
источник
Библиотека джависта
Это вложенный локальный класс без имени, который разрешено декларировать в любом месте обрамляющего класса, разрешающем размещение выражений. Создание экземпляра анонимного класса происходит одновременно с его объявлением. В зависимости от местоположения анонимный класс ведет себя как статический либо как нестатический вложенный класс - в нестатическом контексте появляется окружающий его экземпляр.

Анонимные классы имеют несколько ограничений:

✔️Их использование разрешено только в одном месте программы - месте его создания;
✔️Применение возможно только в том случае, если после порождения экземпляра нет необходимости на него ссылаться;
✔️Реализует лишь методы своего интерфейса или суперкласса, т.е. не может объявлять каких-либо новых методов, так как для доступа к ним нет поименованного типа.

Анонимные классы обычно применяются для:

✔️Создания объекта функции (function object), например реализация интерфейса Comparator;
✔️Создания объекта процесса (process object), такого как экземпляры классов Thread, Runnable и подобных;
в статическом методе генерации;
✔️Инициализации открытого статического поля final, которое соответствует сложному перечислению типов, когда для каждого экземпляра в перечислении требуется отдельный подкласс.
источник
2020 March 16
Библиотека джависта
Фрагмент из реального собеседования на должность Junior Developer.

https://youtu.be/bH3DBnxO4FA
источник
Библиотека джависта
Видеокурс по Java-разработке от OTUS – быстрый старт в профессии для начинающих программистов. Подробнее 👉🏻 https://otus.pw/HiTS/

✅ Удобный видео-формат
✅ Доступная цена
✅ Проверочные тесты после каждой темы

Бонус при покупке — 10% скидка на любой основной курс из нашей линейки.
источник
Библиотека джависта
Курс из 25 занятий по многопоточности в Java.

https://youtu.be/bjh1HWV9RRk
источник
2020 March 17
Библиотека джависта
Придумай концепцию любого IT-решения для сельского хозяйства и получи шанс выиграть 50 000 рублей. Тебе не обязательно быть программистом: предложить свою идею могут маркетологи, дизайнеры, продакт-менеджеры или команды студентов. Прием заявок — до 24 марта на сайте
https://prglb.ru/1dwt6

Генеральный спонсор — Россельхозбанк.
источник
Библиотека джависта
Как написать код, который полюбят все

Набор практик хорошего кода, не зависящих от языка программирования. Примените их, и ваш код будет не только работать, но и читаться.

https://prglb.ru/2569h
источник
Библиотека джависта
Уроки Java по самым сложным и продвинутым темам.

https://www.youtube.com/playlist?list=PL786bPIlqEjTO9pC06Phl7AtlH1wxyxgB
источник
2020 March 18
Библиотека джависта
#вопросы_с_собеседований
Чем отличается ArrayList от LinkedList? В каких случаях лучше использовать первый, а в каких второй?
источник
Библиотека джависта
OTUS открывает новый набор легендарного онлайн-курса «Разработчик Java». Проверьте свой уровень знаний для прохождения курса при помощи вступительного теста: https://otus.pw/7kQr/

📌Хотите протестировать учебный процесс заранее? Регистрируйтесь на бесплатный пробный вебинар «Знакомство с Maven» - 18 марта в 20:00 мск: https://otus.pw/Q6qoB/

— На вебинаре познакомимся с Apache Maven. Узнаем, для чего он нужен Java-разработчику. Посмотрим, как его можно использовать. Разберём типовой сценарий применения.

Вебинар проведёт преподаватель-практик Сергей Петрелевич (17 лет в отрасли). Не упустите возможность задать ему все интересующие вопросы!
источник
Библиотека джависта
❓Чем отличается ArrayList от LinkedList? В каких случаях лучше использовать первый, а в каких второй?
❗️ArrayList:
✔️Доступ к произвольному элементу по индексу за константное время O(1);
✔️Доступ к элементам по значению за линейное время O(N);
✔️Вставка в конец в среднем производится за константное время O(1);
✔️Удаление произвольного элемента из списка занимает значительное время, т.к. при этом все элементы находящиеся «правее» смещаются на одну ячейку влево (реальный размер массива (capacity) не изменяется);
✔️Вставка элемента в произвольное место списка занимает значительное время, т.к. при этом все элементы находящиеся «правее» смещаются на одну ячейку вправо;
✔️Минимум накладных расходов при хранении.

LinkedList:
✔️На получение элемента по индексу или значению потребуется линейное время O(N);
✔️На добавление и удаление в начало или конец списка потребуется константное O(1);
✔️Вставка или удаление в/из произвольного места за константное O(N);
✔️Требует больше памяти для хранения такого же количества элементов, потому что кроме самого элемента хранятся ещё указатели на следующий и предыдущий элементы списка.

В целом, LinkedList в абсолютных величинах проигрывает ArrayList и по потребляемой памяти, и по скорости выполнения операций. LinkedList предпочтительно применять, когда нужны частые операции вставки/удаления или в случаях, когда необходимо гарантированное время добавления элемента в список.
источник
2020 March 19
Библиотека джависта
#вопросы_с_собеседований
Расскажите о типах шаблонов проектирования.
источник
Библиотека джависта
​​OTUS открывает новый набор онлайн-курса «Алгоритмы для разработчиков».

Пройдите вступительный тест и поступите в группу со скидкой -20%: https://otus.pw/lD7A/

Знание классических алгоритмов и структур данных — обязательное требование, которое предъявляют брендовые IT-компании к претендентам на вакансию Middle developer.

Благодаря этим знаниям можно повысить производительность и улучшить качество кода. Именно поэтому так важно понимать принципы работы алгоритмов и структур данных и уметь использовать их с учётом поставленных задач. Получить эти ценные навыки вы сможете на курсе по уникальной авторской программе от Михаила Горшкова - инженера-программиста известной международной компании с 18-летним опытом программирования.

Онлайн-курс предназначен для разработчиков, владеющих С++/Python/Java. Он подходит и для Middle-специалистов, которые застоялись на месте, и для «джуниоров», которые хотят быстрее вырасти как профессионалы и избежать многих ошибок.

Проходите вступительное тестирование и присоединяйтесь - будет круто:
https://otus.pw/agdn/
источник
Библиотека джависта
❓Расскажите о типах шаблонов проектирования.
❗️✔️Основные (Fundamental) — основные строительные блоки других шаблонов. Большинство других шаблонов использует эти шаблоны в той или иной форме.
✔️Порождающие шаблоны (Creational) — шаблоны проектирования, которые абстрагируют процесс создания экземпляра. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять созданный объект, а шаблон, порождающий объекты, делегирует создание объектов другому объекту.
✔️Структурные шаблоны (Structural) определяют различные сложные структуры, которые изменяют интерфейс уже существующих объектов или его реализацию, позволяя облегчить разработку и оптимизировать программу.
✔️Поведенческие шаблоны (Behavioral) определяют взаимодействие между объектами, увеличивая таким образом его гибкость.
источник
2020 March 20
Библиотека джависта
Как сделать эффективными обсуждения по видеосвязи

Поговорим об использовании видеосвязи для удаленной работы. Бесплатные тарифы программ для видеоконференций и простые практики эффективных обсуждений.

https://prglb.ru/3enw4
источник
2020 March 21
Библиотека джависта
Java Language Features, 2nd Edition (2018)

Многие опытные Java-программисты не знают всех тонкостей и интересных фишек языка, о которых автор рассказывает в данной книге. Более того, в ней содержатся интересные замечания о ядре Java и советы по написанию более эффективного рабочего кода.

Скачать книгу
источник
Библиотека джависта
Еще более углубленный курс по Java - Java Beans, JMX, форматирование строк и другое.

https://www.youtube.com/playlist?list=PL786bPIlqEjQifz13w4nAE9d-53HW387n
источник
2020 March 22
Библиотека джависта
#вопросы_с_собеседований
Несколько вопросов по многопоточности
1. Каким образом можно создать поток?
2. Чем различаются Thread и Runnable?
3. В чём заключается разница между методами start() и run()?
источник