хз, я делал такое когда на C++ задачки решал, правда там не через Обратную Польскую Нотацию делалВообще, очень показательная задача. Обратная польская запись разбирается в лучшей книге по php, которую я встречал, так что у профессионала проблем с алгоритмом быть не должно. Но для ТЗ это фуфло, я бы точно отказался писать, сославшись на Шлосснейгла.
Задание дали в конце. Озвучивал что-либо я по пути к выходным дверям.whirlwind, есть подозрение, что если бы ТС озвучил аббревиатуру "rpn", никакого задания бы не было
О том и речь. Я не строю из себя профи, мой уровень очень мал. Но я честно говорю - вот мой код, я так пишу. Я специально привел примеры кода. Нравится? Готов работать. Нет - ну и ладно.Неужели собеседующему настолько лень посмотреть на имеющиеся у кандидата примеры?
Какие базовые алгоритмы? Зачем? Для чего?Только лучше не rpn, а какую-то более реальную задачку давать, но тоже на знание базовых алгоритмов. Работа с строка, сортировки, деревья.
Начинай собеседование с этой фразы, а лучше в резюме поставь. Сэкономишь кучу времени и себе и собеседующимЯ веб-программист. Мои задачи - писать на имеющихся API языков решения для бизнес-задач.
Мне не интересны алгоритмы, в реальной жизни они не нужны.
Ну тогда ты входишь аж в 3 категорию из тех, что я описал. Не скучно?Я глянул польскую запись. Ок. Я без проблем могу реализовать этот алгоритм, но практическая цель какая всего этого действа?
Я веб-программист. Мои задачи - писать на имеющихся API языков решения для бизнес-задач.
Это ты зря. Посмотри на библиотеки facebook для фронтенда (react, immutable), это чистое применение алгоритмов на практике.Мне не интересны алгоритмы, в реальной жизни они не нужны. Вообще. Нет ни смысла ни мотивации делать то, что никому не нужно.
ЗЫ. кстати - а чо там в реакте? стоит поковырять ... а то сейчас собираюсь простенькую админочку пилить, вот думал на ангуляре, ибо более менее знаю его косяки... но все от реакта пищат...Мне не интересны алгоритмы, в реальной жизни они не нужны.
Для админки - нет смысла) У тебя админка - 90% формы и валидация, у реакта с этим туго) Чем сложнее формы, тем туже с этим у реакта)ЗЫ. кстати - а чо там в реакте? стоит поковырять ... а то сейчас собираюсь простенькую админочку пилить, вот думал на ангуляре, ибо более менее знаю его косяки... но все от реакта пищат...
Поковыряться с алгоритмами и другими интересными задачками бывает очень интересно и знать их полезно, но в большинстве реальных прикладных задач, это сегодня действительно не требуется (вполне можно быть просто ремесленником на среднем/низком уровне и качественно решать задачи этого уровня).Расмус Лердорф написал(а):PHP — просто инструмент, с помощью которого можно сколотить классные штуки. И мне нравится именно это — то, что создано с помощью PHP. Я никогда не работал в компании, производящей инструменты; много лет я проработал в Yahoo, потом в WePay, сейчас — в Etsy. Это компании, которые работают для нормальных, обычных людей, и PHP — их неотъемлемая часть. Это инструмент, которым мы пользуемся, чтобы делать вещи для реальных людей.
А компании, которые делают инструменты, работают не для людей, а для программистов — как Mongo, как MySQL и т.п. Если выйти на улицу и спросить обычных людей, слышали ли они о Mongo или MySQL, никто не ответит утвердительно. И про PHP никто из них не слышал, и это хорошо.
С другой стороны, если выйти на улицу и спросить людей, слышали ли они о Facebook, что они ответят? Все скажут, что слышали. Меня интересуют именно такие продукты, я хочу делать вещи для реальных людей. Вы спрашиваете, почему я не хочу основать компанию для разработки PHP? Он не касается реальных людей, только придурков типа меня; к тому же делать что-то для программистов — очень раздражающее занятие.
— Означает ли это, что в какой-то момент вы забросите PHP или станете уделять ему меньше времени?
— Единственная причина существования PHP состоит в том, что это инструмент для создания продуктов для реальных людей. И мне нужен этот инструмент, без него я не могу этого делать; это же относится и ко многим компаниям. Мне нравится заниматься PHP, но мне нужно видеть эффект для реальных людей: если я его не вижу, мне нет смысла продолжать это делать.
И через 2-3 года ты окажешься никому не нужен) Уже сейчас cms достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.Поковыряться с алгоритмами и другими интересными задачками бывает очень интересно и знать их полезно, но в большинстве реальных прикладных задач, это сегодня действительно не требуется (вполне можно быть просто ремесленником на среднем/низком уровне и качественно решать задачи этого уровня).
Сомневаюсь, в прочем я такое отношение к своей профессии и не поощряю, в общем-то. Безотносительно профессии, как по мне, так и слесарь, швея или фельдшер не в меньшей степени, чем веб разработчик или физик-ядерщик, должны стремиться повысить свою квалификацию и выполнять свою работу качественно и ответственно. Лично для меня это не только лишь способ заработать денег. Заработать возможности всегда можно найти, если на ж..е не сидеть. Однако некоторая правота за ним есть. В сегодняшних условиях развитых API, множества готовых решений и огромного количества легкодоступной информации. 9 из 10 конкретных задач (а не сферических в вакууме) проще и быстрее всего решить (а с точки зрения бизнеса нужно именно так, а не сидеть неделю суперкрутой алгоритм сочинять и идеальную архитектуру строить) именно взяв готовое решение и быстренько собрав как в конструкторе некрасивое и не оптимальное но РАБОЧЕЕ решение.И через 2-3 года ты окажешься никому не нужен) Уже сейчас cms достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.
Согласен. А если взглянуть в ценностных категориях, то фейсбук не только не дал ничего полезного, но скорее наоборот... Однако если б не было миллионов обычных людей пользующихся им, то нахер он никому не нужен был бы, разработчикам тоже. Т.е. в данном случае не "крутые алгоритмы" создали фейсбук, а опять же фейсбук дал разработчикам "крутые алгоритмы" в силу сложившихся обстоятельств.PS и по поводу высказывания Расмуса - имхо facebook для разработчиков сделал гораздо больше, чем для обычных людей))
Это миф.И через 2-3 года ты окажешься никому не нужен) Уже сейчас cms достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.
Ты упомянул react и immutable. А зачем это все нужно? Можно на пальцах объяснить, без посылания в Википедию или в гугл?PS и по поводу высказывания Расмуса - имхо facebook для разработчиков сделал гораздо больше, чем для обычных людей))
подумали создатели delphi и выпустили джина из бутылкиИ через 2-3 года ты окажешься никому не нужен) Уже сейчас ХХХ достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.
С изобретением AI уже никто не будет нужен. Только это не через 2-3 года произойдет. Если произойдет.И через 2-3 года ты окажешься никому не нужен)
define('D', '\-?\d+(?:\.\d+)?');
define('G_MDB','/(\('.D.'[-+*\/]'.D.'\)|'.D. '[*\/]'.D.')/');
define('G_AS', '/'.D.'[-+]'.D.'/');
define('G_D', '/('.D.')([-+*\/])('.D.')/');
//
function opers($matches) {
preg_match(G_D, $matches[0], $m);
if ($m[2] == '*') return $m[1] * $m[3];
if ($m[2] == '/') return $m[1] / $m[3];
if ($m[2] == '+') return $m[1] + $m[3];
if ($m[2] == '-') return $m[1] - $m[3];
}
//
$s = '-2*-3.44/((-2/-5)-1)';
$i = 0;
while ( preg_match('/[^\^][-+*\/]/', $s) ) {
$s = preg_replace('/\(('.D.')\)/', '\1', $s);
$s = preg_replace_callback(G_MDB,'opers', $s);
$s = preg_replace_callback(G_AS, 'opers', $s);
if ($i++>100) die('error');
}
echo $s; // -11.466666666667
синдром вахтера?и буду делать впредь