Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Оценка профессионализма
Форумы портала PHP.SU » Разное » Прочее » Оценка профессионализма

Страниц (1): [1]
 

1. EuGen - 05 Июня, 2012 - 10:23:46 - перейти к сообщению
Листая просторы интернета, наткнулся на матрицу оценки программиста. Любопытно увидеть, как Вы себя оцениваете.
Программирование:
Версия матрицы оценки на английском языке (оригинал)
Версия матрицы оценки на русском языке (в двух частях)

Системное/сетевое администрирование:
Матрица оценки для администраторов

Возможно, это будет полезным при самооценке. Итак, каковы же оценки?
Ах да, забыл добавить собственную оценку. Программирование ~n log(n); администрирование ~40lvl
2. DlTA - 05 Июня, 2012 - 11:02:11 - перейти к сообщению
чет я в упор не догоню принцип расчета
3. EuGen - 05 Июня, 2012 - 11:13:59 - перейти к сообщению
В плане 2n, n2 или log(n) Вам ни о чем не говорят? Если так, то Ваш результат 2n.
4. DlTA - 05 Июня, 2012 - 11:22:37 - перейти к сообщению
допустим но все же?
5. EuGen - 05 Июня, 2012 - 11:34:38 - перейти к сообщению
Хм. Никакого сарказма в моей фразе нет, но я правда немного недоумеваю, так как шкала оценки - это сложность алгоритмов. Есть хорошие алгоритмы и плохие алгоритмы. Хорошие - те, которые работают быстро и требуют мало ресурсов (памяти/CPU), плохие - те, что требуют много. Программистов эта матрица оценивает так же.
Сложность алгоритма (то, что написано в шкале - примеры сложности, начиная от худшей к одной из лучшей) - это некоторая зависимость (можно назвать функцией) объема работы алгоритма от объема входящих данных.
Более подробно - здесь
Пример - перебор ("брутфорс") имеет сложность 2n так как если принять, что n - длина подбираемого пароля, то количество возможных паролей такой длины с использованием 26+26+10+10 = 62 символов (латиницы верхнего/нижнего регистра, цифры, спецсимволы) будет 62n (сложность приравнивается к 2n - обе - показательные функции).
6. Alho - 05 Июня, 2012 - 11:38:20 - перейти к сообщению
Где-то n^2, где-то n.
НО! Я даже не слышал о некоторых вещах, которые находятся в столбце log(n)!!!

Откуда это берется?

Курсы, немало книг прочитано, но такого даже не встречалось (за исключением разве пары пунктов).

EuGen, порекомендуйте способ подтянуть уровень. Что это чистый опыт, по мере того, как сталкиваешься с более сложными задачами? Или таки образование и книги?
7. EuGen - 05 Июня, 2012 - 11:43:41 - перейти к сообщению
Alho
Не переживайте. Я, к примеру, оценил себя как [ n log(n) ] (то есть хуже чем n, но лучше, чем n2). Многое из озвученного там - касается дисциплин, распространенных в веб-программировании в меньшей степени. Другое - приходит с опытом и при участии в крупных проектах с распределенной командой разработки и четкой стратегией управления. Книги так же могут быть полезны, но только следует помнить, что те из них, что имеют "широкий охват" - содержат, как правило, лишь общие рекомендации (а их Вы получите и из практики), а те, что узкоспециализированы - отвечают лишь на узкий спектр вопросов, относящихся к одной тематике и если читать такие книги применительно только к одной-двум областям, то широких познаний не будет. Нельзя быть специалистом сразу во всех сферах, IT слишком широко в современной реальности. Однако можно совершенствоваться и изучать. Не случайно в графе "опыт" у программиста "сложности n" выставлено "10+" - за более короткий срок изучить столько сложных вопросов и так глубоко вряд ли выйдет.
8. DlTA - 05 Июня, 2012 - 12:58:33 - перейти к сообщению
примерное мое: O(n^2 + n/2 + (2^n)/4)

табличка (Отобразить)

GORKOFF пишет:
Если мы хотим оценить сложность алгоритма, уравнение сложности которого содержит несколько этих функций, то уравнение можно сократить до функции, расположенной ниже в таблице. Например, O(log(N)+N!)=O(N!).

http://habrahabr[dot]ru/post/104219/

хоть как не крути но получается)
O(n^2 + n/2 + (2^n)/4) = O(2^n)
9. EuGen - 05 Июня, 2012 - 13:14:51 - перейти к сообщению
В случае "суммы" берется наихудшая из оценок, так как общее время (сложность) будет определяться именно этим "слагаемым". Константы (коэффициенты) при оценке сложности вообще не учитываются (потому сложность и указывается как "О-большое-от-функции").
Но все это несколько не по теме - с оценками все более-менее прозрачно, другое дело - знания.
10. eai - 05 Июня, 2012 - 13:18:09 - перейти к сообщению
И все таки я уже не программист в полном смысле этого слова ... ех, а когда то тянул на ...
11. DlTA - 05 Июня, 2012 - 13:37:37 - перейти к сообщению
имхо система оценивания не адекватная.
12. eai - 05 Июня, 2012 - 13:46:11 - перейти к сообщению
На самом деле ценность программиста не в фибдачах и не абстракных структурах с повторным использованием а в способности написать правильно работающий код, все остальное теория.
13. EuGen - 05 Июня, 2012 - 13:49:00 - перейти к сообщению
Системы существуют разные. Эта - наиболее полная из тех, что я встречал (всевозможные тесты не в счет)
14. Alho - 05 Июня, 2012 - 14:19:16 - перейти к сообщению
eai, написать работоспособный код, который решает поставленную задачу - легко.

А вот когда изначальная спецификация меняется, тогда уже наступают проблемы, если код изначально не был на достаточном уровне абстракции, то придется все переписывать с нуля.
15. eai - 05 Июня, 2012 - 14:20:59 - перейти к сообщению
Alho пишет:
eai, написать работоспособный код, который решает поставленную задачу - легко.

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


Второе возможно только после первого. Поэтому те кто до сих пор создает суперархитектуру уже в не игры ...

 

Powered by ExBB FM 1.0 RC1