Последовательный fetch и 5 способов решения

На технических собеседованиях, помимо проверки теоретических знаний, принято задавать задачки, чтоб оценить уровень практических знаний кандидата, его способность писать код, способность мыслить логически и алгоритмически. Часто в этот список входят алгоритмические задачи. Все уже к ним привыкли и при подготовке, в первую очередь, смотрят именно на них. Список там большой, но основное, что чаще всего встречается, выглядит примерно так:

  • факториал
  • числа Фибоначчи
  • уникальность элементов массива
  • проверка на сбалансированность скобок внутри текста
  • сортировки (mergeSort, insertionSort, bubbleSort, quickSort)
  • деревья (обход в глубину / обход в ширину / нахождение кратчайшего пути между узлами)

За последние два года, проведя порядка 70 собеседований по JavaScript, постепенно начал понимать, что они не всегда отражают действительность, так как именно их и ожидает кандидат, именно к ним он и подготовился лучше всего (а если не подготовился, то сам виноват).

Поэтому хотелось задания, которое удовлетворяло бы таким критериям:

  • легкость для понимания кандидатом
  • приближено к реальной задаче
  • способность отразить уровень практических знаний кандидата
  • наличие нескольких решений
  • не занимало бы много времени на решение

И самая, на мой взгляд, простая практическая задача оказалась в числе претендентов совершенно случайно.