Комментарии 31
Очень плачевно видеть на хабре записи, которые бы поместились в твит… Привели бы хоть пару примеров что-ли, что-зачем и для чего лежит в этом репозитории…
Мдаа. Откуда только берутся такие статьи? Последнее время что-то интересное бывает только в дайджесте, и все…
так еще и задачки так себе
Реально на собеседованиях php спрашивают такие «практические» задачи?
Да и не понимаю людей, которые выкладывают такие бессмысленные статьи.
Да и не понимаю людей, которые выкладывают такие бессмысленные статьи.
Отсортировать одномерный массив своими силами
Мы такие задачи в универе решали для паскаля…
Уже представляю набраную команду людей, которые всё делают своими силами, ибо не знают встроеных функций… Жуть…
на собеседовании работодатель должен удостовериться, что ты хотя бы можешь написать сортировку массива ) Так сказать проверка на вменяемость. Зачем ему давать тебе Т/З от важного клиента, если ты не знаешь обыкновенный алгоритм сортировки методом пузырька/Хоара(рекурсивная и не рекурсивная)/бинарная…
А сортировка массива и в паскале есть из коробки.
А сортировка массива и в паскале есть из коробки.
А зачем нужны какие-то сторонние плагины вроде firephp?
Неужели так сложно работать с консолью?
И зачем нужен этот один несчастный интерфейс?
Неужели так сложно работать с консолью?
И зачем нужен этот один несчастный интерфейс?
И зачем нужен этот один несчастный интерфейс? — Из предыдущей версии статьи это было не ясно, но интерфейс не один. Сорри, добавил примеры и улучшил описание, перечитайте статью.
Неужели так сложно работать с консолью?
А зачем нужны какие-то сторонние плагины вроде firephp? — отвечу на оба вопроса. Это дело вкуса, используйте консоль, если Вам так удобно. Вас никто не принуждает использовать firephp. Однако, консоль браузера представляется мне более удобной альтернативой var_dump() или print_r() в консоли.
К тому же я использую firephp в связке с livereload и gulp. Попробуйте, Вы не пожалеете.
Неужели так сложно работать с консолью?
А зачем нужны какие-то сторонние плагины вроде firephp? — отвечу на оба вопроса. Это дело вкуса, используйте консоль, если Вам так удобно. Вас никто не принуждает использовать firephp. Однако, консоль браузера представляется мне более удобной альтернативой var_dump() или print_r() в консоли.
К тому же я использую firephp в связке с livereload и gulp. Попробуйте, Вы не пожалеете.
Тесты на знание метода сортировки пузырьком?
Отсортировать массив лучше не своими силами, а силами самого PHP:
<?php
function arr_sort_funct($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
uasort($arr, 'arr_sort_funct');
?>
Так короче:
Но дело не в этом.
Сборник содержит, только простые задачи, которые встречаются в рамках собеседования. По этой причине некоторые задачи содержат формулировки вроде: «Отсортировать одномерный массив своими силами» Да, в php есть много встроеных функций для работы с массивами, но тут важен контекст собеседования. Если Вам ставят задачу сформулированную именно так и вы на собеседовании, то вероятнее всего, такая задача преследует единственную цель, а именно оценить вашу алгоритмическую подготовку. Надеюсь, это понятно.
uasort($arr, function($a,$b) {
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
});
Но дело не в этом.
Сборник содержит, только простые задачи, которые встречаются в рамках собеседования. По этой причине некоторые задачи содержат формулировки вроде: «Отсортировать одномерный массив своими силами» Да, в php есть много встроеных функций для работы с массивами, но тут важен контекст собеседования. Если Вам ставят задачу сформулированную именно так и вы на собеседовании, то вероятнее всего, такая задача преследует единственную цель, а именно оценить вашу алгоритмическую подготовку. Надеюсь, это понятно.
Да, если лень ставить XDebug и phpdbg чтобы посмотреть пару переменных.
phpdbg идёт из коробки. Однако здравствуйте: http://phpdbg.com/
а в версиях 5.3 и 5.4?
1) Они deprecated (http://php.net/eol.php)
2) Использовать дебаггер\вывод логов в консоль на продакшене? (локально можно любую версию влепить)
2) Использовать дебаггер\вывод логов в консоль на продакшене? (локально можно любую версию влепить)
1) То, что они deprecated еще не значит, что их никто не использует.
2) Это не совсем применимо к реальности. Видите ли, версии php могут отличаться друг от друга и не обладать обратной совместимостью. Возьмем версии 5.3 и 5.4 http://php.net/manual/en/migration54.incompatible.php
Могу также привести пример из собственной практики:
Полтора года назад, меня пригласили поддерживать устоявшийся проект. Он был написан на версии 5.3, а у меня на тот момент, локально, стояла версия 5.5 Так вот, под 5.5 проект не запустился по причине обратной не совместимости версий php. Тут важно понимать, что «семеро одного не ждут» и то, что у вас проект не ставится под вашу версию php — это только ваша проблема и ничья больше. Я откатил версию до 5.3 и включился в работу.
2) Это не совсем применимо к реальности. Видите ли, версии php могут отличаться друг от друга и не обладать обратной совместимостью. Возьмем версии 5.3 и 5.4 http://php.net/manual/en/migration54.incompatible.php
Могу также привести пример из собственной практики:
Полтора года назад, меня пригласили поддерживать устоявшийся проект. Он был написан на версии 5.3, а у меня на тот момент, локально, стояла версия 5.5 Так вот, под 5.5 проект не запустился по причине обратной не совместимости версий php. Тут важно понимать, что «семеро одного не ждут» и то, что у вас проект не ставится под вашу версию php — это только ваша проблема и ничья больше. Я откатил версию до 5.3 и включился в работу.
Это не «только ваша проблема».
Это как минимум проблема:
* невозможности использовать новые удобные библиотеки (или обновить существующие)
* невозможности обновить php-интерпретатор или расширение, если там обнаружено какое-то некорректное поведение
А это увеличение времени разработки, баги и прочие «радости».
Я согласен с Вами, что семеро одного не ждут, и нет никакого смысла в авральном порядке править проект для работы на новых версиях.
Но опять же. Семеро одного не ждут сработает и в обратную сторону — не будет библиотек или никто не будет править в них ошибки для старых версий.
Это как минимум проблема:
* невозможности использовать новые удобные библиотеки (или обновить существующие)
* невозможности обновить php-интерпретатор или расширение, если там обнаружено какое-то некорректное поведение
А это увеличение времени разработки, баги и прочие «радости».
Я согласен с Вами, что семеро одного не ждут, и нет никакого смысла в авральном порядке править проект для работы на новых версиях.
Но опять же. Семеро одного не ждут сработает и в обратную сторону — не будет библиотек или никто не будет править в них ошибки для старых версий.
Полностью разделяю Вашу точку зрения и готов подписаться под каждым Вашим словом. Но что делать, если технический директор не желает обновлять версии, по каким то своим причнам или прочим иным.
Об этом можно долго рассуждать, но мир таков каков есть и то, что мы от него ждем, может идти вразрез с тем, что в итоге от него получаем.
Выше человек задал вопрос и я просто привел реальный пример в качестве иллюстрации — вот и все.
Об этом можно долго рассуждать, но мир таков каков есть и то, что мы от него ждем, может идти вразрез с тем, что в итоге от него получаем.
Выше человек задал вопрос и я просто привел реальный пример в качестве иллюстрации — вот и все.
Но я еще раз повторюсь, Вас никто не принуждает. Если вам удобно работать с XDebug, ну и отлично — каждый работает так как ему удобнее.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сборник практических задач PHP для подготовки к собеседованию