Ir al contenido principal

avito.tech

Тестовое

Debes заданиеdesarrollar наuna позициюinterfaz стажёра-фронтендера

para

Нужноel разработать интерфейс для сайтаsitio Hacker News, состоящийque изconste двухde страниц.2 páginas.

ПродуктовыеRequisitos требованияdel producto

ГлавнаяPágina страницаprincipal


  • ПоказываетMuestra последниеlas últimas 100 новостейnoticias вen видеforma списка,de отсортированногоlista, поordenadas дате,por самыеfecha, свежиеcon сверху.las más recientes en la parte superior.
  • КаждаяCada новостьnoticia содержит:debe contener:
    • названиеTítulo
    • рейтингPuntuación
    • никNombre автораdel autor
    • датуFecha публикацииde publicación
  • ПоAl кликуhacer наclic новостьen происходитuna переходnoticia, наse страницуdebe новостиredirigir a la página de detalles de la noticia.
  • СписокLa новостейlista долженde автоматическиnoticias обновлятьсяdebe разactualizarse вautomáticamente минутуcada безminuto участияsin пользователяintervención del usuario.
  • НаLa страницеpágina должнаdebe бытьtener кнопкаun дляbotón принудительногоpara обновленияactualizar спискаmanualmente новостейla lista de noticias.

Страница

Página новости

de detalles de la noticia
  • ДолжнаDebe содержать:contener:
    • ссылкуEnlace наa новостьla noticia
    • заголовокTítulo новостиde la noticia
    • датуFecha
    • автораAutor
    • счётчикContador количестваde комментариевcomentarios
    • списокLista комментариевde вcomentarios видеen дереваforma de árbol
      • Los comentarios raíz se cargan inmediatamente al entrar en la página, los comentarios anidados se cargan al hacer clic en el comentario raíz.
  • КорневыеLa комментарииpágina подгружаютсяdebe сразуtener жеun приbotón входеpara наactualizar страницу,manualmente вложенныеla -lista поde клику на корневойcomentarios.
  • НаLa страницеpágina должнаdebe бытьtener кнопкаun дляbotón принудительногоpara обновленияregresar спискаa комментариев
  • la
  • Наlista страницеde должна быть кнопка для возврата к списку новостейnoticias.

ТехническиеRequisitos требованияtécnicos

  • ПриложениеLa разработаноaplicación сdebe использованиемdesarrollarse utilizando React иy ReduxRedux.
  • ИспользованSe debe usar laофициальный API oficial de Hacker News. ВызовыLas llamadas a la API de Hacker News APIy иel обработкаmanejo данныхde отlos негоdatos производятсяse напрямуюdeben сrealizar фронтендаdirectamente desde el front-end (кромеexcepto случая,si еслиrealizas выla сделаетеtarea опциональноеopcional задание проsobre Node.JS)js).
  • РоутингEl выполненenrutamiento сdebe использованиемhacerse con React Router v5v5.
  • ФреймворкEl framework de UI любойpuede наser вашеcualquiera усмотрениеde tu elección (какpor примерejemplo, Ant Design илиo Semantic UI).
      También
    • Можноse иpuede наhacer чистомcon css,CSS главное,puro, чтобыlo былоimportante красиво
    • es
    que sea atractivo.
  • ПакетныйGestor менеджерde paquetes: yarn.
  • ПриложениеLa должноaplicación запускатьсяdebe поejecutarse адресуen la dirección localhost:3000 командойcon el comando yarn start.
  • ПриAl переходахnavegar поentre ссылкамenlaces, страницаla неpágina перезагружаетсяno debe recargarse.
  • ИсходныйEl кодcódigo решенияfuente долженde бытьla выложенsolución сdebe вашегоsubirse аккаунтаa наtu cuenta de Github con сun Readmearchivo файломREADME.md сcon инструкциейinstrucciones поpara запускуla ejecución.

Tareas opcionales

  • Uso de TypeScript.
  • Backend para hosting de estáticos y API para encapsular solicitudes externas en Node.js.
  • Cobertura del código con pruebas unitarias.

ОпциональныеDesglose задания

de
    la
  • Использованиеtarea TypeScript
  • Бэкенд для хостинга статики и API для инкапсуляции внешних запросов на Node.JS
  • Покрытие кода юнит-тестами

Разбор тествого заданияtécnica

ПримерUn решенияejemplo тестовогоde заданияsolución можноde найтиla вtarea папкеtécnica se puede encontrar en la carpeta SolutionExample. РешениеLa представленноsolución наse основногоpresenta одногоbasada изen решенныхuna тестовыхde заданийlas tareas técnicas resueltas.

РешениеLa состоитsolución изconsta двухde частей.dos Вpartes. первойLa реализованаprimera клиентскаяimplementa частьla вместеparte сdel опицональнымиcliente заданиями.junto Втораяcon состоитlas изtareas сервернойopcionales. части.La Каждаяsegunda частьconsta содержитde свойla parte del servidor. Cada parte contiene su propio README.md поcon запускуinstrucciones para la ejecución.