Открытое собеседование PHP Middle

Поділитися
Вставка
  • Опубліковано 2 лют 2025

КОМЕНТАРІ •

  • @muhammadumarsotvoldiev9555
    @muhammadumarsotvoldiev9555 11 місяців тому +2

    Спасибо огромное!

  • @МаксимИващенко-л5о
    @МаксимИващенко-л5о 9 місяців тому

    Очень интересно, подчерпнул для себя много нового. Спасибо!

  • @СергейК-ь2у
    @СергейК-ь2у 11 місяців тому +6

    38:05 всё проще, это же laravel. Крон и проверка кэша, если пустой, наполнить его.

  • @КириллТарасенко-ь4ъ

    Спасибо огромное за видео. Ждём больше собесов по пыхе и хотелось бы на Джуна)

    • @senior_ruslan
      @senior_ruslan  Рік тому +2

      поищу джуна )

    • @solvex8304
      @solvex8304 Рік тому

      @@senior_ruslan Интересно, какие вопросы джуну...

  • @PanicWassano
    @PanicWassano 9 місяців тому +5

    Собеседующий тоже ленивый, если кандидат не ответил - нужно отвечать на вопрос. На вопрос с тяжелым запросом, можно было бы создать materialized view например и обновлять по крону или как там в пыхе делается

  • @prod.wembley3816
    @prod.wembley3816 3 місяці тому +1

    23:28 как это все? где сама стратегия? как мне сказать "хочу тар архив"? само стратегирование будет в сервис провайдере в момент бинда контейнера? ну это бред же а не стратегия, нет?

    • @prod.wembley3816
      @prod.wembley3816 3 місяці тому

      или нам ручками нужно каждый раз создавать инстанс необходимой стратегии и прокидывать ее в process()?
      тогда это обычный полиморфизм а не стратегия
      может я не понял чего?

    • @prod.wembley3816
      @prod.wembley3816 3 місяці тому +1

      ознакомился на рефакторинг гуру, там тоже самое
      "Другие объекты содержат ссылку на объект-стратегию и делегируют ей работу. Программа может подменить этот объект другим, если требуется иной способ решения задачи."
      не пойму тогда смысл этого паттерна если это базовая реализация полимофризма
      подмена конкретики на основе интерфейса :\

    • @xenrauQ
      @xenrauQ 18 днів тому

      @@prod.wembley3816 Стратегия это не когда ты решаешь какой объект получит метод силами DI контейнера(laravel привет), это когда ты в коде решаешь в зависимости от обстоятельств какой класс использовать и сам создаёшь объект этой стратегии и передаёшь её, при этом все стратегии реализуют общий интерфейс, дабы гарантировать что у переданного класса(ожидается стратегия) будет нужный метод... По сути, это аналог условий if, только реализованный согласно ООП

  • @Mariore-lf3js
    @Mariore-lf3js 4 місяці тому +1

    Когда заходил посмотреть собес на мидла, ожидал услышать вопросы про брокеров побольше, SOLID, разговор про построение архитектуры, обсуждение паттернов более менее часто используемых по типу абстрактной фабрики, адаптеры, эвент диспетчер, слушатели/наблюдатели... А в итоге услышал только про плюсы синглтона и ни одного упоминания проблем с этим паттерном. Совсем базовые вопросы про абстрактный класс и интерфейсы. Хотя бы про RabbitMQ поговорили) Неужто сейчас так легко пойти на мидла?)

  • @МихаилИльинский-ж6о

    Зачем говорить "пометь себе"? Не ответил - ответь сам. Для кого интервью? Иначе непонятно, правильно ли респондент отвечал на предыдущие вопросы, а ведь его ответы будут запоминать другие.

    • @Loutistic
      @Loutistic 9 місяців тому

      Ты путаешь интервью и бесплатные онлайн-курсы. Если собеседуемый чего-то не знает - никто не обязан ему тут же устраивать ликбез.

    • @dolotube
      @dolotube 8 місяців тому +5

      @@Loutistic ты путаешь собеседование и интервью - при устройстве на работу кандидат имеет полное право узнать уровень и вменяемость компании. Это не экзамен на получение прав, не сдача зачета, не допрос с пристрастием. Более того, если собеседующий включает режим экзаменатора и отказывается отвечать на вопросы, то компания идет нафиг - с таким тимлидом или ведущим спецом работать не стоит.
      Кстати, здесь виден еще один маркер плохого собеседующего - он ставит оценки, поощряет похвалой. Не надо так, ты не ментор, и собеседуемый не твой ученик, он не за твоими оценками пришел.

    • @Loutistic
      @Loutistic 8 місяців тому +1

      @@dolotube советую купить словарик, чтобы не морозить глупости.

    • @dolotube
      @dolotube 8 місяців тому

      ​@@Loutistic Советую тебе прогуляться, чтобы пропало желание ляпать глупости.

    • @Loutistic
      @Loutistic 8 місяців тому

      @@dolotube можешь нахуй вернуться и не возращаться оттуда

  • @snikitin32
    @snikitin32 10 місяців тому +14

    Самые конченые собеседования, где в прямом эфире просят кодить.
    Человек находится не в обычной обстановке, нервничает, а тут ему говорят - давай пиши и я буду смотреть на тебя.
    От таких компаний нужно убегать.
    имхо

    • @alekseyalekseev1700
      @alekseyalekseev1700 10 місяців тому

      Любой бигтех среди этапов собеседований имеет лайвкодинг

    • @forest_alf
      @forest_alf 9 місяців тому

      ​@@alekseyalekseev1700 бигтех, с зарплатой 5-10тыщ$, им позволительно. На видео явно не бигтех))

    • @snikitin32
      @snikitin32 9 місяців тому

      @@alekseyalekseev1700 ни один нормальный человек не может раскрыться, когда за ним смотрят, дышат над ним.

    • @alekseyalekseev1700
      @alekseyalekseev1700 9 місяців тому

      @@snikitin32 штош

    • @PanicWassano
      @PanicWassano 9 місяців тому +1

      @@snikitin32в чем проблема закодить простую задачу? Тестовое задание это слишком долго

  • @Сергей-о7ж3и
    @Сергей-о7ж3и Рік тому +5

    Таймкодов бы … )

  • @sergeblack1777
    @sergeblack1777 9 місяців тому +1

    Бесит что вопросы идут не по блокам, а рандомно. Это очень сбивает настрой на определенную тему

  • @baxt1yor
    @baxt1yor Рік тому +1

    Тяжелый SQL-запрос: у меня есть одна идея, если у меня такая ситуация, я решу проблему таким образом, во-первых, мне нужно проверить, есть ли у этого табличного запроса индекс, если нет, мне нужно его создать, и во-вторых , мне нужно создать view table представления, чтобы ответить на этот запрос

    • @senior_ruslan
      @senior_ruslan  Рік тому

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

    • @АнатолийЯ-ы7т
      @АнатолийЯ-ы7т 7 місяців тому +1

      а причем тут индексы? в тз сказано что оптимизировать уже нельзя, подразумевается, что индексы есть, джоины все правильные, лишних данных не выгребается и тд и тп, или я не понял суть написанного в ТЗ?))

  • @vitaliishveider6384
    @vitaliishveider6384 Рік тому

    Вы когда-то использовали HAVING?
    Просто интересно, как часто его применяют.
    У меня таких кейсов небыло

    • @senior_ruslan
      @senior_ruslan  Рік тому +3

      ну наверное 3-4 раза за 10 лет )

    • @Геннадий-с5э
      @Геннадий-с5э 11 місяців тому

      1 раз юзал за все время)

    • @forest_alf
      @forest_alf 9 місяців тому +1

      Зависит от уровня говнокодства.
      Даже составные запросы - нужны агрегатные функции, те же айдишники вытащить для запроса. Вытащить какие-то строки группируя по статусам - having нужен.
      Просто на пхп проекты достаточно простые, особенно всякие ларавельные с их орм-кой, но я рекомендовал бы все равно пользоваться сложными запросами и почаще сырые запросы использовать)

    • @КонстантинБратищев-з3п
      @КонстантинБратищев-з3п 8 місяців тому

      @@forest_alf А почему бы ты рекомендовал почаще делать сырые запросы?

    • @chipdouglas9495
      @chipdouglas9495 14 днів тому

      регулярно пользуюсь. очень часто нужно для получения сводных данных и статистики

  • @vsques
    @vsques 11 місяців тому +2

    Явно интервьюируемый знал вопросы заранее, хотя и спотыкался об простые вещи

  • @kaily_kain
    @kaily_kain 5 місяців тому

    primary key может быть составным, но это плохая практика. Как минимум на движке InnoDB

  • @artem6037
    @artem6037 Рік тому +1

    В итоге взяли бы его и если да, то на какую зп? )

  • @wickedtorpedo75
    @wickedtorpedo75 11 місяців тому

    Здрайствуйте Сеньор Руслан! у меня вопрос относительно "тяжелого SQL запроса", по вам видно было что вы ожидали ответ "создать промежуточную таблицу с результатми запроса который висит на демонах (CRON) и выполняется каждые x минут", но мне интересно как решить проблему когда SQL запрос от пользователя собирается по сотню фильтрам, ведь в таком случае мы не знаем какой sql запрос повесить на демон, точнее знаем но комбинаций слишком много, как решить проблему в этом случае? Мне решение в принципе приходит на голову но конечно хочется услышать от вас истинное (не велосипедное) решение этой проблемы
    Огромное спасибо за интервью и за то что выкладываете это, помогает готовиться к собеседованиям

    • @senior_ruslan
      @senior_ruslan  11 місяців тому +3

      здравствуйте. похожу задачу мы решали через elasticsearch, есть sphinx еще аналогичное решение.

    • @wickedtorpedo75
      @wickedtorpedo75 11 місяців тому +1

      @@senior_ruslan ну хотелось бы больше информации, ведь вы назвали инструмент а как использовать инструмент в нашем случае не сказали

    • @Kondratyevv
      @Kondratyevv 11 місяців тому

      нужно больше контекста, вероятно надо продуктово это обойти и не дать позволять делать юзерам такие запросы

    • @yashkevich8164
      @yashkevich8164 11 місяців тому +1

      Ну для начала проверить корректно ли вообще составлен запрос, может его можно выполнить по другому. Потом пройтись EXPLAIN и посмотреть, возможно навесить индексы или изменить их, если не корректны. Далее это что то из денормализованные данные в другой таблице(продумать механизм попадания в другую таблицу), другого типа БД как вам ответил Руслан(продумать тот же вопрос). Есть еще варианты из категории Шардирования, но это сложновато.

    • @dolotube
      @dolotube 8 місяців тому

      @@senior_ruslan Не подходит решение с использованием более быстрых инструментов вроде сфинкса или эластика - в условиях задачи оптимизировать и ускорять уже нечего, нельзя.

  • @resolution07
    @resolution07 4 місяці тому

    Интересное интервью. Но мои коллеги сказали бы что с Middle с натяжечкой

  • @KonstantinS-z1v
    @KonstantinS-z1v Рік тому

    Знания хорошие как по вашему почему он не нашел еще работу. Непонятно совсем

    • @senior_ruslan
      @senior_ruslan  Рік тому +2

      собеседование это отдельный навык, который просто нужно прокачивать, то есть проходить-проходить-проходить. второй момент это психологический, он просто может бояться подавать резюме в разные компании, может где то считает себя недостойным, где то считает, что мало знаний и не пройдет, и в итоге голова и тормозит же нас.

    • @PhpProgrammer-lx4dz
      @PhpProgrammer-lx4dz 3 місяці тому

      У меня другое мнение сложилось.
      Парень толковый, поэтому он на эти все вопросы(которые были рутинные) просто научился отвечать.
      Может он 50 собесов уже прошел, да и достаточно подсказок что там могут спросить.
      Поэтому ты как студент, готовишься отвечать на вопросы.
      Но реального опыта, умения программировать, там, скорее всего, еще очень мало.

  • @zxcqwe-c9u
    @zxcqwe-c9u Рік тому +3

    ответ про микросервисы просто смех, монолит так же скейлиться в горизонт как и микросервисы и раскатывается на кластере почти так же

  • @PanicWassano
    @PanicWassano 9 місяців тому +1

    Смысл мидла с опытом 1 год спрашивать про паттерны и архитектуру? 😂

    • @dolotube
      @dolotube 8 місяців тому

      Про что бы Вы спрашивали миддла?

  • @александр-з1м9з
    @александр-з1м9з 11 місяців тому +2

    Неужели это вопросы для мидла?

  • @yashkevich8164
    @yashkevich8164 11 місяців тому

    Я бы где +- на 100к его взял. Годик бы погонял его по проектам и от этого уже отталкивался о дальнейшей ЗП

    • @snikitin32
      @snikitin32 10 місяців тому +7

      Да можно сразу в рабство за 40 тысяч. Зачем 100 платить.