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

Ойын-сауық

Мой телеграм про IT и программирование: t.me/mir_ait
00:00 Начало
00:50 Даниил - PHP разработчик.
01:06 Опыт работы год.
01:30 Работа в университете.
02:55 Создание мобильного приложения.
03:38 Переезд в Таиланд.
04:33 Опыт собеседований.
05:38 Работа с самописным фреймворком.
06:21 Масштаб данных монолит.
07:16 Монолит vs микросервисы.
10:55 Примитивные типы данных.
11:36 Передача по значению.
12:07 Структура данных.
12:52 Роль интерфейсов.
14:10 Инкремент и декремент.
14:56 Опасность рекурсии.
15:45 Модификаторы видимости.
16:11 Абстрактные классы.
17:23 Трейты и инкапсуляция.
18:46 Пример паттерна стратегия.
24:03 Синглтон и его преимущества.
24:32 Синглтон и настройки приложения.
26:11 Отличие PRIMARY KEY и UNIQUE.
28:18 Внешние ключи и их роль.
30:17 Средняя зарплата и аргументы.
31:19 Тяжелый SQL запрос.
32:29 Избегание кэш-сброса.
37:33 Как сообщить клиенту.
38:58 Реализация интерфейса.
42:42 Вертикальное и горизонтальное масштабирование базы данных.
43:55 Партицирование данных.
44:51 Репликация базы данных.
46:45 Поисковые движки.
47:27 RabbitMQ в больших нагрузках.
49:20 Практиковаться и учиться.
50:00 Тестовые задания и обратная связь.
52:05 Ментор и практические задачи.

Пікірлер: 54

  • @user-wb1ln3um3g
    @user-wb1ln3um3g25 күн бұрын

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

  • @muhammadumarsotvoldiev9555
    @muhammadumarsotvoldiev95553 ай бұрын

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

  • @user-er5bg6bj9o
    @user-er5bg6bj9o3 ай бұрын

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

  • @user-ls6tj4nz5c
    @user-ls6tj4nz5c4 ай бұрын

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

  • @senior_ruslan

    @senior_ruslan

    4 ай бұрын

    поищу джуна )

  • @solvex8304

    @solvex8304

    4 ай бұрын

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

  • @snikitin32
    @snikitin322 ай бұрын

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

  • @alekseyalekseev1700

    @alekseyalekseev1700

    Ай бұрын

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

  • @forest_alf

    @forest_alf

    Ай бұрын

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

  • @snikitin32

    @snikitin32

    Ай бұрын

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

  • @alekseyalekseev1700

    @alekseyalekseev1700

    Ай бұрын

    @@snikitin32 штош

  • @PanicWassano

    @PanicWassano

    Ай бұрын

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

  • @vitaliishveider6384
    @vitaliishveider63843 ай бұрын

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

  • @senior_ruslan

    @senior_ruslan

    3 ай бұрын

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

  • @user-rw4nl8qf2g

    @user-rw4nl8qf2g

    3 ай бұрын

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

  • @forest_alf

    @forest_alf

    Ай бұрын

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

  • @user-vc3xn7gh3d

    @user-vc3xn7gh3d

    22 күн бұрын

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

  • @PanicWassano
    @PanicWassanoАй бұрын

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

  • @wickedtorpedo75
    @wickedtorpedo753 ай бұрын

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

  • @senior_ruslan

    @senior_ruslan

    3 ай бұрын

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

  • @wickedtorpedo75

    @wickedtorpedo75

    3 ай бұрын

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

  • @Kondratyevv

    @Kondratyevv

    2 ай бұрын

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

  • @yashkevich8164

    @yashkevich8164

    2 ай бұрын

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

  • @dolotube

    @dolotube

    24 күн бұрын

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

  • @user-qy5oc1ql7l
    @user-qy5oc1ql7l4 ай бұрын

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

  • @senior_ruslan

    @senior_ruslan

    4 ай бұрын

    добавил

  • @baxt1yor
    @baxt1yor3 ай бұрын

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

  • @senior_ruslan

    @senior_ruslan

    3 ай бұрын

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

  • @user-zm7uq3um7x
    @user-zm7uq3um7x4 ай бұрын

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

  • @Loutistic

    @Loutistic

    Ай бұрын

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

  • @dolotube

    @dolotube

    24 күн бұрын

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

  • @Loutistic

    @Loutistic

    24 күн бұрын

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

  • @dolotube

    @dolotube

    24 күн бұрын

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

  • @Loutistic

    @Loutistic

    24 күн бұрын

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

  • @artem6037
    @artem60374 ай бұрын

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

  • @senior_ruslan

    @senior_ruslan

    4 ай бұрын

    Я бы взял, начали бы со 130к

  • @MAREVICH

    @MAREVICH

    3 ай бұрын

    @@senior_ruslan Мидл 130к.......

  • @IgorAlentyev

    @IgorAlentyev

    3 ай бұрын

    @@senior_ruslan это кринж

  • @casualrich-lifeiseasy4921

    @casualrich-lifeiseasy4921

    2 ай бұрын

    @@senior_ruslan палата..

  • @user-sp8eb8wf2q

    @user-sp8eb8wf2q

    2 ай бұрын

    слишком мало?@@MAREVICH

  • @sergeblack1777
    @sergeblack1777Ай бұрын

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

  • @user-gc6yd5bd5m
    @user-gc6yd5bd5m3 ай бұрын

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

  • @senior_ruslan

    @senior_ruslan

    3 ай бұрын

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

  • @vsques
    @vsques2 ай бұрын

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

  • @user-gk3wc4ei3w
    @user-gk3wc4ei3w4 ай бұрын

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

  • @iteasy4005

    @iteasy4005

    4 ай бұрын

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

  • @user-sl4wn3sj2t
    @user-sl4wn3sj2t3 ай бұрын

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

  • @PanicWassano
    @PanicWassanoАй бұрын

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

  • @dolotube

    @dolotube

    24 күн бұрын

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

  • @yashkevich8164
    @yashkevich81642 ай бұрын

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

  • @snikitin32

    @snikitin32

    2 ай бұрын

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

Келесі