Fullstack-разработчик
· 22.02Вопрос
Коллеги-разработчики, часто ли в вашей практике встречались задачи, требующие нестандартных алгоритмических решений? Буду благодарен за примеры.
6 комментов
· 28.02
Заинтригован. Нестандартных алгоритмических, это как? В принципе, все задачи, связанные с реальным миром требуют нестандартных решений. Там, например, вызвать функцию несколько раз для верности — вполне распространенная практика. Нужно учитывать, что космические лучи вполне себе успешно меняют цифры в памяти, а программу нужно еще тестировать на устойчивость к ударам ногой и попаданию воды.
0
ответить
коммент удалён
· 28.02
Спасибо за подхват. В теории грамотно проработанная структура проекта, в моем понимании, не должна создавать ситуаций для обработки сложных структур, тем более на фронтенде. Но и такое бывает: можно встретить тройную вложенность цикла (из рассказов коллег) там, где можно обойтись одним
Признаюсь, в моей практике с какой-то нестандартной обработкой данных я встречался исключительно в задачах на LeetСode или на собеседовании, либо в разборе принципов работы фреймворков и анализа DOM-дерева и то не так стльно как зотелось бы.
Из личной практики у меня была задача, когда мы с бэкенд-разработчиком выбрали компромисс, и он отдавал мне список всех ПВЗ на карте страны.
Изначально я предположил, что базовая кластеризация API карты, которая создает группировку точек при скоплении на низком масштабе, должна справиться с этой задачей. Но не тут-то было. Все приходящие пункты дружно были прогнаны через рендер-функцию, отчего мой процессор прилег.
Решение: используя предварительную фильтрацию на основе оценки вьюпорта, я задал максимальное количество точек для отрисовки. Подробнее:
1. Приходит массив. 2. Оцениваю вьюпорт. 3. Отфильтровываю точки в диапазоне. 4. Проверяю количество оставшихся. 5. Тут фильтр делится по-умному. 6. Если их всё равно больше положенного, 7. делю вьюпорт на 16 частей и группирую те части, где превышено допустимое значение по заданной константе. 8. В тех кусках, где точек мало, просто отрисовываю.
0
ответить
ответ удалён
· 28.02
Плюс за оригинальность и иронию.
0
ответить
ответ удалён
· 28.02
Так вы из тех айтишников, которые с реальным миром не сталкиваются.
0
ответить
ответ удалён
· 28.02
Каюсь, очевидно не сталкивался.
0
ответить
ответ удалён
· 28.02
Наверное, мой вопрос больше относится к обработке данных, но любые другие примеры тоже интересны. Было бы интересно послушать опыт людей, работающих с графикой в интерфейсах приложений.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён