Здравствуйте, elmal, Вы писали:
E>Здравствуйте, Тёмчик, Вы писали:
E>В 99% реальные проблемы производительности не имеют ничего общего с тетой от n. А является банальной невнимательностью. Например дернул ленивую функцию там, где ее дергать не нужно (реальный недавний случай, кстати). Соответственно если проблема возникает — быстро находится результат, быстро фиксится в одном месте кода, и все работает с нужной скоростью. А когда просто банальная проблема в одной функции оказывается важной и критичной — это будет как раз следствием того, что в проекте внутри царит спагетти и копипаст. Вот это да, быстро в случае обнаружения хрен поправишь, зачастую за месяц это хрен поправишь. Плюс при одной и той же тета от n время выполнения может различаться на порядки. За счет боксинга, работы сборщика мусора в результате лишних аллокаций объектов и тому подобной хрени.
+100, чинил много перфоманса в разных проектах и в разных компаниях, в подавляющем числе случаев в том или ином виде причиной был бардак в коде а не "неоптимальный" алгоритм.
Re[10]: Когда gut feel совпал с результатом тестирования
Здравствуйте, elmal, Вы писали:
E>Короче, попробуй прочитать про dry принцип, про инкапсуляцию, принцип единственной ответственности и т.д. И постепенно приводи проект в порядок. И настанет время, когда в случае проблем с производительностью вы быстро в одном месте поправите и продолжите пилить дальше, а не будете иметь кучу проблем, как сейчас (иначе бы ты на этом внимание не акцентировал вообще). И погугли про закон амдала еще. И про правило 80 20. Это основы азов программирования, а не развороты списков. И несоблюдение реальных основ на практике гораздо более дорого обходится, чем неправильный разворот списка. А то пипец, прочитал одну книжку по алгоритмам, и на основании одной книжки без опыта считаешь что стал мегагуру программирования. Там вообще то до черта книг нужно помимо читать, причем до алгоритмов. И потом хотя бы лет 5 практически поработать, желательно в разных областях.
Про SOLID я спрашиваю, но мне это некритично- говорунов много и все про SOLID заучили, а как строку развернуть, так meltdown.
Здравствуйте, Faland, Вы писали:
F>+100, чинил много перфоманса в разных проектах и в разных компаниях, в подавляющем числе случаев в том или ином виде причиной был бардак в коде
А если точнее — код со многими-многими уровнями абстракции, построенными по принципу "выливаем воду из чайника и таким образом сводим задачу к предыдущей".
Здравствуйте, Тёмчик, Вы писали:
Тё>Коллеги, у вас бывало что gut feel совпал с результатом теста, в хорошем смысле? Т.е. при первом взгляде стало очевидно, что кандидат smart и потом он решил все важные подброшенные задачки. Задачки несложные, и в манипулировании битами пробел, но знает про Big O и правильно определил временную сложность и требования по памяти для предлагаемых им алгоритмов решения.
Ветку не читал, сразу отвечаю.
Теперь ты научился видеть, когда человек вот-вот и станет «рыбой лазающей по деревьям».
А лет чере пять-шесть, у тебя появится уже реливантный опыт какого работается с такими вот «рыбами».
Именно после этого, поменяешь подход к собеседованию, чтобы как раз таки эти самые «рыбы» и отваливались.