И снова про алгоритмы

Бытует мнение, что на бекенде алгоритмы - огого! А на фронте только кнопки красят. Но мы-то с вами знаем, что это не так. Хорошему фронтендеру (веб, мобилка - не важно) тоже частенько приходится применять алгоритмическое мышление и знание структур данных.

Начиная с более повседневных вещей типа оптимального обхода дерева или трансформации данных (очень желательно не за квадрат, не сожрать всю память, не крашнуться, и не словить ANR). Тут, кстати, цена неоптимального решения порой даже выше, чем на бекенде - сервера то все стерпят, а вот клиентские девайсы будут тормозить, греться и разряжаться.

Продолжим задачами типа мержа диффов при оптимистичном применении изменений локально. Особенно, когда данные могут разъехаться не только между клиентом и сервером, но и между несколькими клиентами. Примеры тому - собранная корзина в каком-нибудь еком-приложении, или пусть будет приложение заметок.

И закончим трудностями адаптации визуала к сложным данным. Например, вы пробовали в календаре отрисовать 5 частично пересекающихся встреч так, чтобы это оставалось читаемым? Или, скажем, задача визуализации графов с топологической сортировкой («А вызывает Б, значит А должно быть левее Б») и динамическим добавлением новых вершин так, чтобы пересечений линий было поменьше.

А вы спрашиваете, зачем алгосы на собеседованиях на фронтов. Не важно, какой путь выбрали вы - перекладывать жсоны или красить кнопки, алгосы ftw! Пишите в комментарии, как вы на фронтах применяете алгоритмы и структуры данных!