Есть определенный базовый уровень для элементарных вопросов — это задачи, с которыми человек работает постоянно. Ваш вопрос 99% решается использованием встроенных функций. Оставшийся вопрос решается поиском. Как я уже писал выше, оперативная память — она для более часто используемых вещей.
Как-то раз на собеседовании технический специалист спросил, что я буду делать, если встречу что-то непонятное (речь шла о PostgreSQL, с которым я на тот момент ни разу не работал). Я логично ответил «почитаю документацию». После чего HR-менеджеру было выдано резюме «профессионал».
Суть заключается в том, что не нужно захламлять оперативную память редко используемыми знаниями — надо знать, где посмотреть в случае чего, или сообразить, к чему вообще это может относиться.
Ну, различия между 4-й и 5-й хотя бы в ООП — это минимум того, что нужно знать. Различия 5 и 5.3 тоже довольно кардинальные, и надо быть в теме заранее.
Насчет паттернов можно напомнить, что даже сам Фаулер говорил: не надо бездумно применять шаблоны, каждая ситуация требует индивидуального подхода.
Программист, который после работы холиварит и пьёт пиво, явно больше интересуется своей профессией чем тот, кто работает с 10 до 19 и при выходе с работы забывает её, как страшный сон.
Не вижу связи. Работа — это одно, а любовь к людям — совсем другое. А может быть любовь к людям, в виде их отсутствия, помогает мне сосредочиться на работе? :)
P.S.: даже и не подумал про минусы, да и вобщем плевать на них.
Во-вторых, заставляя писать меня такой код, да ещё и на бумаге, собеседующий совсем не располагает меня к дальнейшему сотрудничеству.
В-третьих, для PHP ответ «воспользоваться встроенными функциями» будет единственно правильным (странно, что вы этого не понимает).
P.S.: BTW, я тут как раз работаю с MMORPG в количестве 5-и штук и как-то вот не приходилось мне пока ни разу решать такие идиотские задачи.
:)
Насчет паттернов можно напомнить, что даже сам Фаулер говорил: не надо бездумно применять шаблоны, каждая ситуация требует индивидуального подхода.