Уточнение требований: созвониться с продакт-менеджером, чтобы понять бизнес-цель, критерии похожести квартир, список соседних городов, при каких условиях показывать альтернативы.
Продакт-менеджер просит сделать за месяц фичу: при отсутствии квартир в Питере на майские показывать похожие варианты в соседних городах (Выборг, Кронштадт). Нет аналитика, нет ТЗ. Опиши шаги от разговора до первого коммита.
Уточнение требований: созвониться с продакт-менеджером, чтобы понять бизнес-цель, критерии похожести квартир, список соседних городов, при каких условиях показывать альтернативы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
- Уточнение требований: созвониться с продакт-менеджером, чтобы понять бизнес-цель, критерии похожести квартир, список соседних городов, при каких условиях показывать альтернативы.
- Анализ данных: проверить, есть ли данные по квартирам в соседних городах, как они хранятся, как быстро можно получить список квартир.
- Определение критериев похожести: обсудить с продактом и, возможно, с командой, что считать похожими вариантами (цена, район, тип жилья).
- Проектирование решения: на основе требований спроектировать логику — при отсутствии квартир в Питере на выбранные даты показывать альтернативы из соседних городов.
- Техническое задание: оформить краткое ТЗ для команды разработки, согласовать с продактом.
- Оценка и планирование: оценить объем работы, разбить на задачи, определить приоритеты.
- Подготовка окружения: настроить ветку в репозитории, подготовить необходимые инструменты.
- Реализация: написать код, покрыть тестами, сделать первый коммит.
Примерный код на Go для проверки наличия квартир и выбора альтернатив:
func GetAvailableApartments(city string, date time.Time) []Apartment {
apartments := fetchApartments(city, date)
if len(apartments) == 0 && city == "Saint Petersburg" {
neighbors := []string{"Vyborg", "Kronstadt"}
for _, c := range neighbors {
apartments = fetchApartments(c, date)
if len(apartments) > 0 {
break
}
}
}
return apartments
}
Этот код — лишь пример логики, детали зависят от архитектуры и данных.