Re[5]: чем заменить задачу по развороту списка
От: Тёмчик Австралия жж
Дата: 06.10.20 05:56
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>У нас на первом курсе было домашнее задание написать на Паскале калькулятор


Ну вот, 1 курс. В принципе, наверное это неплохое несложное задание на дом для фулстек (вместе с гуем), на отсев неадекватов.
Re[6]: чем заменить задачу по развороту списка
От: CreatorCray  
Дата: 06.10.20 05:56
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>У меня были реально задачи разобрать выражение и построить дерево индикаторов (с зависимостями) и другая- разобрать regexp и потом отсортировать результаты по приоритету по количеству matched сегментов.

meh

CC>>И компилятор я писал ещё более давно, вместе с виртуальной машиной для пошаговой отладки для железки под которую это всё должно было работать.

Тё>Может, ты там только кирпичи подносил, а написал другой человек?
Я это всё в одно рыло написал.

Тё>>> Чем ты вообще занимаешься?

CC>>Системшиной.
Тё>Т.е. любую минимальную логику держат в usermode
Сразу видно ыксперта.

Хотел напрыгнуть но промахнулся и плюхнулся в лужу? Обтекай молча.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[7]: чем заменить задачу по развороту списка
От: CreatorCray  
Дата: 06.10.20 05:56
Оценка:
Здравствуйте, xarcass, Вы писали:

X>А надо было просто заменить "в лоб" на "по лбу"

И таки ведь да.
Я подобной графикой в до-аккселераторные времена занимался. Романтика пёрла просто атас. Особенно когда в итоге оно не тормозило. А теперь не интересно уже — всё есть готовое.

X>Ну мне вот за более чем 30 лет стажа разворачивать список понадобилось ни разу.

Да просто у меня задачи специфические, где такая азбука на каждом столбе.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: чем заменить задачу по развороту списка
От: CreatorCray  
Дата: 06.10.20 05:56
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:

CC>>А сдвиги или LEA использовать можно?

S>lea — это первый приз.

Эх, сколько я им наперемножал когда на асме писал
Оченно удобная инструкция.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[7]: чем заменить задачу по развороту списка
От: Тёмчик Австралия жж
Дата: 06.10.20 06:04
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

Тё>>У меня были реально задачи разобрать выражение и построить дерево индикаторов (с зависимостями) и другая- разобрать regexp и потом отсортировать результаты по приоритету по количеству matched сегментов.

CC>meh
Это всего лишь пример использования в работе.

CC>>>И компилятор я писал ещё более давно, вместе с виртуальной машиной для пошаговой отладки для железки под которую это всё должно было работать.

Тё>>Может, ты там только кирпичи подносил, а написал другой человек?
CC>Я это всё в одно рыло написал.

Ну если ты это делал "в одно рыло", в чём твоя претензия?

Вот развернуть или посчитать биты- этот вопрос уместен в embedded/drivers и неуместен everywhere else.
Re[8]: чем заменить задачу по развороту списка
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 06.10.20 06:57
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Что за бред? С какого боку тут tearing? Нужно аффинное преобразование. А это умножение матриц. Быстро умножать матрицы- отдельная, большая (больная) тема.


А почему не перспективное? А почему матриц, а не матрицу на вектор? А нужна ли там вообще матрица?
Re[11]: чем заменить задачу по развороту списка
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.10.20 07:25
Оценка: -2 :)
Здравствуйте, a7d3, Вы писали:

I>>Ну вот пришел к тебе товарищ, что заявляется экспертом по всякому низкоуровневому программированию, опыт в эмбеде и тд, и не может битовые операции.

I>>Как быть? Простить, поощрить, дать глянуть конспект?

A>Не важно в какой сфере человек себя специалистом позиционирует, а проверять задачками не самозванец ли — это сильно лишнее.


Задача это способ показать квалификацию. Как у женглёра — показать мастерство в действии, а не рассказать про него.

I>>А как нужно интервью и что еще есть кроме как сравнить кандидатов?


