Re[20]: Подготовка к собеседованию
От: StatujaLeha на правах ИМХО
Дата: 22.06.20 09:52
Оценка: +5
Здравствуйте, IncremenTop, Вы писали:

IT>Вы невнимательно читали.




Вы же писали выше:

Даже меньше. И да — их запоминают, но проблема даже не в этом.
По факту в ходу не более 10.


Что мешает интервьюверу зайти этот сайт, взять любую из 417 easy задач и попросить ее решить на листке?
Подозреваю, что ничего. А потому и выборка у него явно больше 10


IT>Речь о подготовке, а литкод и прочее требуют подготовку.


Я могу понять, если Вам надо готовиться к задачам уровня Hard или Medium. Часть задач Easy тоже не для всех простые.
Но если Вам надо готовиться к задаче по ссылке выше, то к чему же Вам не надо готовиться?
Re[6]: Подготовка к собеседованию
От: Sealcon190 Соломоновы острова  
Дата: 22.06.20 12:01
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Очередной верующий, что задачи типа разворота списка решаются за счет "интеллекта", а не за счет предврительного гугления?


Задач такого типа можно прямо на ходу придумать столько, что никакое предварительное гугление не поможет.

Проблема, наоборот, в том, что такие задания для почти всех кандидатов уже слишком сложны, так можно и не набрать нужное количество.
Re: Подготовка к собеседованию
От: зиг Украина  
Дата: 22.06.20 12:26
Оценка:
Здравствуйте, #John, Вы писали:

объясните плиз кто-нибудь что это за задача такая разворот списка, которую одни считают ужасно сложной, что надо гуглить, другие что простой...
что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?
Re[2]: Подготовка к собеседованию
От: Zhendos  
Дата: 22.06.20 12:50
Оценка:
Здравствуйте, зиг, Вы писали:

зиг>Здравствуйте, #John, Вы писали:


зиг>объясните плиз кто-нибудь что это за задача такая разворот списка, которую одни считают ужасно сложной, что надо гуглить, другие что простой...

зиг>что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?

Да, односвязаный список. Сложность O(N), память O(1)
Re[2]: Подготовка к собеседованию
От: $$ Австралия жж
Дата: 22.06.20 12:51
Оценка: +1 :)
Здравствуйте, зиг, Вы писали:

зиг>что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?

Ну а сколько ты думаешь сложность, чтоб развернуть in place? Задача ужасно сложная, на принципал саентиста не иначе.
Re[7]: Подготовка к собеседованию
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 22.06.20 13:13
Оценка: +2
Здравствуйте, Sealcon190, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


G>>Очередной верующий, что задачи типа разворота списка решаются за счет "интеллекта", а не за счет предврительного гугления?


S>Задач такого типа можно прямо на ходу придумать столько, что никакое предварительное гугление не поможет.

У задачи как минимум должно быть решение и тот кто спрашивает должен сам уметь это решение реализовать, иначе он не сможет проверить правильность.
Но спрашивающий — такой же человек, тоже никогда не писал сортировку и не разворачивал списки и знает эти задачи из тех же форумов про собеседования.
Re[20]: Подготовка к собеседованию
От: Sharov Россия  
Дата: 22.06.20 14:16
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

S>>а задачи у них такие же как у FAANG, или сильно пересекаются.

KP>Ты к тому, что своего они ничего не придумали и только идеи прут? Ну так многие компании по такой схеме работают

Велосипед зачем изобретать, если можно перенять схожие практики у западных компаний? Компании типа Я. все-таки не "многие компании".
Это скорее ближе к FNAAG, но по российским(снг) меркам.
Кодом людям нужно помогать!
Re[3]: Подготовка к собеседованию
От: зиг Украина  
Дата: 22.06.20 15:05
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Здравствуйте, зиг, Вы писали:


зиг>>Здравствуйте, #John, Вы писали:


зиг>>объясните плиз кто-нибудь что это за задача такая разворот списка, которую одни считают ужасно сложной, что надо гуглить, другие что простой...

зиг>>что надо сделать-то? Типа дан однонаправленный список, и надо его развернуть в обратную сторону? Какие ограничения по сложности или по памяти?

Z>Да, односвязаный список. Сложность O(N), память O(1)

