Открытое собеседование 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
Очень интересно, подчерпнул для себя много нового. Спасибо!
Спасибо огромное!
38:05 всё проще, это же laravel. Крон и проверка кэша, если пустой, наполнить его.
Спасибо огромное за видео. Ждём больше собесов по пыхе и хотелось бы на Джуна)
@senior_ruslan
4 ай бұрын
поищу джуна )
@solvex8304
4 ай бұрын
@@senior_ruslan Интересно, какие вопросы джуну...
Самые конченые собеседования, где в прямом эфире просят кодить. Человек находится не в обычной обстановке, нервничает, а тут ему говорят - давай пиши и я буду смотреть на тебя. От таких компаний нужно убегать. имхо
@alekseyalekseev1700
Ай бұрын
Любой бигтех среди этапов собеседований имеет лайвкодинг
@forest_alf
Ай бұрын
@@alekseyalekseev1700 бигтех, с зарплатой 5-10тыщ$, им позволительно. На видео явно не бигтех))
@snikitin32
Ай бұрын
@@alekseyalekseev1700 ни один нормальный человек не может раскрыться, когда за ним смотрят, дышат над ним.
@alekseyalekseev1700
Ай бұрын
@@snikitin32 штош
@PanicWassano
Ай бұрын
@@snikitin32в чем проблема закодить простую задачу? Тестовое задание это слишком долго
Вы когда-то использовали HAVING? Просто интересно, как часто его применяют. У меня таких кейсов небыло
@senior_ruslan
3 ай бұрын
ну наверное 3-4 раза за 10 лет )
@user-rw4nl8qf2g
3 ай бұрын
1 раз юзал за все время)
@forest_alf
Ай бұрын
Зависит от уровня говнокодства. Даже составные запросы - нужны агрегатные функции, те же айдишники вытащить для запроса. Вытащить какие-то строки группируя по статусам - having нужен. Просто на пхп проекты достаточно простые, особенно всякие ларавельные с их орм-кой, но я рекомендовал бы все равно пользоваться сложными запросами и почаще сырые запросы использовать)
@user-vc3xn7gh3d
22 күн бұрын
@@forest_alf А почему бы ты рекомендовал почаще делать сырые запросы?
Собеседующий тоже ленивый, если кандидат не ответил - нужно отвечать на вопрос. На вопрос с тяжелым запросом, можно было бы создать materialized view например и обновлять по крону или как там в пыхе делается
Здрайствуйте Сеньор Руслан! у меня вопрос относительно "тяжелого SQL запроса", по вам видно было что вы ожидали ответ "создать промежуточную таблицу с результатми запроса который висит на демонах (CRON) и выполняется каждые x минут", но мне интересно как решить проблему когда SQL запрос от пользователя собирается по сотню фильтрам, ведь в таком случае мы не знаем какой sql запрос повесить на демон, точнее знаем но комбинаций слишком много, как решить проблему в этом случае? Мне решение в принципе приходит на голову но конечно хочется услышать от вас истинное (не велосипедное) решение этой проблемы Огромное спасибо за интервью и за то что выкладываете это, помогает готовиться к собеседованиям
@senior_ruslan
3 ай бұрын
здравствуйте. похожу задачу мы решали через elasticsearch, есть sphinx еще аналогичное решение.
@wickedtorpedo75
3 ай бұрын
@@senior_ruslan ну хотелось бы больше информации, ведь вы назвали инструмент а как использовать инструмент в нашем случае не сказали
@Kondratyevv
2 ай бұрын
нужно больше контекста, вероятно надо продуктово это обойти и не дать позволять делать юзерам такие запросы
@yashkevich8164
2 ай бұрын
Ну для начала проверить корректно ли вообще составлен запрос, может его можно выполнить по другому. Потом пройтись EXPLAIN и посмотреть, возможно навесить индексы или изменить их, если не корректны. Далее это что то из денормализованные данные в другой таблице(продумать механизм попадания в другую таблицу), другого типа БД как вам ответил Руслан(продумать тот же вопрос). Есть еще варианты из категории Шардирования, но это сложновато.
@dolotube
24 күн бұрын
@@senior_ruslan Не подходит решение с использованием более быстрых инструментов вроде сфинкса или эластика - в условиях задачи оптимизировать и ускорять уже нечего, нельзя.
Таймкодов бы … )
@senior_ruslan
4 ай бұрын
добавил
Тяжелый SQL-запрос: у меня есть одна идея, если у меня такая ситуация, я решу проблему таким образом, во-первых, мне нужно проверить, есть ли у этого табличного запроса индекс, если нет, мне нужно его создать, и во-вторых , мне нужно создать view table представления, чтобы ответить на этот запрос
@senior_ruslan
3 ай бұрын
индекс лишь часть оптимизации тяжелых запросов, я знаю минимум 5 способов как можно решать тяжелые способы, и надо смотреть в зависимости от задачи, погружаться и проводить тесты.
Зачем говорить "пометь себе"? Не ответил - ответь сам. Для кого интервью? Иначе непонятно, правильно ли респондент отвечал на предыдущие вопросы, а ведь его ответы будут запоминать другие.
@Loutistic
Ай бұрын
Ты путаешь интервью и бесплатные онлайн-курсы. Если собеседуемый чего-то не знает - никто не обязан ему тут же устраивать ликбез.
@dolotube
24 күн бұрын
@@Loutistic ты путаешь собеседование и интервью - при устройстве на работу кандидат имеет полное право узнать уровень и вменяемость компании. Это не экзамен на получение прав, не сдача зачета, не допрос с пристрастием. Более того, если собеседующий включает режим экзаменатора и отказывается отвечать на вопросы, то компания идет нафиг - с таким тимлидом или ведущим спецом работать не стоит. Кстати, здесь виден еще один маркер плохого собеседующего - он ставит оценки, поощряет похвалой. Не надо так, ты не ментор, и собеседуемый не твой ученик, он не за твоими оценками пришел.
@Loutistic
24 күн бұрын
@@dolotube советую купить словарик, чтобы не морозить глупости.
@dolotube
24 күн бұрын
@@Loutistic Советую тебе прогуляться, чтобы пропало желание ляпать глупости.
@Loutistic
24 күн бұрын
@@dolotube можешь нахуй вернуться и не возращаться оттуда
В итоге взяли бы его и если да, то на какую зп? )
@senior_ruslan
4 ай бұрын
Я бы взял, начали бы со 130к
@MAREVICH
3 ай бұрын
@@senior_ruslan Мидл 130к.......
@IgorAlentyev
3 ай бұрын
@@senior_ruslan это кринж
@casualrich-lifeiseasy4921
2 ай бұрын
@@senior_ruslan палата..
@user-sp8eb8wf2q
2 ай бұрын
слишком мало?@@MAREVICH
Бесит что вопросы идут не по блокам, а рандомно. Это очень сбивает настрой на определенную тему
Знания хорошие как по вашему почему он не нашел еще работу. Непонятно совсем
@senior_ruslan
3 ай бұрын
собеседование это отдельный навык, который просто нужно прокачивать, то есть проходить-проходить-проходить. второй момент это психологический, он просто может бояться подавать резюме в разные компании, может где то считает себя недостойным, где то считает, что мало знаний и не пройдет, и в итоге голова и тормозит же нас.
Явно интервьюируемый знал вопросы заранее, хотя и спотыкался об простые вещи
ответ про микросервисы просто смех, монолит так же скейлиться в горизонт как и микросервисы и раскатывается на кластере почти так же
@iteasy4005
4 ай бұрын
Совершенно верно, мне надо было сказать, что при монолите единая база данных быстро становится узким место с ростом нагрузки. Безусловно, stateless приложения можно масштабировать без проблем.
Неужели это вопросы для мидла?
Смысл мидла с опытом 1 год спрашивать про паттерны и архитектуру? 😂
@dolotube
24 күн бұрын
Про что бы Вы спрашивали миддла?
Я бы где +- на 100к его взял. Годик бы погонял его по проектам и от этого уже отталкивался о дальнейшей ЗП
@snikitin32
2 ай бұрын
Да можно сразу в рабство за 40 тысяч. Зачем 100 платить.