A>В первую очередь стоит задуматься, а с чего вдруг эта идея возникла — сравнивать кандидатов между собой?


У кого эта идея возникла? И почему ты отвечаешь вопросом на вопрос?

A>Какая цепочка рассуждений с доводами и аргументами привела к такому ложному выводу?


Обычно хамство и уход от ответа есть достаточно сильный признак некомпетентности. А у тебя как с этим?
Re[8]: чем заменить задачу по развороту списка
От: CreatorCray  
Дата: 06.10.20 07:30
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Это всего лишь пример использования в работе.

И?

Тё>>>>>Неужели ты в работе ни разу с задачей преобразовать выражение не сталкивался?

CC>>>>И компилятор я писал ещё более давно, вместе с виртуальной машиной для пошаговой отладки для железки под которую это всё должно было работать.
Тё>>>Может, ты там только кирпичи подносил, а написал другой человек?
CC>>Я это всё в одно рыло написал.

Тё>Ну если ты это делал "в одно рыло", в чём твоя претензия?

Где ты у меня тут увидел претензии?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: чем заменить задачу по развороту списка
От: a7d3  
Дата: 06.10.20 07:39
Оценка: -1
Здравствуйте, CreatorCray, Вы писали:

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


A>>Этот тест не работает, потому что люди давно научились его обманывать.

CC>Потому что применять его тоже надо умеючи а не как Артёмка пару лет назад, когда он про тест услышал а про что он собственно тестирует и на что надо смотреть — нет.
CC>Решение как таковое никого не интересует, интересует рассуждение в процессе решения, потому что это не вопрос — ответ а повод поговорить, спросить об альтернативных вариантах решения той же задачи. Потому переворот списка плохая задача — там в общем то одно нормальное решение, можно придумать пачку плохих, как в той байке про барометры но лучше таки взять другую задачу, которую можно решить множеством способов.

Именно это и зовётся system design interview — несколько взаимосвязанных между собой задач, имеющих различные варианты решения. И при этом, все упакованные в одну небольшую «постановку», формулируемую одной фразой. От кандидата ожидается не только порассуждать на тему вариантов решения, но и вообще увидеть эти самые задачи путём диалога с интервьюером.

Адепты решения абстрактных задачек на собеседовании никогда не отрицают полезность system design interview. Они всего лишь полагают, что перед этим надо типа «разогреть кандидата». Или же не считают нужным всех и вся сразу же допускать до system design interview, а хотят как-то отфильтровать толпу народу. Классический случай, когда «благими намерениями» губят всю процедуру (найма), сводя на нет любую возможность диалога.

Отсобеседовав криво с десяток людей — автоматом лишаешь себя трёх-четырёх сотен потенциальных кандидатов. Фигово отсобеседованный кандидат приводит к тому, что в компанию не придёт 30-40 других, тех кому напрямую или через вторые руки расскажут об идиотизме. В итоге, компания обрекает себя на вечное ковыряние в абы каком человеческом материале.
Re[12]: чем заменить задачу по развороту списка
От: a7d3  
Дата: 06.10.20 07:52
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Задача это способ показать квалификацию. Как у женглёра — показать мастерство в действии, а не рассказать про него.


Это крайне печальное заявление, потому что собеседование не является испытанием и квалификацию на нём никто не проверяет.

I>>>А как нужно интервью и что еще есть кроме как сравнить кандидатов?

A>>В первую очередь стоит задуматься, а с чего вдруг эта идея возникла — сравнивать кандидатов между собой?
I>У кого эта идея возникла? И почему ты отвечаешь вопросом на вопрос?

Диалога не будет, ровно до тех, пока тебе не станет ясно, что интервью-собеседование не служит и для сравнивания кандидатов.

A>>Какая цепочка рассуждений с доводами и аргументами привела к такому ложному выводу?

I>Обычно хамство и уход от ответа есть достаточно сильный признак некомпетентности. А у тебя как с этим?

