TGViewer
Channel Public Channel
Java Developer

Java Developer

@java_developer

MAKE JAVA GREAT AGAIN

Мемы: @java_memes
Subscribers
6.34K
Photos
235
Videos
8
Links
279

Showing posts older than #123 · Back to latest

Older Posts 20 shown
Post #122 2.99K
Что подходит и для интерфейса и для абстрактного класса? Выбрать все возможные варианты.

A. Методы должны быть абстрактными
B. Может содержать public static final переменные
C. Может использовать ключевое слово extends
D. Может содержать default методы
E. Может содержать static методы
F. Нельзя создать инстанс
G. Наследуется от класса Object
Post #121 3.6K
Выключить тесты в Maven

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

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

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

#Maven #Cheat
Post #120 3.77K
Два варианта решения
Post #119 3.26K
Задача с собеседования

Написать метод, который принимает List элементов и возвращает List, который содержит элементы в том же порядке, но без дубликатов. Например, передаем исходный List[1,0,1,1,2,1,4,2] в метод и получаем List[1,0,2,4]
Post #118 3.66K
Конвертация листа интежеров в строку. Вывод: 1,2,3
Post #117 3.62K
Ситуация (продолжение). Вы team lead. Приняли на работу молодого сотрудника. Как организуете его первую рабочую неделю?

1. Обучение сотрудника. Расскажете о компании, кто за что отвечает в команде, подробно о проекте, отдельно про каждую используемую технологию.

2. Небольшие задачи. Расскажете суть проекта и дадите десяток простых задач для ознакомления - рефакторинг, обновление документации, фиксы багов.

3. Боевая задача. Дадите ссылку на репозиторий, линки на документацию, а после - большую боевую задачу, чтобы сам начал разбираться в проекте.
Post #116 2.8K
Java Developer Ситуация. Вы team lead. Выбираете себе разработчика на проект из двух кандидатов, которые понравились на собеседованиях. Первый знает нужные технологии, но дорого стоит. Второй знает только основы, но жаждит изучать новое. Кого выберете? anonymous poll Молодой…
По итогам опроса 30% проголосовало за опытного и 70% - за молодого. Отпишите, пожалуйста, в личку @zybkin почему выбрали тот или иной вариант. Интересно будет сделать анализ по ответам и поделиться потом со всеми.

