Информация об изменениях

Сообщение Re[7]: чем заменить задачу по развороту списка от 20.10.2020 15:12

Изменено 20.10.2020 15:17 diez_p

Re[7]: чем заменить задачу по развороту списка
Здравствуйте, Gradiens, Вы писали:

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


X>>И вообще, чем критиковать чужие задачки накидал бы кто своих. А то кроме меня и тёмчика пока никто не сподобился.


G>Лично я не фанат задач. Но две категории задач могут быть полезны.


G>1) любые на понимание алгоритмической сложности.

G>пример простой задачи: как максимально эффективно по времени отсортировать массив из 10^9 чисел, учитывая, что каждое из них не больше 10^6

G>2) любые на алгоритмическое мышление. Просто, чтобы посмотреть, как кандидат мыслит. И что делает, если у него не все получается.

G>пример простой задачи: есть массив с числами от 1 до N, все числа кроме одного не повторяются. Найти повторяющееся число.
G>пример задачи посложнее: есть указатель на однонаправленый связанный список. Как не выделяя динамической памяти узнать, закольцован список, или нет.

G>неплохо, если задача сразу принадлежит обеим категориям. Пример: найти все вхождения подстроки в строке.


G>Остальные типы задач — от лукавого. Лично я не вижу, как другие типы головоломок помогут понять, подходит кандидат, или нет.

G>Да и задачи на мышление — спорная тема. Можно потратить кучу времени, завалить хорошего кандидата, который хорошо программирует но плохо решает задачи "про гномиков"

А потом вот эти люди пишут лютейшие интерфейсы c абсолютно не ортогональными методами, завязывают все компоненты в узел и переметывают это все скотчем. Вся алгоритмика задра..ся на раз. У меня знакомый чел, бывший UIщик, захотел писать под линукс на C++ и за 3 мес он алгоритмы выучил так, что сам порой мог интервьюверам вскипятить голову.
Я вот не алгоритмичт ни разу, и сортировкой больих данных не занимался, и например для решения таких задач мне потребуется время. Зато любой другой проект, который я беру, почему-то начинает развиваться. Я выкидываю все старое или лишнее, непонятно почему на это у людей не хватает времени, умею выстроить развитие так, чтобы текущий проект и его внутренняя структура были как можно ближе к сценариям использования, выявляю слабые стороны и придумываю варианты компенсации.
За каждое принятое решение я могу аргументированно обосновать.
Если бы например я писал для себя поисковый движок ну или что-то около этого, на таких дешевых задачах разнес бы интервьювера.
Меня как-то спрашивали на UI, с какой частотой в винде таймер переключает потоки, я грю я хз, мне при моих проектах именно с таким сталкиваться не приходилось, но вы меня пугаете вопросами и у меня сразу несколько вопросов к вам: где вы это используете, а главное по какой причине вам это понадобилось, еще было бы оаправдано если бы это были JetBrains и решарпер для VS или Idea, ну или любой другой UI, который структурой тянет на целую ОС.
А так в массе свой это дешевые понты интервьювера.
Re[7]: чем заменить задачу по развороту списка
Здравствуйте, Gradiens, Вы писали:

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


X>>И вообще, чем критиковать чужие задачки накидал бы кто своих. А то кроме меня и тёмчика пока никто не сподобился.


G>Лично я не фанат задач. Но две категории задач могут быть полезны.


G>1) любые на понимание алгоритмической сложности.

G>пример простой задачи: как максимально эффективно по времени отсортировать массив из 10^9 чисел, учитывая, что каждое из них не больше 10^6

G>2) любые на алгоритмическое мышление. Просто, чтобы посмотреть, как кандидат мыслит. И что делает, если у него не все получается.

G>пример простой задачи: есть массив с числами от 1 до N, все числа кроме одного не повторяются. Найти повторяющееся число.
G>пример задачи посложнее: есть указатель на однонаправленый связанный список. Как не выделяя динамической памяти узнать, закольцован список, или нет.

G>неплохо, если задача сразу принадлежит обеим категориям. Пример: найти все вхождения подстроки в строке.


G>Остальные типы задач — от лукавого. Лично я не вижу, как другие типы головоломок помогут понять, подходит кандидат, или нет.

G>Да и задачи на мышление — спорная тема. Можно потратить кучу времени, завалить хорошего кандидата, который хорошо программирует но плохо решает задачи "про гномиков"

А потом вот эти люди пишут лютейшие интерфейсы c абсолютно не ортогональными методами, завязывают все компоненты в узел и перематывают это все скотчем. Вся алгоритмика задра..ся на раз. У меня знакомый чел, бывший UIщик, захотел писать под линукс на C++ и за 3 мес он алгоритмы выучил так, что сам порой мог интервьюверам вскипятить голову.
Я вот не алгоритмист ни разу, и сортировкой больих данных не занимался, и например для решения таких задач мне потребуется время. Зато любой другой проект, который я беру, почему-то начинает развиваться. Я выкидываю все старое или лишнее, непонятно почему на это у людей не хватает времени, умею выстроить развитие так, чтобы текущий проект и его внутренняя структура были как можно ближе к сценариям использования, выявляю слабые стороны и придумываю варианты компенсации.
За каждое принятое решение я могу аргументированно обосновать.
Если бы например я писал для себя поисковый движок ну или что-то около этого, на таких дешевых задачах разнес бы интервьювера.
Меня как-то спрашивали на UI, с какой частотой в винде таймер переключает потоки, я грю я хз, мне при моих проектах именно с таким сталкиваться не приходилось, но вы меня пугаете вопросами и у меня сразу несколько вопросов к вам: где вы это используете, а главное по какой причине вам это понадобилось, еще было бы оаправдано если бы это были JetBrains и решарпер для VS или Idea, ну или любой другой UI, который структурой тянет на целую ОС.
А так в массе свой это дешевые понты интервьювера.