Покажи на хамство пальцем.
Все люди находятся на разном уровне развития и осознания — отдельных компетенций. И до тех пор, пока тебе не станет ясно «А», то и бесполезно говорить с тобой про «Б». Однако, ты можешь и не подозревать о том, насколько некомпетентен и выяснять это лишь случайно, входе каких-то мимолётных контактов где-то с кем-то. Если такая картинка мира устраивает, то начни с самоконтроля:
— какая именно цепочка рассуждений с доводами/аргументами привела к посылу, что собеседование является способом сравнивания кандидатов.

На данный момент, выявлено две жуткие дурости, т.е. придётся осознать две вещи:
1. на собеседовании квалификацию не показывают, это не испытание кандидатов
2. собеседование проводят не для того, чтобы кандидатов между собой сравнивать
Re[13]: чем заменить задачу по развороту списка
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.10.20 08:01
Оценка: +2
Здравствуйте, a7d3, Вы писали:

A>На данный момент, выявлено две жуткие дурости, т.е. придётся осознать две вещи:

A>1. на собеседовании квалификацию не показывают, это не испытание кандидатов
A>2. собеседование проводят не для того, чтобы кандидатов между собой сравнивать

Для чего проводят собеседование?
Re[4]: чем заменить задачу по развороту списка
От: Gradiens  
Дата: 06.10.20 08:13
Оценка: +3
Здравствуйте, xarcass, Вы писали:

X>Какая там формула может быть? Школьная тригонометрия. Задача из реальной жизни.

Так вот именно! Школьная.
Я вот школу закончил 20+ лет назад. И с тех пор мне эта формула пригодилась один раз — когда учасвтовал в https://russianaicup.ru/

Зачем спрашивать эту формулу на собесе? Ну то есть ты правда хочешь понять, помнит ли кандидат эту формулу?

И давай будем честными. каждый из нас помнит или не помнит совершенно случайные вещи. И каждого можно завалить школьными вопросами.
Навскидку:
Назови основания ДНК (не гуглить).
Железо бросили в соляную кислоту, напиши реакцию.
Вычисли синус 15 градусов (без калькулятора)
Уровень воды в ванне — 50 см. с какой скоростью вода будет выливаться, когда откроют пробку?

Можешь ответить на эти, безусловно школьные вопросы?

Допустим, ответил. ЧТо это мне скажет? только то, что ты помнишь приблизительно те же вещи, что и я. О твоем профессионализме это не скажет ничего.
Re[5]: чем заменить задачу по развороту списка
От: AleksandrN Россия  
Дата: 06.10.20 08:38
Оценка:
Здравствуйте, xarcass, Вы писали:

X>Кто в своей повседневной работе использовал разворот односвязного списка — пусть первый бросит в меня камень.


X>зы. если что — с реверса списка тема и началась


А часто спрашивают разворот списка на собеседовании? Меня, например — ни разу. Разговоры про списки, деревья и прочие контейнеры были, но спрашивали, как они устроены и какая сложность вставки и поиска значений.

А список развернёт любой первокурсник, который вчера лабу на эту тему делал.
Re[5]: чем заменить задачу по развороту списка
От: xarcass  
Дата: 06.10.20 08:52
Оценка:
G>Зачем спрашивать эту формулу на собесе? Ну то есть ты правда хочешь понять, помнит ли кандидат эту формулу?

Да нет там никаких формул вообще. Зато есть один весьма программистский нюанс. На который в реальной жизни реальные люди и наступили. И слегка побуксовали.

И вообще, чем критиковать чужие задачки накидал бы кто своих. А то кроме меня и тёмчика пока никто не сподобился.
Re[4]: чем заменить задачу по развороту списка
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.10.20 09:00
Оценка:
Здравствуйте, xarcass, Вы писали:

G>>С поворотами — тоже не все хорошо. Формулу поворота помнят не только лишь все. Ее придется выводить прямо на собеседовании.


G>>В общем, задачи конечно интересные, но их нужно давать только в контексте поиска человека, который в работе должен жонглировать битовыми масками и выполнять другую акробатику. И при этом заранее озвучив, что вам нужно именно максимально эффективное по времени решение.


X>Какая там формула может быть? Школьная тригонометрия. Задача из реальной жизни.