память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка? а рекурсивно если обращать, там же вроде стек в другом разделе памяти будет, или его тоже нельзя использовать?

пс: вообще первый раз вижу применение о-нотации к памяти в мое время такого не было
Re[4]: Подготовка к собеседованию
От: Zhendos  
Дата: 22.06.20 15:51
Оценка:
Здравствуйте, зиг, Вы писали:

Z>>Да, односвязаный список. Сложность O(N), память O(1)

зиг>память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка?

Да.

зиг>а рекурсивно если обращать, там же вроде стек в другом разделе памяти будет, или его тоже нельзя использовать?


Да, стек тоже нельзя использовать.

зиг>пс: вообще первый раз вижу применение о-нотации к памяти в мое время такого не было


Ну "O" это просто метод оценки асимптотики любой функции,
и в его определение нет указания об используемых единиц. "Introduction to Algorithms" которая
вроде была первый раз издана согласно быстрому поиску в 90ом О большое использовалась в
том числе и для оценки памяти. Поэтому стесняюсь спросить когда это было "мое время".
Re[5]: Подготовка к собеседованию
От: зиг Украина  
Дата: 22.06.20 16:27
Оценка:
Здравствуйте, 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).
Re[6]: Подготовка к собеседованию
От: sergey2b ЮАР  
Дата: 22.06.20 16:34
Оценка:
Здравствуйте, зиг, Вы писали:


зиг>да, но память это не "любая" функция, память относится уже к физическим ограничениям и для нее нужны более точные оценки, пример: если мой алгоритм использует 100*N памяти это одно, а 1*N — это другое, в то время как О оценка оба этих использования оценит одинаково как О(N).


из практики сдедом идет
а теперь тоже самое с двухнаправленным списком

а как ваш алгоритм будет работать если есть уиклические участки
а почему вы не проверили, пожалуйста добавте проверку

а теперь представте что у вас не список а графф и вам надо ...
Re[6]: Подготовка к собеседованию
От: зиг Украина  
Дата: 22.06.20 16:42
Оценка: +1
Здравствуйте, зиг, Вы писали:

зиг>Здравствуйте, 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;
}
Re[6]: Подготовка к собеседованию
От: Zhendos  
Дата: 22.06.20 17:34
Оценка:
Здравствуйте, зиг, Вы писали:

зиг>Здравствуйте, Zhendos, Вы писали:


зиг>да, но память это не "любая" функция, память относится уже к физическим ограничениям и для нее нужны более точные оценки, пример: если мой алгоритм использует 100*N памяти это одно, а 1*N — это другое, в то время как О оценка оба этих использования оценит одинаково как О(N).


Не совсем понятно возражение. Циклы процессора это такой же физически ограниченный ресурс.
И пользователь компьютера также не готов ждать 100500 дней завершения работы алгоритма для
например списка из 100 элементов в случае слишком большой константы. В чем отличие от памяти?

Не говоря уж о том что в современном процессоре время сравнения двух машинных слов может
отличаться на порядке в зависимости от наличия этих двух слов в кэше или в основной памяти,
и подсчет просто количества сравнений без учета эффекта кэша может дать совершенное
неверное преставление о времени работы алгоритма.
Re[7]: Подготовка к собеседованию
От: $$ Австралия жж
Дата: 22.06.20 23:11
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>а как ваш алгоритм будет работать если есть уиклические участки

S>а почему вы не проверили, пожалуйста добавте проверку

S>а теперь представте что у вас не список а графф и вам надо ...

Это фактически переход к более сложным задачам, прощупывание предела возможностей. Например, когда меня приглашали поучаствовать- на графы ничего не давали. Петля в списке это уже контрольный вопрос.
Re[4]: Подготовка к собеседованию
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 23.06.20 01:00
Оценка:
Здравствуйте, зиг, Вы писали:

зиг>память O(1) — это что означает, есть место для одной-двух переменных, но не для всего списка? а рекурсивно если обращать, там же вроде стек в другом разделе памяти будет, или его тоже нельзя использовать?


Еще есть хвостовая рекурсия, которая соответствует требованию памяти O(1) в подавляющем большинстве языков програмирования

зиг>пс: вообще первый раз вижу применение о-нотации к памяти в мое время такого не было


