Всем привет!
Меня недавно на собеседовании на позицию junior php спросили, как устроены массивы у php под капотом, т.е вопрос на знание хеш-таблиц в языке C.
Отсюда несколько вопросов:
1. Нужно ли php разработчику знать c? Если да - на каком уровне?
2. Нужно ли junior php разработчику знать c? Если да - на каком уровне?
В случае, если считаете, что нужно - бросьте пару ссылок на хорошую литературу по теме.
Спасибо.
не нужно это джуниору точно,
меня в одной компании тоже мурыжили низкоуровневым, и накидали советов типа "прежде ,чем писать код -- прочитай 100500 книг"
просто есть люди, убежденные, что джуниором может стать пцсть и не знающий языка, но с должным образованием, возможно есть такие проекты, но есть мног овопросов на этот случай...
А вам на собеседование рассказали, как устроены хеш-таблицы в Си?
Знание Си полезно, чтобы понять, как работает та или иная php функция. Достаточно базового уровня.
Не нужно. Учи лучше как устроены шаблоны проектирования и фрейворки. Старайся понять почему и для чего так сделано. А, тех, кто требует при устройстве на джуна php-шника, знание C - шли куда подальше.
А потом при переходе с языка PHP на какой-нибудь компилируемый — чувствуй себя импотентом :)
Я например начал изучать Go и чувствую себя таким :) слегка конечно, но тем не менее
"как устроены массивы у php под капотом, т.е вопрос на знание хеш-таблиц в языке C."
Знать как устроены массивы в php под капотом и знание хеш-таблиц в языке С - совершенно разные вещи.
Первое - это поверхностно понимать структуру, как они хранятся, из чего состоят структуры данных для хранения массивов.
Второе - вообще не относящееся к php задача.
Сейчас вообще чисто С знать особо никому не надо. Даже контроллеры уже можно писать много на чем, помимо Сей.
Все остальное, более приближенное к повседневным задачам пилится на "форках" - С#, C++ итп.
Вообще PHP обладает схожим синтаксисом и я бы сказал PHP это сильно упрощенный С.
Вот кстати статья по поводу внутренней реализации массивов в php https://nikic.github.io/2012/03/28/Understanding-P...
Си нужно знать если писать расширения для php ну и понять как реализованы стандартные php функции в случае надобности.
Считаю что пхп джуну знать Си не требуется, видимо это просто загоны данного работодателя.
Нужно ли php разработчику си, чтобы решать повседневные задачи на работе - нет
Можно ли устроится на работу(особенно джуниором) без знания си - да, причем очень редко бывают вопросы на собеседования по си
Будут ли лишними знания си php программисту - нет.
Причины:
- Проще перекатываться на другие языки
- Более глубоко будешь понимать программы, и это может помочь для решения специфичных задач и в целом расширит кругозор.