Java Portal | Программирование
12.2K subscribers
1.36K photos
108 videos
42 files
1.37K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Backend interview task:

Разработчик выполнил:
git reset --hard HEAD~1


После этого запаниковал — команда удалила коммит
с 3 часами работы.

Можно ли восстановить изменения?
A) Нет — hard reset навсегда удаляет коммиты
B) Да — git reflog хранит недавние позиции HEAD, оттуда можно восстановиться
C) Да — но только если коммит был запушен в remote
D) Нет — только при наличии локального бэкапа

Правильный ответ: B

git reset --hard удаляет ссылку на коммит из текущей ветки, но сам объект коммита обычно ещё остаётся в локальном репозитории.

Восстановление:
git reflog


Git покажет историю перемещений HEAD:
abc1234 HEAD@{1}: commit: add payment retry logic
def5678 HEAD@{0}: reset: moving to HEAD~1


Дальше можно вернуть состояние:
git reset --hard abc1234


или создать новую ветку:
git checkout -b recovery abc1234


Пока не сработал garbage collector и объекты не были очищены, коммит восстанавливается без проблем.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Совет по Java: ловите ошибки ещё на этапе компиляции — помечайте переопределённые методы аннотацией @Override.

@Override
public void process() {
// logic
}


Если сигнатура метода не совпадёт с методом родительского класса или интерфейса, компилятор сразу выдаст ошибку вместо тихого создания нового метода.
#Java #Annotations

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчику пригодится это приложение.

Запуск эмулятора iOS или Android за секунды.
Бесплатное, нативное и с открытым исходным кодом:

http://minisim.app

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
1