Java Developer
6.45K subscribers
235 photos
8 videos
12 files
279 links
MAKE JAVA GREAT AGAIN

Мемы: @java_memes
加入频道
Два варианта решения
Выключить тесты в Maven

По умолчанию, когда разработчик запускает билд проекта, Maven автоматически стартует юнит-тесты. Если некоторые тесты валятся, то Maven прекращает билд. Часто бывает нужно собрать проект, пропустив тесты. Вот пара команд для этого:

mvn package -Dmaven.test.skip=true
Пропускает компиляцию тестов и их запуск

mvn package -DskipTests
Компилирует тесты, но не запускает их

#Maven #Cheat
Что подходит и для интерфейса и для абстрактного класса? Выбрать все возможные варианты.

A. Методы должны быть абстрактными
B. Может содержать public static final переменные
C. Может использовать ключевое слово extends
D. Может содержать default методы
E. Может содержать static методы
F. Нельзя создать инстанс
G. Наследуется от класса Object
Правильные ответы: B, C, E, F

Вариант A не подходит. Абстрактный класс может содержать реализацию метода, а интерфейс с восьмой Джавы может содержать статический и дефолтный метод.

Вариант B верный. В интерфейсе все переменные public static final, а абстрактный класс тоже может их содержать.

Вариант C верный. И абстрактный класс и интерфейс могут использовать extends. Но в отличие от класса, интерфейс поддерживает множественное наследование.

Вариант D не подходит. Только интерфейс может иметь default метод.

Вариант E верный. И абстрактный класс и интерфейс могут содержать static методы.

Вариант F верный. Нужно иметь конкретную реализацию абстрактного класса или интерфейса, чтобы создать объект такого типа.

Вариант G не подходит. Инстанс класса, который реализует интерфейс, наследник класса Object, но сам интерфейс нет.
Посты о Git

Пока все обсуждают, что Microsoft купила GitHub, сделал подборку постов о Git.

Что такое Git
https://yangx.top/java_developer/15

Жизненный цикл файлов
https://yangx.top/java_developer/19

Состояния файлов
https://yangx.top/java_developer/20

Ресурсы для изучения
https://yangx.top/java_developer/21

Популярные команды
https://yangx.top/java_developer/30

Частые проблемы и их решения
https://yangx.top/java_developer/56

#git
Молодой против опытного

Проводил опрос "Если бы вы были Тим лидом, кого бы выбрали к себе в команду" https://yangx.top/java_developer/112. Выбрать можно было одного из двух кандидатов. Первый - молодой разработчика с горящими глазами, который знает только основы. Второй - опытный дорогостоящий разработчик. Голоса в процентах распределелились 70 на 30. Публикую ответы ребят, почему они выбрали свой вариант.

Молодой разработчик
— приносит свежие идеи в проект
— как воспитаешь, так и будет кодить
— стремится стать хорошим спецом и не бежит за зарплатой
— не нужно переубеждать в правильности решения
— в перспективе принесет реальную отдачу, если не жмут сроки проекта и есть кому обучать

Опытный разработчик
— начинает приносить пользу сразу
— быстрее и правильнее решает задачи
— когда горит проект, уменьшает риски срыва проекта
— уже знает необходимые технологии
— сложно находить общую точку зрения
Что посмотреть на выходных

Курс по Джаве для начинающих от Вячеслава Ковалевского
https://www.youtube.com/playlist?list=PLsQAG1V_t58AKvV5v4NVXxo68OyLdNX3j

Интервью разработчика, который родился в Краснодарском крае, а сейчас переехал в Америку и работает в Tesla
https://youtu.be/QXjzP-zndrE

Доклад Евгения Борисова о Spring Data
https://youtu.be/nwM7A4TwU3M

#чтопосмотреть
Effective Java

Книга рассказывает тонкости базовых принципов Джавы. Её написал один из авторов языка Джошуа Блох. Подходит тем, кто изучил синтаксис, написал пару мини-проектов и хочет глубже изучить Джаву. Также отличная книга для желающих укрепить знания и перейти с позиции Джуниор на позицию Мидл.

Второе издание состоит из 77 полезных правил и тонкостей. Автор описал решение ежедневных задач разработчика. На примерах подробно объясняет, как нужно и не нужно кодить, чтобы получился надёжный и эффективный код.

Ниже публикую скрины содержания и саму книгу в формате djvu.

#книги
Испытательный срок

У меня в компании испытательный срок длится три месяца. После трудоустройства Тимлид ставит разработчику задачи на этот период: познакомиться с системой, на которой будет работать, изучить используемые фреймворки, разработать конкретные модули.

После испытательного НR проводит встречу с разработчиком и Тимлидом. Это своего рода аттестация. Цель – подвести итоги испытательного срока: оценить работу сотрудника, посмотреть с какими задачами справился, дать обратную связь HR-у.

Оценка сотрудника проводится по следующим параметрам: результативность работы, соответствие занимаемой должности, ответственность, инициативность, вовлечённость. Сначала разработчик ставит себе балл от 1 до 5, затем Тимлид, и оба объясняют свой выбор. Таким образом происходит открытое обсуждение плюсов и минусов работы сотрудника.

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

#компании
Подготовка к сертификации по Джаве

Мне и ещё двум Джавистам на аттестации, про которую рассказывал вчера, поставили задачу - получить сертификат Oracle Certificate Associate и начать готовиться к Oracle Certificate Professional.

Я попросил коллег присылать интересные задачи и материалы, которые попадаются во время подготовки. Буду публиковать их здесь.

Ссылки:
Книга, по которой готовлюсь к экзамену
https://www.amazon.com/dp/1118957407/ref=cm_sw_r_sms_awdb_t1_YC8iBbP3TERAB
Статья, в которой разработчик рассказывает, какие были сертификаты в 2016, и как выглядела сдача экзамена
https://m.habr.com/post/317432/
Какой импорт нужно добавить, чтобы следующий код скомпилировался?

public class Imports {
public void read(Files files) {
Paths.get("name");
}
}


Классы Files и Paths находятся в одном пакете java.nio.file
Два правильных ответа:
1. импорт всего пакета
import java.nio.files.*;
2. импорт обоих классов
import java.nio.files.Files;
import java.nio.files.Paths;

Импорты, которые не подойдут:
import java.nio.*; подпакеты не импортируются
import java.nio.*.*; можно использовать только одно сокращение с символом *
import java.nio.files.Paths.*; нельзя импортировать методы, только классы