В этой части я расскажу о сайтах для людей, увлекающихся программированием, и для тех компьютерных фанатов, которые хотят улучшить свои навыки работы с алгоритмами, структурами данных, подготовиться к собеседованиям и т. Д.

Участие в таких соревнованиях больше похоже на спорт, когда у вас и ваших соперников есть ограниченное количество времени на решение 3–7 задач, но после соревнований вы становитесь друзьями, которые делятся верными решениями в Редакционных разделах.

Список таких сайтов очень велик, но есть очень полезный белорусский список всего текущего и предстоящего контента, в котором вы могли бы участвовать в этом месяце, который фактически является агрегатором всех предстоящих событий:
«http: // clist .от/"

Есть несколько ежегодных конкурсов, таких как Google Code Jam, Topcoder Open и Facebook Hackercup, в которых последний этап конкурса проводится в США на месте)

Topcoder и HackerEarth имеют список других компаний, которые проводят соревнования с крупными призами от 200 долларов США.

Kaggle больше подходит для специалистов по анализу данных и Big Data.

Также стоит упомянуть Topcoder longcontest или Maraphon, они позволяют вам практиковаться в решении сложных проблем NP с помощью удобного инструмента автономного тестирования визуализации с приятным пользовательским интерфейсом.

Hackerrank содержит комплекты для подготовки к собеседованию с 65 задачами, которые необходимы тем, кто хочет принять участие в техническом собеседовании Amazon on Microsoft.

Что касается книг, Seijwik Algorithm book и Cracking the Coding Interview могут быть хорошей отправной точкой.

Codechef и Codeforces (http://codeforces.com/ с VK Cup держатся) имеют рейтинговую систему и делят людей на подразделения. Например, чтобы пробиться в Дивизион 1, вы должны быть в топе 1000 человек в Дивизионе 2.

Codeforces и Topcoder Arena также вводят систему взломов, когда вы можете подготовить тестовый пример, когда ваше конкурирующее решение будет выдавать ложноположительный результат (неправильный вывод). Вы видите код своих соперников и можете строить предположения на его основе.

Так что это хорошая мотивация, когда вы не можете решить более одной легкой задачи в соревновании, и вы можете видеть, что, например, через 6 месяцев ваш уровень будет продолжать расти, пока вы участвуете во множестве соревнований.