Здравствуйте, turbocode, Вы писали:
T>>>·>Если тебе не приходилось участвовать в проектах, где важна производительность — это не значит что оно никому не нужно. T>>>Даже боюсь спросить тебя о том: какое же получилось самое производительное решение по подсчету битов? T>·>Опять ты куда-то разговор уводишь, совсем аргуметы кончились? Речь шла про "элементарщину из головы". T>Твое решение из головы?
Я не понял вопрос.
T>·>Задачи, где нужно работать с байтами и битами — встречаются на практике в некоторых проектах. T>И как вы их решаете?
В смысле? Пишем код.
T>·>Бывают разработчики с кучей лет опыта в солидных компаниях на крутых проектах, но знания без низкого уровня — их легко отсеивать простой задачкой за 10 минут, без всяких ТЗ, договоров, бирж и прочего бреда. То что мы их отсеяли не означает, что они быдло и идиоты, а лишь то что они не подходят под требования наших проектов. T>А обязательно нужно всё решать из головы за 10 минут? Это как то подозрительно.
Да. А что, по-твоему такие задачи невозможно решать из головы?
T>P.S. Это не значит что они не могут решить эту задачку — это значит что им нужно освежить память, почитать тот же SO, погуглить, обдумать, возможно даже создать тесты производительности и принять эффективное решение.
Для задачи посчёта битов? В рамках интервью не требуется идеальное эффективное решение. Требуется лишь умение писать код в принципе, знать что такое биты/байты, представлять как представляются целочисленные типы в ЯП и т.п. Если человек занимался оптимизацией на уровне SQL-запросов (а это на самом деле не проще битов|байтов), но вылизыванием микросекунд не занимался, он не подойдёт в нашу команду — слишком долго будет освежать память и гуглить. Но это не значит, что он идиот, это значит, что ему будет лучше работать в другой команде.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
·>Для задачи посчёта битов? В рамках интервью не требуется идеальное эффективное решение. Требуется лишь умение писать код в принципе, знать что такое биты/байты, представлять как представляются целочисленные типы в ЯП и т.п. Если человек занимался оптимизацией на уровне SQL-запросов (а это на самом деле не проще битов|байтов), но вылизыванием микросекунд не занимался, он не подойдёт в нашу команду — слишком долго будет освежать память и гуглить. Но это не значит, что он идиот, это значит, что ему будет лучше работать в другой команде.
Вы сами себе противоречите сначала говорите что нужно лишь умение писать код в принципе, а потом внезапно вам нужны микросекунды.
Поэтому меня удивляет зачем вы вообще кого то ищете с улицы тем более с банков, если вам подойдет только тот кто работает у вашего прямого конкурента над такими же задачами как и вы.
S>Решить могут, но нужны соответствующие инстинкты и навыки. Одно дело -- решить задачку, которую тебе дали, другое дело -- самому понять, где и как нужно применять низкоуровневые оптимизации.
Если тебе дали задачу где 90% времени программа будет считать биты, то не трудно самому догадаться что считать биты нужно как можно быстрее.
Если задача в общем то нужно смотреть требования заказчика.
Если требований заказчика нету то делай так чтобы можно было удобно пользоваться, даже если для этого нужен будет прогресс-бар и кнопка "отменить"
Здравствуйте, turbocode, Вы писали:
T>Если тебе дали задачу где 90% времени программа будет считать биты, то не трудно самому догадаться что считать биты нужно как можно быстрее.
Надо самому распознать места, где от подсчетов битов и байтов будет выигрыш, а не ждать, что кто-то скажет сделать там-то и там-то.
Здравствуйте, CreatorCray, Вы писали:
I>>Скорее ты хочешь, но не можешь нахамить мне открыто и прибегаешь к намекам на квалификацию. CC>Какой бы квалификации не был бы кандидат но если встаёт в позу при виде простой задачки — не подходит.
Типа тебе не ясно, что встают в позу из-за неуважения, а не задачи
I>>О чем и речь CC>В системщине это не работает. Люди которые нам нужны попадаются в довольно штучных колвах.
Скорее всего штучное количество проходит ваше интервью. Это разные вещи — наличие готовых специалистов, наличие согласных перепрофилироваться и тех, кто подобное интервью пройдет.
I>> Вот другой вариант — просто знакомиться, а не домысливать, что де кандидат наврал о себе в резюме. CC>Это можно если с человеком уже работал и код его видел. Но таких будут собеседовать другие и, о сюрприз, дадут задачку примерно такого же уровня.
По твоему знакомиться это когда с человеком поработал и код видел ?
I>>Во втором случае, кстати говоря, информация о кандидате более полная, более качественная CC>Нет вообще никакой информации которая нас интересует.
S>Надо самому распознать места, где от подсчетов битов и байтов будет выигрыш, а не ждать, что кто-то скажет сделать там-то и там-то.
А тебя кто то просил это делать? Ты потратил время на оптимизации (считай кинул заказчика на дополнительные расходы по деньгам), а заказчику всего лишь нужно было — чтобы работало хоть как нибудь.
Здравствуйте, turbocode, Вы писали:
T>·>Для задачи посчёта битов? В рамках интервью не требуется идеальное эффективное решение. Требуется лишь умение писать код в принципе, знать что такое биты/байты, представлять как представляются целочисленные типы в ЯП и т.п. Если человек занимался оптимизацией на уровне SQL-запросов (а это на самом деле не проще битов|байтов), но вылизыванием микросекунд не занимался, он не подойдёт в нашу команду — слишком долго будет освежать память и гуглить. Но это не значит, что он идиот, это значит, что ему будет лучше работать в другой команде. T>Вы сами себе противоречите сначала говорите что нужно лишь умение писать код в принципе,
Ты просто невнимательно читаешь, я не это говорил, я подчеркнул выше что я сказал.
T> а потом внезапно вам нужны микросекунды.
Микросекунды это уже следствие владения некой совокупностью знаний из области программирования.
T>Поэтому меня удивляет зачем вы вообще кого то ищете с улицы тем более с банков, если вам подойдет только тот кто работает у вашего прямого конкурента над такими же задачами как и вы.
В больших компниях тысячи проектов, сотни команд — специфика очень сильно отличается. И что подойдёт — сказать сходу сложно. Например, те же микросекунды могут быть необходимы в совершенно разных областях. Скажем, в своё время много народу из телекома шло в HFT — совершенно не конкурентные области, но с т.з. программирования — та же совокупность знаний.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
T>>>>С тобой всё понятно, встречались мне такие крахоборы-битодрочеры на собесах. T>>·>Если тебе не приходилось участвовать в проектах, где важна производительность — это не значит что оно никому не нужно. T>>Даже боюсь спросить тебя о том: какое же получилось самое производительное решение по подсчету битов? ·>Опять ты куда-то разговор уводишь, совсем аргуметы кончились? Речь шла про "элементарщину из головы". Задачи, где нужно работать с байтами и битами — встречаются на практике в некоторых проектах.
Некоторых, да.
>Бывают разработчики с кучей лет опыта в солидных компаниях на крутых проектах, но знания без низкого уровня — их легко отсеивать простой задачкой за 10 минут, без всяких ТЗ, договоров, бирж и прочего бреда. То что мы их отсеяли не означает, что они быдло и идиоты, а лишь то что они не подходят под требования наших проектов.
Не совсем понятно, зачем их отсеивать. Люди на крутых проектах прежде всего хороши тем, что они сохранили самое главное — отношение к делу и интерес обучению. А вы их задачкой раз, и срезали. Т.е. ищете готовых, под ключ.
Здравствуйте, Sharov, Вы писали:
T>>А обязательно нужно всё решать из головы за 10 минут? Это как то подозрительно. T>>P.S. Это не значит что они не могут решить эту задачку — это значит что им нужно освежить память, почитать тот же SO, погуглить, обдумать, возможно даже создать тесты производительности и принять эффективное решение.
S>Решить могут, но нужны соответствующие инстинкты и навыки. Одно дело -- решить задачку, которую тебе дали, другое дело -- самому понять, где и как нужно применять низкоуровневые оптимизации.
И наверняка этому нигде не учатся. С такими навыками уж точно родятся. Так что ли понимать ?
Здравствуйте, turbocode, Вы писали:
T>А тебя кто то просил это делать? Ты потратил время на оптимизации (считай кинул заказчика на дополнительные расходы по деньгам), а заказчику всего лишь нужно было — чтобы работало хоть как нибудь.
Ну если тз или функц. спеках сказано про производительность, то воленс-ноленс... При этом за ручку, где и как оптимизировать, никто водить не собирается.
Здравствуйте, Sharov, Вы писали:
T>>Если тебе дали задачу где 90% времени программа будет считать биты, то не трудно самому догадаться что считать биты нужно как можно быстрее.
S>Надо самому распознать места, где от подсчетов битов и байтов будет выигрыш, а не ждать, что кто-то скажет сделать там-то и там-то.
Внезапно, умение считать биты превратилось в "самому распознать"
В оптимизациях, хоть высокоуровневых, хоть низкоуровневых, самое главное это замеры и умение предложить/отработать гипотезу.
Вот умение решить кодом да за 10 минут нужно наверное в 1% всех таких случаев. Большей частью в оптимизации основное время тратится на исследования, замеры и обдумывание, а не кодинг.
У тебя похоже, все наоборот — замерять уметь не надо, думать не надо, а биты считать наиглавнейший скилл
S>>Решить могут, но нужны соответствующие инстинкты и навыки. Одно дело -- решить задачку, которую тебе дали, другое дело -- самому понять, где и как нужно применять низкоуровневые оптимизации.
I>И наверняка этому нигде не учатся. С такими навыками уж точно родятся. Так что ли понимать ?
Вопрос не понял -- бывают нанимают людей под конкретные задачи (здесь и сейчас), а бывают ищут программиста и обучают в процессе работы. В первом случае зарплата больше, во втором соовт. меньше.
Отработав во втром месте, можно получить небходимые навыки и устроится в первое место. Как-то так.
S>>Надо самому распознать места, где от подсчетов битов и байтов будет выигрыш, а не ждать, что кто-то скажет сделать там-то и там-то.
I>Внезапно, умение считать биты превратилось в "самому распознать"
I>В оптимизациях, хоть высокоуровневых, хоть низкоуровневых, самое главное это замеры и умение предложить/отработать гипотезу.
А толку? Замерил, а сделать ничего не можешь.
I>Вот умение решить кодом да за 10 минут нужно наверное в 1% всех таких случаев. Большей частью в оптимизации основное время тратится на исследования, замеры и обдумывание, а не кодинг.
В целом согласен, но речь идет о том, что люди думают, что им пальцем должны показать где, как и чем замерить.
I>У тебя похоже, все наоборот — замерять уметь не надо, думать не надо, а биты считать наиглавнейший скилл
Не наоборот, а все вместе -- это навыком и завется.
Здравствуйте, turbocode, Вы писали:
S>>Вопрос не понял -- бывают нанимают людей под конкретные задачи (здесь и сейчас),
T>Но при этом предлагают считать биты вместо того чтобы дать одну из конкретных задач.
T>>Поэтому меня удивляет зачем вы вообще кого то ищете с улицы тем более с банков, если вам подойдет только тот кто работает у вашего прямого конкурента над такими же задачами как и вы. ·>В больших компниях тысячи проектов, сотни команд — специфика очень сильно отличается. И что подойдёт — сказать сходу сложно. Например, те же микросекунды могут быть необходимы в совершенно разных областях. Скажем, в своё время много народу из телекома шло в HFT — совершенно не конкурентные области, но с т.з. программирования — та же совокупность знаний.
T>>Но при этом предлагают считать биты вместо того чтобы дать одну из конкретных задач. S>Если задача к этому сведется, то почему бы и нет?
Как мы уже выяснили, задача на подсчет битов это тест на дурака чтобы сразу отбривать жабаскриптеров, SQL-щиков и прочих кто не в состоянии сходу решать задачи на битовые операции.
I>Не совсем понятно, зачем их отсеивать. Люди на крутых проектах прежде всего хороши тем, что они сохранили самое главное — отношение к делу и интерес обучению. А вы их задачкой раз, и срезали. Т.е. ищете готовых, под ключ.
Типа экономят свои деньги, чтобы можно было с первого дня нагружать кандидата по полной и требовать с него микросекунды.
Здравствуйте, Ikemefula, Вы писали:
I>Типа тебе не ясно, что встают в позу из-за неуважения, а не задачи
Неадекватные примадонны, которые такую разминочную задачу считают неуважением нам тоже не нужны.
Я такого одного персонажа лично знаю, он свои собственные баги чинить отказывался, мол, не барское это дело.
I>Скорее всего штучное количество проходит ваше интервью.
До интервью доходит штучное.
I> Это разные вещи — наличие готовых специалистов, наличие согласных перепрофилироваться и тех, кто подобное интервью пройдет.
В нашей области специалистов изначально мало. Интервью отсеивает тех, кто просто рядом постоял а не делал сам руками.
I>По твоему знакомиться это когда с человеком поработал и код видел ?
Я с ним пить или работать собираюсь? Меня в первую очередь интересует как хорошо он может делать свою работу.
I>>Типа тебе не ясно, что встают в позу из-за неуважения, а не задачи CC>Неадекватные примадонны, которые такую разминочную задачу считают неуважением нам тоже не нужны.
Работать с теми кто изначально тебе не доверяет и в чем то тебя подозревает и как результат сразу же навешивает тебе значок тупого быдла, которое перед вами должно прыгать, что то вам доказывать и оправдываться — таких желающих много не наберется.