{"id":24097321,"url":"https://github.com/0xataru/bad_test","last_synced_at":"2026-06-14T05:33:06.026Z","repository":{"id":225341629,"uuid":"764712563","full_name":"0xataru/bad_test","owner":"0xataru","description":"Test task for BAD program","archived":false,"fork":false,"pushed_at":"2024-03-05T09:33:13.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-22T05:03:10.533Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xataru.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-28T15:23:03.000Z","updated_at":"2024-02-28T15:36:09.000Z","dependencies_parsed_at":"2024-03-04T13:29:54.747Z","dependency_job_id":"d46efee5-0d4d-4386-a728-672751b11b75","html_url":"https://github.com/0xataru/bad_test","commit_stats":null,"previous_names":["markraiter/bad_test","ataru993/bad_test","0xataru/bad_test"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xataru/bad_test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xataru%2Fbad_test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xataru%2Fbad_test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xataru%2Fbad_test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xataru%2Fbad_test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xataru","download_url":"https://codeload.github.com/0xataru/bad_test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xataru%2Fbad_test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34310801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-10T13:26:57.325Z","updated_at":"2026-06-14T05:33:06.004Z","avatar_url":"https://github.com/0xataru.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bad_test\n\n## Завдання для програми Become a Developer\n\n##### Завдання - знайти наступні чотири/шість значень:\n1. максимальне число в файлі;\n2. мінімальне число в файлі;\n3. медіану ( https://goo.gl/hiCwVw );\n4. середнє арифметичне значення ( https://goo.gl/XJeAjZ );\n5. найбільшу послідовність чисел (які ідуть один за одним), яка збільшується (опціонально)\n6. найбільшу послідовність чисел (які ідуть один за одним), яка зменьшується (опціонально)\n\n__*Запропонований метод рішення повинен знаходити всі чотири/шість величин з файлу не більше ніж за 90 секунд.*__\n\n###### Обмеження #1:\nБудь-яка людина повинна мати можливість скористатися вашим методом. Це означає, наприклад, якщо для вирішення завдання Ви використовували свою власну програму, то будь-яка інша людина повинна мати можливість її скомпілювати/запустити і т.д.; якщо Ви використовували сторонні програми/утиліти, то будь-яка людина повинна мати можливість їх також встановити та користуватися; також будь-яка людина може взяти зовсім інший файл з іншим набором цілих чисел і знайти всі чотири вказані величини;\n    \n###### Обмеження #2:\nпри вирішенні задачі не можна використовувати нелегальне програмне забезпечення (пропрієтарне ПЗ, яке зазнало злому, піратські копії ПЗ, тощо). Також якщо ви запозичили ідею рішення, ПЗ або вихідні джерела (або якусь їх частину) у друга/колеги/в інтернеті/де-завгодно, то згадайте джерело.\n\n\n\n###### РІШЕННЯ:\n\n_Рішення виглядає як API, що має лише один ендпоінт. Можна завантажити .txt файл, розміром __до 100мб__. Сервіс зчитає всі цілі числа з файлу та видасть відповіді разом з часом виконаня у вигляді JSON._\n\nСервіс задеплоїний у тестовий продакшн, тож він відповідає вимозі Обмеження #2 стосовно того що будь-хто має можливість скористатися методом. Для того щоб протестувати, перейдіть за посиланням: \nhttps://bad-test.foradmin.pp.ua\nКод сервісу пожна подивитись за посиланням:\nhttps://github.com/markraiter/bad_test\n\nДля вирішення завдання використовується мова програмування Go (Golang), яка має потужний інструмент управління конкурентністю завдяки горутинам. \nЦей код використовує горутини для обчислення максимального та мінімального значень, медіани та суми чисел одночасно, що дозволяє використовувати конкурентність для прискорення обчислень. Також використовується оптимальний алгоритм для пошуку медіани та обчислення суми чисел. Завдяки цьому, файл, який запропоновано в завданні (https://drive.google.com/file/d/1LxSB6UEAVK0NLgU0ah5y0CBbD0gL_oO9/) обробляється за __4,9 секунд__.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xataru%2Fbad_test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xataru%2Fbad_test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xataru%2Fbad_test/lists"}