10 апреля, отрылся шестой по счету, набор в Школу анализа данных Яндекса. В этом году для допуска к собеседованию необходимо хорошо решить задачи очного письменного экзамена. И тестирование, и экзамен, и собеседование проводятся в рамках нашей программы по математике и программированию.
Заполнить анкету и пройти онлайн-тест все желающие могут уже сейчас на, сайте. Заочный этап будет проходить до 20 мая включительно. Для письменного экзамена будут назначены две-три даты в период с 21 мая по 10 июня, и каждый кандидат сможет выбрать подходящий для себя день. В случае успешной сдачи письменного экзамена с ним индивидуально договорятся о времени очного собеседования. Собеседования будут проходить до 10 июля.
Вот один из примеров заданий: Найдите, что было подано на вход, если на выходе получился массив 5 0 4 9 1 7 8 2 3 6. Код внизу:
unction very_mysterious(array[])
var result[]
for i = 0 to length(array) - 1 do
result[array[i]] = i
return result
Или вот задачка по комбинаторике: Сколькими способами можно пересадить пятерых пассажиров, чтобы каждый в итоге оказался не на своем месте?
Ну и куда ж без сортировок. Ниже приведен псевдокод одного из стандартных алгоритмов сортировки. Индексация начинается с нуля. Определите количество операций сравнения между элементами массива, которые произойдут при выполнении функции на входе array = [1; 3; 2; 5; 4; 6]
function mergesort(array[])
var left[], right[], result[]
if length(array) == 1
return array
else
middle = length(array) / 2
for each x in array up to middle
add x to left
for each x in array after middle
add x to right
left = mergesort(left)
right = mergesort(right)
result = merge(left, right)
return result
end if
function merge(left[], right[])
var result[]
while length(left) > 0 and length(right) > 0
if left[1] < right[1]
append left[1] to result
left = left[2..length(left)]
else
append right[1] to result
right = right[2..length(right)]
end if
if length(left) > 0
append left to result
if length(right) > 0
append right to result
return result
Для справки. Школа анализа данных открыта в 2007 году. Инициатором создания выступила компания «Яндекс». Она же взяла на себя финансирование Школы. Главной целью Школы является подготовка специалистов – как для Яндекса, так и для IT-индустрии в целом – в области обработки и анализа данных и извлечения информации из интернета. Школа Яндекса представляет собой двухгодичные очные вечерние курсы, которые ведут преподаватели отечественных и зарубежных университетов. Школа дает возможность получить образование по разделам computer science, которые обычно не входят в программу университетов. Школа Яндекса рассчитана на студентов и выпускников (аспирантов и молодых специалистов) инженерных и математических специальностей, готовых несколько раз в неделю посещать вечерние занятия. Кроме того, на отделение биоинформатики могут поступать студенты-биологи. Мы оцениваем примерный объем загрузки студента в 15—20 часов в неделю, включая 9—12 часов занятий с преподавателями. Во время обучения или по его окончании студенты могут пройти стажировку в Яндексе. Во время стажировки студенты работают под руководством как разработчиков Яндекса, так и преподавателей.
Чтобы научиться решать такие задачи, надо сразу тренироваться на задачках попроще. Здесь можно найти приличную коллекцию логических задач, головоломок и просто хороших математических задач.