Через два часа продолжим ситуацию с team lead’ом. Будем решать, какие задачи ставить новому junior-разработчику.
Post #115 2.62K
Java Developer Продолжаю публиковать вопросы из книги по подготовке к OCA. Какой будет результат выполнения кода? 1: public class _C { 2: private static int $; 3: public static void main(String[] main) { 4: String a_b; 5: System.out.print($); 6: System.out.print(a_b); 7:…
Правильный ответ номер 5. Локальная переменная должна быть обязательно инициализирована перед её использованием. 4-й ответ неверный, потому что статические и инстанс переменные имеют дефолтные значения и позволяют использовать себя. Переменная $ имеет значение по умолчанию 0. Варианты 1, 2, 3 не подходят, потому что имена переменных могут начинаться с буквы, знака нижнего подчёркивания или знака доллара. 6-й не подходит, потому что код не скомпилируется. Если бы переменная a_b была статическим полем класса _C, код скомпилировался бы, и программа вывела 0null.
Post #114 2.6K
Продолжаю публиковать вопросы из книги по подготовке к OCA.

Какой будет результат выполнения кода?
1: public class _C {
2: private static int $;
3: public static void main(String[] main) {
4: String a_b;
5: System.out.print($);
6: System.out.print(a_b);
7: } }

Варианты ответов:
1️⃣ Compiler error on line 1.
2️⃣ Compiler error on line 2.
3️⃣ Compiler error on line 4.
4️⃣ Compiler error on line 5.
5️⃣ Compiler error on line 6.
6️⃣ 0null
Post #113 2.73K
История Java

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

Программу, написанную на C++, можно запустить на процессоре почти любого типа. Но нужно скомпилировать код под конкретный процессор. А вот создание компилятора - сложный процесс. Поэтому команда разработчиков Sun во главе с Джеймсом Гослингом решила разработать язык, код которого можно будет скомпилировать в команды, понятные любому процессору. Через 5 лет они презентовали Java.

Когда программисты Sun уточняли детали нового языка программирования, интернет быстро развивался. Интернет появился у миллионов людей, и появилась проблема переносимости программ. Например, одна и та же программа должна работать на компьютерах с разнотипными процессорами, в разных операционных системах и с различными браузерами. Что и было реализовано в Джава-аплетах. В итоге интернет способствовал широкому распространению Джавы.

Я расписал коротко очень важную и интересную историю развития языка. Здесь же можно посмотреть подробную хронологию и особенности Джавы: https://habr.com/post/306476/
Post #112 3.2K
Ситуация. Вы team lead. Выбираете себе разработчика на проект из двух кандидатов, которые понравились на собеседованиях. Первый знает нужные технологии, но дорого стоит. Второй знает только основы, но жаждит изучать новое. Кого выберете?
anonymous poll

Молодой с горящими глазами – 274
👍👍👍👍👍👍👍 68%

Опытный разработчик – 131
👍👍👍 32%

👥 405 people voted so far. Poll closed.
Post #111 2.9K
Тесты с созданным мапером:

@Test
public void shouldMapCarToDto() {
//given
Car car = new Car("Morris", 5, CarType.SEDAN);

//when
CarDto carDto = CarMapper.INSTANCE.carToCarDto(car);

//then
assertThat(carDto).isNotNull();
assertThat(carDto.getMake()).isEqualTo("Morris");
assertThat(carDto.getSeatCount()).isEqualTo(5);
assertThat(carDto.getType()).isEqualTo("SEDAN");
}
Post #110 2.42K
Вот такой мапер можем написать с помощью MapStruct:

@Mapper
public interface CarMapper {

CarMapper INSTANCE = Mappers.getMapper(CarMapper.class);

@Mapping(source = "numberOfSeats", target = "seatCount")
CarDto carToCarDto(Car car);
}


Аннотация @Mapper указывает, что нужно сгенерировать нужный нам мапер. Аннотация @Mapping - что на что мапить. Если имена полей одинаковые, то их указывать не обязательно. Если нужно проигнорировать поля, то пишем @Mapping(target='...', ignore=true)
Post #109 2.51K
Вот пример с официального сайта. Есть сущность и её ДТОшка.

public class Car {

private String make;
private int numberOfSeats;
private CarType type; // Enum

//getters, setters etc.
}


public class CarDto {

private String make;
private int seatCount;
private String type;

//getters, setters etc.
}


Нужно написать мапер, который будет переводить Car в CarDto.
Post #108 2.43K
MapStruct

Крутая библиотека, которая генерирует умные маперы. Такие маперы переводят объекты из одного типа в другой. Например, сущность в DTO и наоборот. Перед конвертацией они проверяют объекты на null, отсутствующие поля пропускают, умеют сами переводить Enum в строку и многое другое.
Post #107 2.79K
Уровни сертификации на сайте Oracle
Post #106 2.95K
Сертификация по Джаве

Сертификацию по Java проводит Oracle, как компания, которой принадлежат права на язык программирования. Есть два уровня сертификатов: Associate и Professional. Professional сложнее, для его сдачи нужно знать больше тем и предварительно получить Associate. Сами сертификаты называются Oracle Certification Associate (OCA) и Oracle Certification Professional(OCP).

Для каждой версии Джавы есть отдельный сертификат: OCA Java SE 8, SE 7, SE 6... Плюс сертификаты на повышение. Например, если у вас есть OCP Java SE 7, то можете сдать экзамен, который содержит вопросы только по 8 Джаве. Если до этого не получали сертификат, то имеет смысл сдавать на OCA Java SE 8 и OCP Java SE 8, так как по Java 9 и 10 нет сертификации.

Зачем нужны сертификаты. Три плюса: сертификат структурирует знания во время подготовки к нему, делает профиль в LinkedIn более приятным и просматриваемым, избавляет от простейших вопросов на собеседовании.

Для получения OCA и OCP по 8 Джаве нужно сдать экзамены Java SE 8 Programmer I и Java SE 8 Programmer II. Цена каждого экзамена 245$.

Темы, по которым будут вопросы на Java SE 8 Programmer I:
— Запуск программ
— Принципы ООП
— Типы в Джаве
— Условные операторы и циклы
— Массивы и коллекции
— Исключения
— Лямбда-выражения

Темы по Java SE 8 Programmer II:
— Устройство класса
— Дженерики и коллекции
— Лямбды и функциональные интерфейсы
— Стримы
— Работа с датами
— Основы I/O
— NIO.2
— Многопоточность
— JDBC
Post #105 3.29K
Java Developer Какие из перечисленных переменных являются ссылочными? int[] ints; long[] longs; String[] strings; Object[] objects;
Все типы массивов являются ссылочными переменными. Хоть int и long примитивные типы, но int[] и long[] всё равно ссылочные типы.
Post #104 2.9K
Какие из перечисленных переменных являются ссылочными?

int[] ints;
long[] longs;
String[] strings;
Object[] objects;
Post #103 2.72K
Java Developer Что произойдёт после старта приложения?
На 4 строчке будет брошено исключение NullPointerException, блок catch не обработает данное исключение, выполнение перейдёт в блок finally. В итоге на экране будет написано c, иключение пробросится выше и программа завершит выполнение, выведя стэк трейс с NullPointerException.
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →