есть два основных (мета)подхода
1. напрячь внимание, сжав волю в кулак, и максимально быстро решить, или попытаться решить. Подход является единственно возможным на кодинг интервью, или когда начальство душит дедлайном. Уметь так работать - несомненно хороший навык. Людей, не умеющих так работать, Гугл вообще на порог не пускает, и многие другие фирмы (при этом они понимают, что иногда отсеивают мудрых, но тормозных людей, но они согласны идти на это).
2. но часто нет такой спешки, и задача может быть решена в течении недели, скажем. Часто, начальство само не в курсах, что задача возникла, и соотв. не может душить. И вот тут, если применить метод 1 описанный выше ... Короче, опыт показывает, что результаты "так себе". Гораздо лучше не кидаться на задачу "с кулаками", а ходить вокруг нее, как кот вокруг холодильника, как бы лелеять, в том числе в нерабочей обставновке - за обедом, под струей душа. Часто бывает, что решение находится, причем явно не такое, какое могло быть найдено под стрессом, а как-то радикально лучшее. Часто бывает, что решение заключается в том, что начинаешь понимать, что само то что конкретная задача возникла -- уже неправильно, и что не надо ее вообще, решать, а надо сделать так, чтобы ее in the first place не возникало.
У второго подхода есть минус - если часто его применять, можешь разучиться методу 1, потому что метод 1 требует не только интеллекта и знаний, но и специфического навыка уметь концентрировать внимание, и этот навык запросто уходит если не тренировать его постоянно.
простите, если написал всем известную тривиальщину
ПC. Известный принцип "premature optimization is the root of all evil" - имеет к этой теме отношение, по крайней мере косвенное
1. напрячь внимание, сжав волю в кулак, и максимально быстро решить, или попытаться решить. Подход является единственно возможным на кодинг интервью, или когда начальство душит дедлайном. Уметь так работать - несомненно хороший навык. Людей, не умеющих так работать, Гугл вообще на порог не пускает, и многие другие фирмы (при этом они понимают, что иногда отсеивают мудрых, но тормозных людей, но они согласны идти на это).
2. но часто нет такой спешки, и задача может быть решена в течении недели, скажем. Часто, начальство само не в курсах, что задача возникла, и соотв. не может душить. И вот тут, если применить метод 1 описанный выше ... Короче, опыт показывает, что результаты "так себе". Гораздо лучше не кидаться на задачу "с кулаками", а ходить вокруг нее, как кот вокруг холодильника, как бы лелеять, в том числе в нерабочей обставновке - за обедом, под струей душа. Часто бывает, что решение находится, причем явно не такое, какое могло быть найдено под стрессом, а как-то радикально лучшее. Часто бывает, что решение заключается в том, что начинаешь понимать, что само то что конкретная задача возникла -- уже неправильно, и что не надо ее вообще, решать, а надо сделать так, чтобы ее in the first place не возникало.
У второго подхода есть минус - если часто его применять, можешь разучиться методу 1, потому что метод 1 требует не только интеллекта и знаний, но и специфического навыка уметь концентрировать внимание, и этот навык запросто уходит если не тренировать его постоянно.
простите, если написал всем известную тривиальщину
ПC. Известный принцип "premature optimization is the root of all evil" - имеет к этой теме отношение, по крайней мере косвенное