Правильные ответы: B, C, E, F
Вариант A не подходит. Абстрактный класс может содержать реализацию метода, а интерфейс с восьмой Джавы может содержать статический и дефолтный метод.
Вариант B верный. В интерфейсе все переменные
Вариант C верный. И абстрактный класс и интерфейс могут использовать
Вариант D не подходит. Только интерфейс может иметь
Вариант E верный. И абстрактный класс и интерфейс могут содержать
Вариант F верный. Нужно иметь конкретную реализацию абстрактного класса или интерфейса, чтобы создать объект такого типа.
Вариант G не подходит. Инстанс класса, который реализует интерфейс, наследник класса
Вариант 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
Пока все обсуждают, что 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://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
#чтопосмотреть
Курс по Джаве для начинающих от Вячеслава Ковалевского
https://www.youtube.com/playlist?list=PLsQAG1V_t58AKvV5v4NVXxo68OyLdNX3j
Интервью разработчика, который родился в Краснодарском крае, а сейчас переехал в Америку и работает в Tesla
https://youtu.be/QXjzP-zndrE
Доклад Евгения Борисова о Spring Data
https://youtu.be/nwM7A4TwU3M
#чтопосмотреть
Effective Java
Книга рассказывает тонкости базовых принципов Джавы. Её написал один из авторов языка Джошуа Блох. Подходит тем, кто изучил синтаксис, написал пару мини-проектов и хочет глубже изучить Джаву. Также отличная книга для желающих укрепить знания и перейти с позиции Джуниор на позицию Мидл.
Второе издание состоит из 77 полезных правил и тонкостей. Автор описал решение ежедневных задач разработчика. На примерах подробно объясняет, как нужно и не нужно кодить, чтобы получился надёжный и эффективный код.
Ниже публикую скрины содержания и саму книгу в формате djvu.
#книги
Книга рассказывает тонкости базовых принципов Джавы. Её написал один из авторов языка Джошуа Блох. Подходит тем, кто изучил синтаксис, написал пару мини-проектов и хочет глубже изучить Джаву. Также отличная книга для желающих укрепить знания и перейти с позиции Джуниор на позицию Мидл.
Второе издание состоит из 77 полезных правил и тонкостей. Автор описал решение ежедневных задач разработчика. На примерах подробно объясняет, как нужно и не нужно кодить, чтобы получился надёжный и эффективный код.
Ниже публикую скрины содержания и саму книгу в формате djvu.
#книги
Испытательный срок
У меня в компании испытательный срок длится три месяца. После трудоустройства Тимлид ставит разработчику задачи на этот период: познакомиться с системой, на которой будет работать, изучить используемые фреймворки, разработать конкретные модули.
После испытательного НR проводит встречу с разработчиком и Тимлидом. Это своего рода аттестация. Цель – подвести итоги испытательного срока: оценить работу сотрудника, посмотреть с какими задачами справился, дать обратную связь HR-у.
Оценка сотрудника проводится по следующим параметрам: результативность работы, соответствие занимаемой должности, ответственность, инициативность, вовлечённость. Сначала разработчик ставит себе балл от 1 до 5, затем Тимлид, и оба объясняют свой выбор. Таким образом происходит открытое обсуждение плюсов и минусов работы сотрудника.
При успешном прохождении испытательного срока после встречи разработчик получает задачи на следующие пол года. Например: изучить новые технологии, попробовать внедрить их в проект, разработать новые сервисы, провести митап.
#компании
У меня в компании испытательный срок длится три месяца. После трудоустройства Тимлид ставит разработчику задачи на этот период: познакомиться с системой, на которой будет работать, изучить используемые фреймворки, разработать конкретные модули.
После испытательного Н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/
Мне и ещё двум Джавистам на аттестации, про которую рассказывал вчера, поставили задачу - получить сертификат 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. импорт всего пакета
2. импорт обоих классов
Импорты, которые не подойдут:
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.*;
нельзя импортировать методы, только классыЧто произойдёт, если раскомментировать 3-ю строчку и запустить приложение?
1. Программа напечатает Black
2. Программа напечатает White
3. Код не с скомпилируется
4. Код скомпилируется, но при запуске выкинет исключение
1. Программа напечатает Black
2. Программа напечатает White
3. Код не с скомпилируется
4. Код скомпилируется, но при запуске выкинет исключение
Ответ: 2. Почему: в классе
X
переменная Y
и класс Y
находятся в одном скоупе. По спецификации в таком случае переменная имеет больший приоритет.Как сделать так, чтобы вывелось на экран Black? Нельзя использовать рефлекшн и менять классы X и C