Skip to content

tochka-public/dotnet-task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Тестовое задание: бот для vk.com

ТЗ

Задача:

  • Программа представляет собой консольное приложение на языке C# (.Net Core или .Net Framework)
  • Программа запрашивает id очередного аккаунта до ввода пустой строки.
  • Должны поддерживаться id пользователей и групп, цифровые и человекочитаемые. Например:
    • id1
    • durov
    • public147415323
    • tech
  • Получить статистику последних 5 постов этого id в vk. Статистикачастотность букв, составляется из текста постов.
  • Вывести статистику в консоль.
  • Запостить сообщение от собственного аккаунта или группы с этой статистикой.
    • Формат сообщения: $"{username}, статистика для последних 5 постов: {stats}"
    • stats должен быть в виде JSON:
      • объект {"a": 0.01, "b": 0.0003}
      • или массив ["a": 0.01, "b": 0.0003]
    • username - имя пользователя или группы, которое можно узнать по id
  • Предусмотреть обработку ошибок и исключений.
  • По желанию, читать ключ api и прочие настройки из файла конфигурации.

Основная цель разработчика – делать что-то крутое, поэтому приветствуется:

  • Самостоятельное принятие решений, если в ТЗ что-то не учтено, с пояснением, в чем были сомнения и почему выбран какой-то вариант. Можно в виде кратких заметок или комментариев в коде.
  • Писать красивый, чистый и понятный код.
  • Закладываться на масштабируемость и изменение требований (мы так делать не будем, но представьте, что эту штуку придется поддерживать год и постоянно что-то менять)
  • Применять навыки работы со стандартными классами .net и сторонними библиотеками, например для вызовов VK API или сериализации JSON.
  • Применять принципы ООП и SOLID по назначению.

Частые вопросы

Не получается работать с vk или нет там учетки

Можно сделать то же самое с другой соцсетью, например twitter или facebook. Однако twitter в последнее время очень долго выдает ключи для api.

Не хочу светить свою страницу или захламлять стену постами бота

Можно создать группу и постить в ней. Нам не понадобится ключ api или проверять посты на вашей странице, можно удалить из кода любые упоминания о себе.

Считать статистику только по буквам, или символам тоже?

Как угодно, можно обойтись алфавитом, можно заморочиться и распознавать emoji, например.

Как и какие ошибки обрабатывать?

Если на странице нет постов, или нет текста в пяти последних?

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

Нужно ли сортировать статистику, как-то форматировать числа?

Можно сделать, если вам кажется, что так выглядит лучше.

About

Tasks for candidates on .net

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published