Всегда так было.
Re[4]: Подготовка к собеседованию
От: Abalak США  
Дата: 23.06.20 15:56
Оценка: 5 (1) +1
Здравствуйте, IncremenTop, Вы писали:

bnk>>Ну ерунду же говоришь. Конечно же к собеседованиям нужно готовиться, особенно если идешь в компании где просят гномиков считать.


IT>Если человек прямо не говорит, что он идет в FAANG, то никаких гомиков считать не надо, а если это спрашивает собеседующий — то это злобный буратин и твой будущий начальник. Стоит ли идти в такую контору?


Я в начале года устраивался на новую работу. Алгоритмы в той или иной степени были на всех интревью в конторах, которые не испугались моих зарплатных ожиданий (испугавшихся было по прикидкам процентов 80-90). Можно конечно воротить нос и потом плакать, что денег не платят, а можно потратить несколько дней/недель и быть во всеоружии. При этом, когда я уже вышел на работу выяснилось, что средний уровень коллег достаточно высок, нет толп индусов после 21-дневного изучения С#, очень много народа с местным образованием. При этом, успев потрогать несколько проектов разной величины, могу сказать, что уровень кода вполне на уровне, изьяны есть конечно, но откровенно неподдерживаемого говна пока не встречал. Мнение про уровень, естественно, основано на моем понимании хорошести кода, а оно иногда сильно разходится с мейнстримом.
Re[10]: Подготовка к собеседованию
От: Abalak США  
Дата: 23.06.20 15:58
Оценка:
Здравствуйте, reversecode, Вы писали:

R>и остальные проверки домохозяйки тоже пройдут

R>в штатах уже проблема домохозяек в ит
R>когда почти половина программистов в штате любой компании не делают нихрена и получают зп

В таких конторах как раз интервью по систем дизайн не проводятся. Мне по крайней мере не встречались, а работ я поменял прилично. Хотя предположу, что, к сожалению, таких контор пока большинство.
Re[2]: Подготовка к собеседованию
От: Abalak США  
Дата: 23.06.20 16:14
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>На такую позицию я буду спрашивать:


Поздравляю! Как минимум в США, после таких вопросов у тебя в команде будут индусы с очень сомнительным опытом реальной разработки.

Кстати, когда я несколько лет назад в последний раз сам проводил собеседования очень неплохо заходили псеводо-реальные задачи по работе с коллекциями, где основной задача была понять имеет ли человек представление про O(n). Чаще всего люди делали все в лоб, даже не задумываясь о сложности алгоритма и получалаи в лучшем случае квадратичную сложность вместо линейной. А потом удивляемся, почему какой-нибудь вызов API занимает десятки минут.
Re[5]: Подготовка к собеседованию
От: IncremenTop  
Дата: 23.06.20 16:23
Оценка: +1 :)
Здравствуйте, Abalak, Вы писали:

A>Я в начале года устраивался на новую работу. Алгоритмы в той или иной степени были на всех интревью в конторах, которые не испугались моих зарплатных ожиданий (испугавшихся было по прикидкам процентов 80-90).


Это американская специфика с карго-культом на гугл. К алгоритмам точно также можно подготовиться за 21 день.
Это не показатель ни опыта, ни академических знаний.

По факту в РФ спрашивают алгоритмы либо яндекс, либо джуны-тимлиды, которые прочитал много про яндекс и хотят также.
Re[6]: Подготовка к собеседованию
От: Abalak США  
Дата: 23.06.20 17:13
Оценка:
Здравствуйте, IncremenTop, Вы писали:

A>>Я в начале года устраивался на новую работу. Алгоритмы в той или иной степени были на всех интревью в конторах, которые не испугались моих зарплатных ожиданий (испугавшихся было по прикидкам процентов 80-90).


IT>Это американская специфика с карго-культом на гугл. К алгоритмам точно также можно подготовиться за 21 день.

IT>Это не показатель ни опыта, ни академических знаний.

Может специфика, а может и нет. Я тоже несколько лет назад думал, что нафиг мне эти алгоритмы не сдались, пока не пришлось с улицы искать работу на топовые для региона деньги. И при этом мне попадается куча народа, которые не имеют никакого представления о большом О, а потом на выходе получаем слезы, почему так все медленно работает. Обилие тормозных сайтов в ру домене подтверждает, что в РФ эта проблема точно так же актуальна.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.