Это сразу сужает перечень кандидатов до бывших школьников, студентов математических специальностей и тех, кто именно в этой теме и работает.

Скажем, если ты такую задачу будешь задавать бакенду или фронтенду, то велик шанс фейла. Вместо этого гораздо более результативно спрашивать по самому профилю кандидата.
В порядке убывания важности:
1. опыт, роли, обязанности — интересует прежде всего уровень коммуникации, масштаб работ, умение принимать решения и вникать в суть дела
2. интересы
3. технические скилы — желательно понимание основ, проектирования, а не сами баззворды

Обычно всё наоборот — спрашивают за баззворды, а всё остальное мало кто вообще берется спрашивать. На самом деле хороший сотрудник это далеко не всегда тот, кто уже на входе знает нужный баззворд. Более того, знатоки баззвордов слишком часто теряют интерес, например, на долгоиграющих проектах.
Re[5]: чем заменить задачу по развороту списка
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 06.10.20 09:03
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Допустим, ответил. ЧТо это мне скажет? только то, что ты помнишь приблизительно те же вещи, что и я. О твоем профессионализме это не скажет ничего.


Кажется, что в программировании практически никогда не бывает так, что кандидат удовлетворяет всем необходимым требованиям. Разве что в 1С получить все сертификаты и можно на любой проект. Поэтому на собеседовниях смотрят:
1. Какой частью их необходимых знаний обладает кандидат.
2. Как быстро он учится.
3. Как умеет разбираться с незнакомыми проблемами.

В зависимости от результатов собеседования, можно взять кандидата со знаниями в предметной области и с низкой скоростью обучения или, наоборот, с высокой обучаемостью, но без знаний. В зависимости от проекта, укомплектованности команды и бюджета принимается решение. Или у тебя не так?
Возвращаясь к вопросу, например, о синусе можно понять насколько быстро кандидат разберётся с задачами, где будет немного математики.
Re[6]: чем заменить задачу по развороту списка
От: Gradiens  
Дата: 06.10.20 09:19
Оценка:
Здравствуйте, xarcass, Вы писали:

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


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

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

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

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

Остальные типы задач — от лукавого. Лично я не вижу, как другие типы головоломок помогут понять, подходит кандидат, или нет.
Да и задачи на мышление — спорная тема. Можно потратить кучу времени, завалить хорошего кандидата, который хорошо программирует но плохо решает задачи "про гномиков"
Re[8]: чем заменить задачу по развороту списка
От: Skorodum Россия  
Дата: 06.10.20 09:22
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Битовые операции никакая не мутота. Оптимизации, протоколы, низкоуровневая работа с данными, системные функции — это неполный список того, где битовые операции не редкость.

Замена умножения на сдвиг это разве оптимизация для стандартных CPU, компиляторов и С/С++? Я еще лет 10 назад пробовал разные варианты just for fun и выходило примерно шило на мыло
Re[9]: чем заменить задачу по развороту списка
От: Тёмчик Австралия жж
Дата: 06.10.20 09:57
Оценка: :)
Здравствуйте, Nuzhny, Вы писали:

N>А почему не перспективное? А почему матриц, а не матрицу на вектор? А нужна ли там вообще матрица?

Представить каждый пиксел как вектор координатами (x,y) и умножать на матрицу афинного преобразования, по аналогии с 3d.
Re[3]: чем заменить задачу по развороту списка
От: Skorodum Россия  
Дата: 06.10.20 10:04
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Ну то есть кандидату совсем неочевидно, почему "Операцию умножения — не использовать".

Так это же прямая отсылка к сдвигу.

G>И сходу хочется объяснить постановку задачи "придурью интервьювера"

G>А вот если сказать "операция критична по времени" — все сразу ясно.
Да не ясно. Еще большой вопрос будет ли сдвиг эффективнее. А вот запрет на умножение прямо говорит про сдвиг.
Все эти сдвиги на практике нужны в первую очередь не для скорости, а для адресации внутри байта, когда есть серьезные ограничения по памяти.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.