Разработка на Go — удалённая работа в Москве

Дата: 2024-02-14
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
от 1000.00 руб.
Дата публикации
2024-02-14
Описание
Системное программирование. Разработка с нуля. Пользователь хочет считать арифметические выражения. Он вводит строку 2 + 2 * 2 и хочет получить в ответ 6. Но наши операции сложения и умножения (также деления и вычитания) выполняются “очень-очень“ долго. Поэтому вариант, при котором пользователь делает http-запрос и получает в качетсве ответа результат, невозможна. Более того: вычисление каждой такой операции в нашей “альтернативной реальности“ занимает “гигантские“ вычислительные мощности. Соответственно, каждое действие мы должны уметь выполнять отдельно и масштабировать эту систему можем добавлением вычислительных мощностей в нашу систему в виде новых “машин“. Поэтому пользователь, присылая выражение, получает в ответ идентификатор выражения и может с какой-то периодичностью уточнять у сервера “не посчиталость ли выражение“? Если выражение наконец будет вычислено - то он получит результат. Помните, что некоторые части арфиметического выражения можно вычислять параллельно. Front-end часть GUI, который можно представить как 4 страницы Форма ввода арифметического выражения. Пользователь вводит арифметическое выражение и отправляет POST http-запрос с этим выражением на back-end. Примечание: Запросы должны быть идемпотентными. К запросам добавляется уникальный идентификатор. Если пользователь отправляет запрос с идентификатором, который уже отправлялся и был принят к обработке - ответ 200. Возможные варианты ответа: 200. Выражение успешно принято, распаршено и принято к обработке 400. Выражение невалидно 500. Что-то не так на back-end. В качестве ответа нужно возвращать id принятного к выполнению выражения. Страница со списком выражений в виде списка с выражениями. Каждая запись на странице содержит статус, выражение, дату его создания и дату заверщения вычисления. Страница получает данные GET http-запрсом с back-end-а Страница со списком операций в виде пар: имя операции + время его выполнения (доступное для редактирования поле). Как уже оговаривалось в условии задачи, наши операции выполняются “как будто бы очень долго“. Страница получает данные GET http-запрсом с back-end-а. Пользователь может настроить время выполения операции и сохранить изменения. Страница со списком вычислительных можностей. Страница получает данные GET http-запросом с сервера в виде пар: имя вычислительного ресурса + выполняемая на нём операция. Требования: Оркестратор может перезапускаться без потери состояния. Все выражения храним в СУБД. Оркестратор должен отслеживать задачи, которые выполняются слишком долго (вычислитель тоже может уйти со связи) и делать их повторно доступными для вычислений. Back-end часть Состоит из 2 элементов: Сервер, который принимает арифметическое выражение, переводит его в набор последовательных задач и обеспечивает порядок их выполнения. Далее будем называть его оркестратором. Вычислитель, который может получить от оркестратора задачу, выполнить его и вернуть серверу результат. Далее будем называть его агентом. Оркестратор Сервер, который имеет следующие endpoint-ы: Добавление вычисления арифметического выражения. Получение списка выражений со статусами. Получение значения выражения по его идентификатору. Получение списка доступных операций со временем их выполения. Получение задачи для выполения. Приём результата обработки данных. Агент Демон, который получает выражение для вычисления с сервера, вычисляет его и отправляет на сервер результат выражения. При старте демон запускает несколько горутин, каждая из которых выступает в роли независимого вычислителя. Количество горутин регулируется переменной среды. 0 Необходимые требования: - Существует Readme документ, в котором описано, как запустить систему и как ей пользоваться. - Это может быть docker-compose, makefile, подробная инструкция - на ваш вкус - Если вы предоставляете только http-api, то - в Readme описаны примеры запросов с помощью curl-a или любым дргуми понятными образом - примеры полны и понятно как их запустить Этот пункт дает 10 баллов. Без наличия такого файла - решение не проверяется. 1 Программа запускается и все примеры с вычислением арифметических выражений корректно работают - 10 баллов 2 Программа запускается и выполняются произвольные примеры с вычислением арифметических выражений - 10 баллов 3 Можно перезапустить любой компонент системы и система корректно обработает перезапуск (результаты сохранены, система продолжает работать) - 10 баллов 4 Система предосталяет графический интерфейс для вычисления арифметических выражений - 10 баллов 5 Реализован мониторинг воркеров - 20 баллов 6 Реализован интерфейс для мориторинга воркеров - 10 баллов 7 Вам понятна кодовая база и структура проекта - 10 баллов (это субъективный критерий, но чем проще ваше решение - тем лучше). Проверяющий в этом пункте честно отвечает на вопрос: “Смогу я сделать пулл-реквест в проект без нервного срыва“ 8 У системы есть документация со схемами, которая наглядно отвечает на вопрос: “Как это все работает“ - 10 баллов 9. Выражение должно иметь возможность выполняться разными агентами - 10 баллов Итого 110 баллов.
Похожие заказы
Разработка на Go
дистанционно
договорная
Веб-разработка. Разработка с нуля. Разработка краулера на языке Go, предназначенного для сканирования веб-сайтов с целью выявления SEO-ошибок. Краулер должен быть интегрирован в существующий сервис, предоставлять данные для последующего анализа и поддерживать многопоточное выполнение заданий. Основные требования: 1. Модульность: Краулер должен быть реализован как отдельный модуль, способный интегрироваться с существующими системами. 2. Эффективность и минимальная нагрузка: Краулер должен эффективно использовать системные ресурсы, обеспечивая минимальную нагрузку на сканируемые сайты. 3. Конфигурируемость: Все параметры настройки краулера должны браться из базы данных MySQL. Функциональные требования: 1. Сбор базовых SEO-данных: o HTTP статус коды страниц. o Наличие и корректность тегов , <meta name="description">. o Наличие H1 и их уникальность в пределах одной страницы. o Проверка наличия атрибутов alt у изображений. o Проверка наличия внешних ссылок o Анализ на наличие https протокола для обеспечения безопасности соединения. o Сбор внутренних ссылок с привязкой к странице, с которой идет ссылка и какой статус отдает. 2. Поддержка robots.txt: Краулер должен учитывать файл robots.txt сайтов, не обрабатывая запрещённые для индексации страницы и ресурсы. 3. Многопоточность: Краулер должен быть многопоточным и способен выполнять одновременно несколько заданий. 4. Уведомления о завершении задания: По завершению каждого задания краулер должен отправлять вебхук на заданный URL. 5. Работа как сервис: Краулер должен работать в режиме демона или сервиса, который может управляться посредством HTTP запросов. 6. Получение статусов заданий по HTTP: Возможность получения текущего статуса заданий через HTTP запросы. Технические требования: 1. Использование Go: Краулер должен быть написан на языке программирования Go. 2. Библиотеки: Рекомендуется использование библиотеки Colly для краулинга и Goquery для парсинга HTML-документов. 3. Логирование: Необходима система логирования для отслеживания ошибок и предупреждений в процессе работы краулера. 4. Конфигурация: Параметры краулера должны задаваться через внешний конфигурационный файл и храниться в базе данных MySQL. Разработка: 1. Разработка: Код должен быть чистым, хорошо структурированным и соответствовать стандартам кодирования Go. 2. Документация: Разработать подробную документацию по работе с краулером, включая описание параметров конфигурации, инструкции по управлению сервисом и получению статусов заданий через HTTP.</div> <div class="similar-orders__list-item-bottom"> <div class="similar-orders__list-item-region d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt-fill" viewBox="0 0 16 16"> <path d="M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10m0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6"/> </svg> Москва </div> <div class="similar-orders__list-item-cat d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-bounding-box me-1" viewBox="0 0 16 16"> <path d="M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5M.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5"/> <path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0"/> </svg> Фрилансеры</div> <div class="similar-orders__list-item-date d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar-check me-1" viewBox="0 0 16 16"> <path d="M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z"/> <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z"/> </svg> 2024-04-27 </div> </div> <a href="https://napodrabotku.ru/order/66514282" class="similar-orders__list-item-link"> <span class="similar-orders__list-item-link-title">Подробнее</span> </a> </div> </div> <div class="similar-orders__list-item"> <div class="similar-orders__list-item-content"> <div class="similar-orders__list-item-title">Разработка на Go</div> <div class="similar-orders__list-item-cols"> <div class="similar-orders__list-item-type">дистанционно</div> <div class="similar-orders__list-item-salary">договорная</div> </div> <div class="similar-orders__list-item-description">Создание десктопного антивируса для одного вирусного exe файла. Разработка с нуля. Есть exe. файл, который ведет себя следующим образом: при открытии запрашивает права администратора, открывается окно "Вы выиграли миллион!", после закрытия окна перекидывает на сайт. Далее окно с выигрышем начинает открываться самостоятельно каждую минуту. Если права администратора при открытии вируса не выдать - программа не будет запускаться самостоятельно в следующие разы. Если exe. файл удалить - окошко и сайт так же не будут открываться в след-е разы. Нужно написать десктопный антивирус для этого файла на языке Golang, который будет прекращать работу вируса и удалять его.</div> <div class="similar-orders__list-item-bottom"> <div class="similar-orders__list-item-region d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt-fill" viewBox="0 0 16 16"> <path d="M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10m0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6"/> </svg> Москва </div> <div class="similar-orders__list-item-cat d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-bounding-box me-1" viewBox="0 0 16 16"> <path d="M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5M.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5"/> <path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0"/> </svg> Фрилансеры</div> <div class="similar-orders__list-item-date d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar-check me-1" viewBox="0 0 16 16"> <path d="M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z"/> <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z"/> </svg> 2024-04-19 </div> </div> <a href="https://napodrabotku.ru/order/66255665" class="similar-orders__list-item-link"> <span class="similar-orders__list-item-link-title">Подробнее</span> </a> </div> </div> <div class="similar-orders__list-item"> <div class="similar-orders__list-item-content"> <div class="similar-orders__list-item-title">Разработка на Go</div> <div class="similar-orders__list-item-cols"> <div class="similar-orders__list-item-type">дистанционно</div> <div class="similar-orders__list-item-salary">договорная</div> </div> <div class="similar-orders__list-item-description">маленькое приложение. Разработка с нуля. Сделать небольшие задания.</div> <div class="similar-orders__list-item-bottom"> <div class="similar-orders__list-item-region d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt-fill" viewBox="0 0 16 16"> <path d="M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10m0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6"/> </svg> Москва </div> <div class="similar-orders__list-item-cat d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-bounding-box me-1" viewBox="0 0 16 16"> <path d="M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5M.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5"/> <path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0"/> </svg> Фрилансеры</div> <div class="similar-orders__list-item-date d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar-check me-1" viewBox="0 0 16 16"> <path d="M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z"/> <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z"/> </svg> 2024-04-16 </div> </div> <a href="https://napodrabotku.ru/order/66170551" class="similar-orders__list-item-link"> <span class="similar-orders__list-item-link-title">Подробнее</span> </a> </div> </div> <div class="similar-orders__list-item"> <div class="similar-orders__list-item-content"> <div class="similar-orders__list-item-title">Разработка на Go</div> <div class="similar-orders__list-item-cols"> <div class="similar-orders__list-item-type">дистанционно</div> <div class="similar-orders__list-item-salary">от 1000.00 руб.</div> </div> <div class="similar-orders__list-item-description">Веб-разработка. Обучение. Индивидуальные уроки, разбор кода , обучение чтению чужого кода, разбор стандартной библиотеки. Пожелания и особенности: Индивидуальные уроки, разбор кода , обучение чтению чужого кода, разбор стандартной библиотеки.</div> <div class="similar-orders__list-item-bottom"> <div class="similar-orders__list-item-region d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt-fill" viewBox="0 0 16 16"> <path d="M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10m0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6"/> </svg> Москва </div> <div class="similar-orders__list-item-cat d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-bounding-box me-1" viewBox="0 0 16 16"> <path d="M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5M.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5"/> <path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0"/> </svg> Фрилансеры</div> <div class="similar-orders__list-item-date d-flex align-items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar-check me-1" viewBox="0 0 16 16"> <path d="M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z"/> <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z"/> </svg> 2024-04-09 </div> </div> <a href="https://napodrabotku.ru/order/65951395" class="similar-orders__list-item-link"> <span class="similar-orders__list-item-link-title">Подробнее</span> </a> </div> </div> </div> </div> <div class="category-orders__text"> </div> </div> </div> </div> <div class="footer"> <div class="footer__content container-md"> <div class="footer__links"> <ul class="footer__links-block"> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-stroyka-remont" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Строительство и ремонт</span> <span class="footer__links-link-count">(114907)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-beauty-master" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Красота</span> <span class="footer__links-link-count">(38512)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-tutor" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Репетиторы</span> <span class="footer__links-link-count">(33021)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-home-staff" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Домашний персонал</span> <span class="footer__links-link-count">(19159)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-freelancers" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Фрилансеры</span> <span class="footer__links-link-count">(12884)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-accountants-lawyers" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Бухгалтеры и юристы</span> <span class="footer__links-link-count">(9822)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-raznye-specialisty" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Разные специалисты</span> <span class="footer__links-link-count">(8186)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/artisty" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Артисты</span> <span class="footer__links-link-count">(6743)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-animal-care" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Уход за животными</span> <span class="footer__links-link-count">(5638)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-trenery" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Тренеры</span> <span class="footer__links-link-count">(4079)</span> </a> </li> <li class="footer__links-item"> <a href="https://napodrabotku.ru/msk/jobs-avtoinstruktory" class="footer__links-link"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-caret-right-fill" viewBox="0 0 16 16"> <path d="m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/> </svg> <span class="footer__links-link-name ms-1">Автоинструкторы</span> <span class="footer__links-link-count">(2883)</span> </a> </li> </ul> </div> </div> <div class="footer__copyright"> <div class="footer__copyright-content container-md"> Copyright © 2024 </div> </div> </div> </body> </html>