Какой смысл спрашивать sql? Если человек умеет программировать на нормальном языке, то sql учится за день. За два дня можно свой инстанс наиболее используемой БД поднять и прямо на нем потренироваться. Но в обратную сторону не работает, если человек знает sql и не умеет прогать, то знание sql ему не поможет примерно никак.
Грустно. Если был личный контакт кого-нибудь из нанимающих (тех, кто проводил финалы), стоило им об этом написать, может, выписали бы рекрутеру п%%дов.
Вы находитесь в сценарии "Алиса, сочини сказку", из него надо выходить явно, сказать или написать "хватит". Если выйти из сценария, должны быть норм ответы.
Да, вы правы. Мне было лень расчехлять питон, я думал, что "на глазок" быстрее прикинуть, а надо было просто засунуть это в поиск. Или даже в саджест моего же яндекс браузера, он умеет такое считать, только как раз с крышкой, а не со звездочками.
В отличие от ваших безумных предположений, что на результатах тестовых заданий можно обучить нейросеть (и это заявление от человека, который вроде как "интересуется нейросетями", то есть должен ну минимально хотя бы понимать, как их обучают и дообучают! Какой кошмар), мои расчеты можно перепроверить.
Охх. Давайте я выкину кусок предложения: "Вероятность, что такой же результат, как у автора, наберет только он один, равна ... около 46%" Это означает, что если мы будем много раз повторять описанную ситуацию, разыгрывая ее случайным образом (12000 человек наберут равномерно распределенные случайные оценки), то лишь в 46% случаев проценты автора будут уникальными. И в 54% как минимум еще один человек наберет такой же балл.
Про "совпавшие проценты". По всей видимости, Задание 1 содержало 13 вопросов, из них автор верно ответил на 11. Задание 2: 8 из 9 Задание 3: 7 из 9 Задание 4: без ошибок.
Пишут, что наняли 600 человек. Предположим, что
нанимали каждого 20го, т.е. всего было 12000 человек. В реальности, думаю, процент прошедших был меньше.
количество набранных баллов у тех, кто проходил задания, распределено равномерно. Это точно неверно, но мы все равно не знаем, в какую сторону смещение.
в задании 4 было 10 вопросов. Тогда число различных результатов теста равно (13+1)*(9+1)*(9+1)*(10+1) = 15400
При этих допущениях вероятность, что такой же результат, как у автора, наберет только он один, равна (1 - 1/15400)^12000, по второму замечательному пределу это будет примерно exp(-12000/15400), около 46%.
Получается, наличие людей с результатом в точности как у автора - это не что-то удивительное, а то, чего следует ожидать.
Как легко понять из моего профиля, я работаю в Яндексе много лет, иногда на Хабре такое пишут, что бывает неловко за компанию. Но это - простите, ну чистая конспирология от обиды.
Если б сказали, что да, с технической частью мы поможем, я бы в такой блудняк вписался.
А надо было не бояться и вписываться. Во-первых, человек, который умеет решать проблемы, всегда ценнее, чем человек, который умеет делать только привычные ему вещи. Во-вторых, слово "умеет" на 50% состоит из "не боится, не стесняется": там не бином Ньютона, вы не первый в мире человек, которому надо поднять БД на сервере. Эта задача точно имеет решение. В конце концов, не получится самому - наймите фрилансера, пусть вас научит. В-третьих, в айти страшная инфляция знаний, если вы не учитесь ничему новому, то постепенно откатываетесь назад.
Но еще более важно вот что. Я с большим уважением отношусь к экселю и вба, это хорошая технология, которая прокормила многих людей. Я знаю, что в США была целая индустрия небольших фирм, которые на вба делали специализированные БД, WMS и т.п. системы, клепали формочки всякие. Я сам в свое время написал на вба несколько вполне промышленных вещей.
Но давайте посмотрим правде в глаза: эта технология давно устарела, в ней нет экспертизы и сильных специалистов. На вба довольно неудобно писать хоть сколько-нибудь сложные вещи, а люди, которые когда-то умели это делать, скорее всего, уже давно переквалифицировались во что-то более современное. Продолжая писать на вба и отказываясь вписываться в развивающие кругозор блудняки, вы так и будете клепать макросы за тысячу рублей, ничему более сложному вы не научитесь (просто некому учить!), и никто не будет платить вам много денег за работу (ведь тот, кто готов дать сложный денежный заказ, вряд ли будет хотеть вба).
Три года назад у нас могли быть другие тарифы, более высокие (помню, было снижение точно).
"Повторные запросы, каждый из которых оплачивается" - тут вы что-то путаете. Никогда не брали деньги за пересчеты, всегда брали за конечные машины, которые поехали по маршруту.
Итак, графики "золото-серебро" и "серебро-бронза" кардинально отличаются друг от друга во всех округах.
Аналитика уровня "бог" :) На глазок они и правда отличаются, но сравнивать лучше, оцифровав это какими-нибудь метриками.
Мне, вообще, не очевидно, что из этих графиков следуют вбросы. Графики странные, но надо все-таки всегда стараться найти какие-нибудь простые объяснения, для этого нужно относиться к данным безразлично, неангажированно, а мне по тональности показалось, что вы искали подтверждение вбросам.
Кстати, там есть интересный провал в абсолютах в вск в 13:00 у ЕР-кандидатов. Потыкав в графики на гитхабе, я его далеко не на всех графиках увидел, но на многих он есть. Интересно, что это такое и как это можно объяснить.
Спасибо за ссылку!
По недостаткам — часть могу подтвердить, знаем, боремся; часть сочли нерелевантными и не боремся; с частью не согласен. Например, про работу в Белоруссии и на Украине: в Белоруссии (или Беларуси?) все должно прекрасно работать, а вот украинцы, если ничего не путаю, забанили на своей стороне все сервисы Яндекса, и на них можно ходить только через VPN, все очень плохо работает.
Сильные места вы че-то зажали :)
И про конкурентов — я думал, у вас какой-то будет обзор, а у вас просто какой-то местами странный список. Там и программа для автоматизации доставки, и OSRM вместе с Google Directions API (в каком месте они конкурируют именно с сервисом решения mVRP задач?), и, кажется, ваш собственный сайт :)
Видел еще комментарии под другой статьей в духе «не масштабируется».
если вы имеете в виду статью про бессмысленные и беспощадные собеседования в Яндекс, на которую ссылаетесь в начале, то да, там был ровно один комментарий про немасштабируемость, и это мой комментарий: habr.com/ru/post/550088/#comment_22885492
Вы там мне не ответили, но дзен подбросил мне вашу статью в ленте, и вот я вас тут догнал :)
Я продолжаю настаивать, что это не найм, а, скажем так, развлечение. Если бы у меня кто-то подобные вещи делал, я бы решил, что у человека очень много свободного времени, и он его таким образом решил потратить в свое удовольствие. Никаких проблем, на здоровье, имеет право, но ни в каком виде это не может быть образцом для подражания.
не всегда нужно все масштабировать в 1000 раз с начала
Безусловно. Но всегда нужно иметь некий план. Я хочу нанять человека, я готов потратить на это вот столько времени. В процессе будут созданы вот такие артефакты, они будут переиспользованы в будущем.
Вот скажите честно: сейчас, зная, что было так
под конец, когда уже хотелось вскрыться
вы бы провели этот процесс точно так же? Или что-то поменяли?
Честно говоря, я по статье вообще не понял, к чему тут цепи Маркова. Мне показалось, что вы просто строите карту переходов по сайту, я даже решил, что это кликбейт какой-то, типа сделали тривиальную вещь, но вставили красивый термин. И только прочитав код я понял, что вы и правда строите матрицу переходов за N шагов и считаете вероятность попасть в определенные конечные состояния, так что да, цепь присутствует. И даже прикольная идея, спасибо.
Я выложил свой Python-скрипт для обучения цепей Маркова в открытый доступ
Простите, что встреваю с советами, но наверняка у вас в компании найдется python-разработчик, который сможет сделать код-ревью. Допилите с ним ваш код, это очень поможет и коду, и вам. Сейчас там есть как стилистические проблемы (копипаста вместо объявления переменных; вы не используете enumerate для итерирования по массивам, и много по мелочи), так и алгоритмические: для вычисления матрицы переходов вместо прохода циклом по всему массиву данных следовало бы загнать данные в pandas dataframe, дальше задублировать в нем второй столбец со сдвигом на одну строку вверх (чтобы у вас в одной строке датафрейма оказалось как предыдущее, так и новое состояние студента), и потом сделать просто groupby-aggregate по паре текущее-новое (удалив, естественно, строки, где окажутся события от разных студентов). Если в ваш код засунуть много данных, он будет работать долго, а пандас посчитает матрицу мгновенно.
АПД: да вы же просто неверно вычисляете матрицу переходов, потому что не обрабатываете последние строки. Вот тут:
if data01[i][0] == data01[i+1][0]: #if the student is the same
calc_matrix[states.index(data01[i][1])][states.index(data01[i+1][1])] += 1
надо еще сделать +1 в ячейке матрицы «из последнего состояния в себя», если student is not the same. Представьте себе терминальное состояние (1), в котором 99 юзеров умерло (больше мы их не видели), а один юзер случайно перешел в другое состояние (2). Вы должны были бы записать в TransitionMatrix строку (0.99 0.01), а вместо этого вы запишете (0 1).
Возможно, на ваших данных это как-то и работает (например, если у вас нет терминальных состояний, кроме end_states), но если в открытый доступ выкладываете, то так не годится.
Какой смысл спрашивать sql? Если человек умеет программировать на нормальном языке, то sql учится за день. За два дня можно свой инстанс наиболее используемой БД поднять и прямо на нем потренироваться.
Но в обратную сторону не работает, если человек знает sql и не умеет прогать, то знание sql ему не поможет примерно никак.
Грустно. Если был личный контакт кого-нибудь из нанимающих (тех, кто проводил финалы), стоило им об этом написать, может, выписали бы рекрутеру п%%дов.
Вы находитесь в сценарии "Алиса, сочини сказку", из него надо выходить явно, сказать или написать "хватит".
Если выйти из сценария, должны быть норм ответы.
Пользоваться консолью как калькулятором - огонь! Спасибо, намотал на ус.
Да, вы правы. Мне было лень расчехлять питон, я думал, что "на глазок" быстрее прикинуть, а надо было просто засунуть это в поиск. Или даже в саджест моего же яндекс браузера, он умеет такое считать, только как раз с крышкой, а не со звездочками.
А вы их перепроверьте!
В отличие от ваших безумных предположений, что на результатах тестовых заданий можно обучить нейросеть (и это заявление от человека, который вроде как "интересуется нейросетями", то есть должен ну минимально хотя бы понимать, как их обучают и дообучают! Какой кошмар), мои расчеты можно перепроверить.
Охх. Давайте я выкину кусок предложения:
"Вероятность, что такой же результат, как у автора, наберет только он один, равна ... около 46%"
Это означает, что если мы будем много раз повторять описанную ситуацию, разыгрывая ее случайным образом (12000 человек наберут равномерно распределенные случайные оценки), то лишь в 46% случаев проценты автора будут уникальными. И в 54% как минимум еще один человек наберет такой же балл.
Про "совпавшие проценты". По всей видимости, Задание 1 содержало 13 вопросов, из них автор верно ответил на 11.
Задание 2: 8 из 9
Задание 3: 7 из 9
Задание 4: без ошибок.
Пишут, что наняли 600 человек. Предположим, что
нанимали каждого 20го, т.е. всего было 12000 человек. В реальности, думаю, процент прошедших был меньше.
количество набранных баллов у тех, кто проходил задания, распределено равномерно. Это точно неверно, но мы все равно не знаем, в какую сторону смещение.
в задании 4 было 10 вопросов. Тогда число различных результатов теста равно
(13+1)*(9+1)*(9+1)*(10+1) = 15400
При этих допущениях вероятность, что такой же результат, как у автора, наберет только он один, равна
(1 - 1/15400)^12000
, по второму замечательному пределу это будет примерноexp(-12000/15400)
, около 46%.Получается, наличие людей с результатом в точности как у автора - это не что-то удивительное, а то, чего следует ожидать.
Как легко понять из моего профиля, я работаю в Яндексе много лет, иногда на Хабре такое пишут, что бывает неловко за компанию. Но это - простите, ну чистая конспирология от обиды.
Да он просто цену сбивает.
А надо было не бояться и вписываться.
Во-первых, человек, который умеет решать проблемы, всегда ценнее, чем человек, который умеет делать только привычные ему вещи.
Во-вторых, слово "умеет" на 50% состоит из "не боится, не стесняется": там не бином Ньютона, вы не первый в мире человек, которому надо поднять БД на сервере. Эта задача точно имеет решение. В конце концов, не получится самому - наймите фрилансера, пусть вас научит.
В-третьих, в айти страшная инфляция знаний, если вы не учитесь ничему новому, то постепенно откатываетесь назад.
Но еще более важно вот что. Я с большим уважением отношусь к экселю и вба, это хорошая технология, которая прокормила многих людей. Я знаю, что в США была целая индустрия небольших фирм, которые на вба делали специализированные БД, WMS и т.п. системы, клепали формочки всякие. Я сам в свое время написал на вба несколько вполне промышленных вещей.
Но давайте посмотрим правде в глаза: эта технология давно устарела, в ней нет экспертизы и сильных специалистов. На вба довольно неудобно писать хоть сколько-нибудь сложные вещи, а люди, которые когда-то умели это делать, скорее всего, уже давно переквалифицировались во что-то более современное. Продолжая писать на вба и отказываясь вписываться в развивающие кругозор блудняки, вы так и будете клепать макросы за тысячу рублей, ничему более сложному вы не научитесь (просто некому учить!), и никто не будет платить вам много денег за работу (ведь тот, кто готов дать сложный денежный заказ, вряд ли будет хотеть вба).
Три года назад у нас могли быть другие тарифы, более высокие (помню, было снижение точно).
"Повторные запросы, каждый из которых оплачивается" - тут вы что-то путаете. Никогда не брали деньги за пересчеты, всегда брали за конечные машины, которые поехали по маршруту.
Аналитика уровня "бог" :)
На глазок они и правда отличаются, но сравнивать лучше, оцифровав это какими-нибудь метриками.
Мне, вообще, не очевидно, что из этих графиков следуют вбросы. Графики странные, но надо все-таки всегда стараться найти какие-нибудь простые объяснения, для этого нужно относиться к данным безразлично, неангажированно, а мне по тональности показалось, что вы искали подтверждение вбросам.
Кстати, там есть интересный провал в абсолютах в вск в 13:00 у ЕР-кандидатов. Потыкав в графики на гитхабе, я его далеко не на всех графиках увидел, но на многих он есть. Интересно, что это такое и как это можно объяснить.
По недостаткам — часть могу подтвердить, знаем, боремся; часть сочли нерелевантными и не боремся; с частью не согласен. Например, про работу в Белоруссии и на Украине: в Белоруссии (или Беларуси?) все должно прекрасно работать, а вот украинцы, если ничего не путаю, забанили на своей стороне все сервисы Яндекса, и на них можно ходить только через VPN, все очень плохо работает.
Сильные места вы че-то зажали :)
И про конкурентов — я думал, у вас какой-то будет обзор, а у вас просто какой-то местами странный список. Там и программа для автоматизации доставки, и OSRM вместе с Google Directions API (в каком месте они конкурируют именно с сервисом решения mVRP задач?), и, кажется, ваш собственный сайт :)
если вы имеете в виду статью про бессмысленные и беспощадные собеседования в Яндекс, на которую ссылаетесь в начале, то да, там был ровно один комментарий про немасштабируемость, и это мой комментарий:
habr.com/ru/post/550088/#comment_22885492
Вы там мне не ответили, но дзен подбросил мне вашу статью в ленте, и вот я вас тут догнал :)
Я продолжаю настаивать, что это не найм, а, скажем так, развлечение. Если бы у меня кто-то подобные вещи делал, я бы решил, что у человека очень много свободного времени, и он его таким образом решил потратить в свое удовольствие. Никаких проблем, на здоровье, имеет право, но ни в каком виде это не может быть образцом для подражания.
Безусловно. Но всегда нужно иметь некий план. Я хочу нанять человека, я готов потратить на это вот столько времени. В процессе будут созданы вот такие артефакты, они будут переиспользованы в будущем.
Вот скажите честно: сейчас, зная, что было так
вы бы провели этот процесс точно так же? Или что-то поменяли?
Простите, что встреваю с советами, но наверняка у вас в компании найдется python-разработчик, который сможет сделать код-ревью. Допилите с ним ваш код, это очень поможет и коду, и вам. Сейчас там есть как стилистические проблемы (копипаста вместо объявления переменных; вы не используете enumerate для итерирования по массивам, и много по мелочи), так и алгоритмические: для вычисления матрицы переходов вместо прохода циклом по всему массиву данных следовало бы загнать данные в pandas dataframe, дальше задублировать в нем второй столбец со сдвигом на одну строку вверх (чтобы у вас в одной строке датафрейма оказалось как предыдущее, так и новое состояние студента), и потом сделать просто groupby-aggregate по паре текущее-новое (удалив, естественно, строки, где окажутся события от разных студентов). Если в ваш код засунуть много данных, он будет работать долго, а пандас посчитает матрицу мгновенно.
АПД: да вы же просто неверно вычисляете матрицу переходов, потому что не обрабатываете последние строки. Вот тут:
надо еще сделать +1 в ячейке матрицы «из последнего состояния в себя», если student is not the same. Представьте себе терминальное состояние (1), в котором 99 юзеров умерло (больше мы их не видели), а один юзер случайно перешел в другое состояние (2). Вы должны были бы записать в TransitionMatrix строку (0.99 0.01), а вместо этого вы запишете (0 1).
Возможно, на ваших данных это как-то и работает (например, если у вас нет терминальных состояний, кроме end_states), но если в открытый доступ выкладываете, то так не годится.
да, я согласен
Раунды по систем-дизайну делают для старших грейдов.