Вернуться в видеотекуСобеседование на Android разработчика для dev.to
Разбор учебного Android-интервью вокруг разработки клиента dev.to: от архитектуры и Markdown до хранения медиа, производительности и ссылок. В конце — подробная обратная связь кандидату и ответы ведущего на вопросы зрителей.
- Направление
- Mobile
- Формат
- Видео
- Длительность
- 2 ч 4 мин
Коротко о видео
Это учебное онлайн-собеседование Android-разработчика Паши для гипотетического нативного клиента dev.to, а не интервью в реальную компанию. Участники разбирают проектирование MVP, обработку Markdown, ленты и пагинации, потоковый JSON-парсинг, хранение черновиков и изображений, ContentProvider, производительность RecyclerView и Deep/App Links. В финале интервьюер даёт субъективную обратную связь: отмечает опыт кандидата, но считает, что для senior-уровня не хватило самостоятельного архитектурного мышления, уточнения требований и ясной аргументации технологических решений.
Затронутые темы
Что взять на заметку
- Перед выбором архитектуры и библиотек на интервью нужно сначала запросить ограничения: состав MVP, минимальную версию Android, целевые устройства, офлайн-сценарии, размер статей и ожидаемые форматы контента.
- Выбирая стек, объясняйте не только личное знакомство с ним, но и альтернативы, стоимость поддержки, найм разработчиков и путь развития проекта; интервьюер отдельно критиковал отсутствие такой аргументации.
- Для длинных Markdown-статей стоит преобразовывать результат парсинга в модели блоков: текст со span-оформлением, изображения и видео — отдельные элементы. Отрисовка одной огромной кастомной View несёт риск проблем с памятью и плавностью.
- Пагинация нужна не только ради трафика, но и для ограничения объёма объектов и работы UI; при крупных JSON-массивах потоковый парсинг позволяет обрабатывать законченные элементы без загрузки всего документа в память.
- Черновик статьи и добавленные пользователем изображения надёжнее сохранять в internal storage приложения, а в базе хранить URI и метаданные. Ссылка на файл во внешней галерее ненадёжна: файл могут удалить, переместить или изменить.
- При тормозах прокрутки сначала нужно установить конкретный источник задержки. Среди обсуждённых мер — разбивка статьи на элементы RecyclerView, кэширование и предзагрузка изображений, а также PrecomputedText для фоновой подготовки текстового layout.
- Нужно различать Deep Links и Android App Links: App Links требуют подтверждения владения доменом и позволяют открывать ссылку приложением без выбора обработчика; для передачи файлов между приложениями используют URI и временные разрешения через FileProvider/ContentProvider.