Здравствуйте, IncremenTop, Вы писали:
IT>Вы невнимательно читали.
Вы же писали выше:
Даже меньше. И да — их запоминают, но проблема даже не в этом.
По факту в ходу не более 10.
Что мешает интервьюверу зайти этот сайт, взять любую из 417 easy задач и попросить ее решить на листке?
Подозреваю, что ничего. А потому и выборка у него явно больше 10
IT>Речь о подготовке, а литкод и прочее требуют подготовку.
Я могу понять, если Вам надо готовиться к задачам уровня Hard или Medium. Часть задач Easy тоже не для всех простые.
Но если Вам надо готовиться к задаче по ссылке выше, то к чему же Вам не надо готовиться?
Здравствуйте, gandjustas, Вы писали:
G>Очередной верующий, что задачи типа разворота списка решаются за счет "интеллекта", а не за счет предврительного гугления?
Задач такого типа можно прямо на ходу придумать столько, что никакое предварительное гугление не поможет.
Проблема, наоборот, в том, что такие задания для почти всех кандидатов уже слишком сложны, так можно и не набрать нужное количество.
объясните плиз кто-нибудь что это за задача такая разворот списка, которую одни считают ужасно сложной, что надо гуглить, другие что простой...
что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?
Здравствуйте, зиг, Вы писали:
зиг>Здравствуйте, #John, Вы писали:
зиг>объясните плиз кто-нибудь что это за задача такая разворот списка, которую одни считают ужасно сложной, что надо гуглить, другие что простой... зиг>что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?
Да, односвязаный список. Сложность O(N), память O(1)
Здравствуйте, зиг, Вы писали:
зиг>что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?
Ну а сколько ты думаешь сложность, чтоб развернуть in place? Задача ужасно сложная, на принципал саентиста не иначе.
Здравствуйте, Sealcon190, Вы писали:
S>Здравствуйте, gandjustas, Вы писали:
G>>Очередной верующий, что задачи типа разворота списка решаются за счет "интеллекта", а не за счет предврительного гугления?
S>Задач такого типа можно прямо на ходу придумать столько, что никакое предварительное гугление не поможет.
У задачи как минимум должно быть решение и тот кто спрашивает должен сам уметь это решение реализовать, иначе он не сможет проверить правильность.
Но спрашивающий — такой же человек, тоже никогда не писал сортировку и не разворачивал списки и знает эти задачи из тех же форумов про собеседования.
Здравствуйте, kaa.python, Вы писали:
S>>а задачи у них такие же как у FAANG, или сильно пересекаются. KP>Ты к тому, что своего они ничего не придумали и только идеи прут? Ну так многие компании по такой схеме работают
Велосипед зачем изобретать, если можно перенять схожие практики у западных компаний? Компании типа Я. все-таки не "многие компании".
Это скорее ближе к FNAAG, но по российским(снг) меркам.
Здравствуйте, Zhendos, Вы писали:
Z>Здравствуйте, зиг, Вы писали:
зиг>>Здравствуйте, #John, Вы писали:
зиг>>объясните плиз кто-нибудь что это за задача такая разворот списка, которую одни считают ужасно сложной, что надо гуглить, другие что простой... зиг>>что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?
Z>Да, односвязаный список. Сложность O(N), память O(1)
память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка? а рекурсивно если обращать, там же вроде стек в другом разделе памяти будет, или его тоже нельзя использовать?
пс: вообще первый раз вижу применение о-нотации к памяти в мое время такого не было
Здравствуйте, зиг, Вы писали:
Z>>Да, односвязаный список. Сложность O(N), память O(1) зиг>память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка?
Да.
зиг>а рекурсивно если обращать, там же вроде стек в другом разделе памяти будет, или его тоже нельзя использовать?
Да, стек тоже нельзя использовать.
зиг>пс: вообще первый раз вижу применение о-нотации к памяти в мое время такого не было
Ну "O" это просто метод оценки асимптотики любой функции,
и в его определение нет указания об используемых единиц. "Introduction to Algorithms" которая
вроде была первый раз издана согласно быстрому поиску в 90ом О большое использовалась в
том числе и для оценки памяти. Поэтому стесняюсь спросить когда это было "мое время".
Здравствуйте, Zhendos, Вы писали:
Z>Здравствуйте, зиг, Вы писали:
Z>>>Да, односвязаный список. Сложность O(N), память O(1) зиг>>память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка? Z>Да.
хм. тогда надо думать
зиг>>а рекурсивно если обращать, там же вроде стек в другом разделе памяти буде, или его тоже нельзя использовать? Z>Да, стек тоже нельзя использовать.
зиг>>пс: вообще первый раз вижу применение о-нотации к памяти в мое время такого не было Z>Ну "O" это просто метод оценки асимптотики любой функции, Z>и в его определение нет указания об используемых единиц. "Introduction to Algorithms" которая Z>вроде была первый раз издана согласно быстрому поиску в 90ом О большое использовалась в Z>том числе и для оценки памяти. Поэтому стесняюсь спросить когда это было "мое время".
да, но память это не "любая" функция, память относится уже к физическим ограничениям и для нее нужны более точные оценки, пример: если мой алгоритм использует 100*N памяти это одно, а 1*N — это другое, в то время как О оценка оба этих использования оценит одинаково как О(N).
зиг>да, но память это не "любая" функция, память относится уже к физическим ограничениям и для нее нужны более точные оценки, пример: если мой алгоритм использует 100*N памяти это одно, а 1*N — это другое, в то время как О оценка оба этих использования оценит одинаково как О(N).
из практики сдедом идет
а теперь тоже самое с двухнаправленным списком
а как ваш алгоритм будет работать если есть уиклические участки
а почему вы не проверили, пожалуйста добавте проверку
а теперь представте что у вас не список а графф и вам надо ...
Здравствуйте, зиг, Вы писали:
зиг>Здравствуйте, Zhendos, Вы писали:
Z>>Здравствуйте, зиг, Вы писали:
Z>>>>Да, односвязаный список. Сложность O(N), память O(1) зиг>>>память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка? Z>>Да. зиг>хм. тогда надо думать
хотя вроде легкое, просто хранить ссылку на следующий элемент каждый раз когда обращаешь элемент в цикле типа, псевдокод
previous = null;
next= list.getFirst();
while () {
current = next;
next = current.getNext();
current.setNext(previous);
prevItem = current;
}
Здравствуйте, зиг, Вы писали:
зиг>Здравствуйте, Zhendos, Вы писали:
зиг>да, но память это не "любая" функция, память относится уже к физическим ограничениям и для нее нужны более точные оценки, пример: если мой алгоритм использует 100*N памяти это одно, а 1*N — это другое, в то время как О оценка оба этих использования оценит одинаково как О(N).
Не совсем понятно возражение. Циклы процессора это такой же физически ограниченный ресурс.
И пользователь компьютера также не готов ждать 100500 дней завершения работы алгоритма для
например списка из 100 элементов в случае слишком большой константы. В чем отличие от памяти?
Не говоря уж о том что в современном процессоре время сравнения двух машинных слов может
отличаться на порядке в зависимости от наличия этих двух слов в кэше или в основной памяти,
и подсчет просто количества сравнений без учета эффекта кэша может дать совершенное
неверное преставление о времени работы алгоритма.
Здравствуйте, sergey2b, Вы писали:
S>а как ваш алгоритм будет работать если есть уиклические участки S>а почему вы не проверили, пожалуйста добавте проверку
S>а теперь представте что у вас не список а графф и вам надо ...
Это фактически переход к более сложным задачам, прощупывание предела возможностей. Например, когда меня приглашали поучаствовать- на графы ничего не давали. Петля в списке это уже контрольный вопрос.
Здравствуйте, зиг, Вы писали:
зиг>память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка? а рекурсивно если обращать, там же вроде стек в другом разделе памяти будет, или его тоже нельзя использовать?
Еще есть хвостовая рекурсия, которая соответствует требованию памяти O(1) в подавляющем большинстве языков програмирования
зиг>пс: вообще первый раз вижу применение о-нотации к памяти в мое время такого не было
Здравствуйте, IncremenTop, Вы писали:
bnk>>Ну ерунду же говоришь. Конечно же к собеседованиям нужно готовиться, особенно если идешь в компании где просят гномиков считать.
IT>Если человек прямо не говорит, что он идет в FAANG, то никаких гомиков считать не надо, а если это спрашивает собеседующий — то это злобный буратин и твой будущий начальник. Стоит ли идти в такую контору?
Я в начале года устраивался на новую работу. Алгоритмы в той или иной степени были на всех интревью в конторах, которые не испугались моих зарплатных ожиданий (испугавшихся было по прикидкам процентов 80-90). Можно конечно воротить нос и потом плакать, что денег не платят, а можно потратить несколько дней/недель и быть во всеоружии. При этом, когда я уже вышел на работу выяснилось, что средний уровень коллег достаточно высок, нет толп индусов после 21-дневного изучения С#, очень много народа с местным образованием. При этом, успев потрогать несколько проектов разной величины, могу сказать, что уровень кода вполне на уровне, изьяны есть конечно, но откровенно неподдерживаемого говна пока не встречал. Мнение про уровень, естественно, основано на моем понимании хорошести кода, а оно иногда сильно разходится с мейнстримом.
Здравствуйте, reversecode, Вы писали:
R>и остальные проверки домохозяйки тоже пройдут R>в штатах уже проблема домохозяек в ит R>когда почти половина программистов в штате любой компании не делают нихрена и получают зп
В таких конторах как раз интервью по систем дизайн не проводятся. Мне по крайней мере не встречались, а работ я поменял прилично. Хотя предположу, что, к сожалению, таких контор пока большинство.
Здравствуйте, gandjustas, Вы писали:
G>На такую позицию я буду спрашивать:
Поздравляю! Как минимум в США, после таких вопросов у тебя в команде будут индусы с очень сомнительным опытом реальной разработки.
Кстати, когда я несколько лет назад в последний раз сам проводил собеседования очень неплохо заходили псеводо-реальные задачи по работе с коллекциями, где основной задача была понять имеет ли человек представление про O(n). Чаще всего люди делали все в лоб, даже не задумываясь о сложности алгоритма и получалаи в лучшем случае квадратичную сложность вместо линейной. А потом удивляемся, почему какой-нибудь вызов API занимает десятки минут.
Здравствуйте, Abalak, Вы писали:
A>Я в начале года устраивался на новую работу. Алгоритмы в той или иной степени были на всех интревью в конторах, которые не испугались моих зарплатных ожиданий (испугавшихся было по прикидкам процентов 80-90).
Это американская специфика с карго-культом на гугл. К алгоритмам точно также можно подготовиться за 21 день.
Это не показатель ни опыта, ни академических знаний.
По факту в РФ спрашивают алгоритмы либо яндекс, либо джуны-тимлиды, которые прочитал много про яндекс и хотят также.
Здравствуйте, IncremenTop, Вы писали:
A>>Я в начале года устраивался на новую работу. Алгоритмы в той или иной степени были на всех интревью в конторах, которые не испугались моих зарплатных ожиданий (испугавшихся было по прикидкам процентов 80-90).
IT>Это американская специфика с карго-культом на гугл. К алгоритмам точно также можно подготовиться за 21 день. IT>Это не показатель ни опыта, ни академических знаний.
Может специфика, а может и нет. Я тоже несколько лет назад думал, что нафиг мне эти алгоритмы не сдались, пока не пришлось с улицы искать работу на топовые для региона деньги. И при этом мне попадается куча народа, которые не имеют никакого представления о большом О, а потом на выходе получаем слезы, почему так все медленно работает. Обилие тормозных сайтов в ру домене подтверждает, что в РФ эта проблема точно так же актуальна.