Java Developer via @vote
Ситуация. Вы team lead. Выбираете себе разработчика на проект из двух кандидатов, которые понравились на собеседованиях. Первый знает нужные технологии, но дорого стоит. Второй знает только основы, но жаждит изучать новое. Кого выберете? anonymous poll Молодой…
По итогам опроса 30% проголосовало за опытного и 70% - за молодого. Отпишите, пожалуйста, в личку @zybkin почему выбрали тот или иной вариант. Интересно будет сделать анализ по ответам и поделиться потом со всеми.
Через два часа продолжим ситуацию с team lead’ом. Будем решать, какие задачи ставить новому junior-разработчику.
Через два часа продолжим ситуацию с team lead’ом. Будем решать, какие задачи ставить новому junior-разработчику.
Ситуация (продолжение). Вы team lead. Приняли на работу молодого сотрудника. Как организуете его первую рабочую неделю?
1. Обучение сотрудника. Расскажете о компании, кто за что отвечает в команде, подробно о проекте, отдельно про каждую используемую технологию.
2. Небольшие задачи. Расскажете суть проекта и дадите десяток простых задач для ознакомления - рефакторинг, обновление документации, фиксы багов.
3. Боевая задача. Дадите ссылку на репозиторий, линки на документацию, а после - большую боевую задачу, чтобы сам начал разбираться в проекте.
1. Обучение сотрудника. Расскажете о компании, кто за что отвечает в команде, подробно о проекте, отдельно про каждую используемую технологию.
2. Небольшие задачи. Расскажете суть проекта и дадите десяток простых задач для ознакомления - рефакторинг, обновление документации, фиксы багов.
3. Боевая задача. Дадите ссылку на репозиторий, линки на документацию, а после - большую боевую задачу, чтобы сам начал разбираться в проекте.
Задача с собеседования
Написать метод, который принимает
Написать метод, который принимает
List
элементов и возвращает List
, который содержит элементы в том же порядке, но без дубликатов. Например, передаем исходный List[1,0,1,1,2,1,4,2]
в метод и получаем List[1,0,2,4]
Выключить тесты в Maven
По умолчанию, когда разработчик запускает билд проекта, Maven автоматически стартует юнит-тесты. Если некоторые тесты валятся, то Maven прекращает билд. Часто бывает нужно собрать проект, пропустив тесты. Вот пара команд для этого:
Пропускает компиляцию тестов и их запуск
Компилирует тесты, но не запускает их
#Maven #Cheat
По умолчанию, когда разработчик запускает билд проекта, Maven автоматически стартует юнит-тесты. Если некоторые тесты валятся, то Maven прекращает билд. Часто бывает нужно собрать проект, пропустив тесты. Вот пара команд для этого:
mvn package -Dmaven.test.skip=true
Пропускает компиляцию тестов и их запуск
mvn package -DskipTests
Компилирует тесты, но не запускает их
#Maven #Cheat
Что подходит и для интерфейса и для абстрактного класса? Выбрать все возможные варианты.
A. Методы должны быть абстрактными
B. Может содержать
C. Может использовать ключевое слово
D. Может содержать
E. Может содержать
F. Нельзя создать инстанс
G. Наследуется от класса
A. Методы должны быть абстрактными
B. Может содержать
public static final
переменныеC. Может использовать ключевое слово
extends
D. Может содержать
default
методыE. Может содержать
static
методыF. Нельзя создать инстанс
G. Наследуется от класса
Object
Правильные ответы: 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, затем Тимлид, и оба объясняют свой выбор. Таким образом происходит открытое обсуждение плюсов и минусов работы сотрудника.
При успешном прохождении испытательного срока после встречи разработчик получает задачи на следующие пол года. Например: изучить новые технологии, попробовать внедрить их в проект, разработать новые сервисы, провести митап.
#компании