[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Задания с собеседования
Страницы: 1, 2, 3, 4, 5
Эли4ка
Ron,так знание этого и нужно было показать. То есть не просто показать код, а пояснить почему так.
Спасибо за такой развернутый ответ.
Цитата
Короче тесть простой как три копейки, как мог упростил. Кому интересно, в аттаче. Как думаете, пойдет для джуна ?

Да в принципе хорошая задачка. Мне нравятся такие. Не знаю как кому другому.
Цитата
Когда спускаешься складываешь элементы в стек. Потом "поднимаешься" по этому стеку.

Спасибо.
Ron
Цитата (twin @ 14.09.2018 - 01:03)
Как думаете, пойдет для джуна ?

Что предполагается узреть от джуна, в качестве результата по поводу громкого понятия ООП? И каким боком минимальная версия MySQL к этой задаче, с пометкой "важно!"?

По поводу изменения структуры БД, неужели находятся кадры, которые так поступают? biggrin.gif

Цитата (Эли4ка @ 14.09.2018 - 08:15)
То есть не просто показать код, а пояснить почему так.

На позицию джуна ту мою телегу прогнать? Ох, хороший тролинг получится! biggrin.gif Одобряю. wink.gif

twin
Цитата (Ron @ 14.09.2018 - 08:30)
Что предполагается узреть от джуна, в качестве результата по поводу громкого понятия ООП?

Разумеется никакого ООП там не будет. Этим я хочу придать важности процессу. Ведь любой джун, написавший класс и создавший объект считает что он крутой ООПэшник. На самом деле я сейчас плотно занимаюсь DDD и могу авторитетно сказать, что настоящим ООП владеют вообще единицы даже мидлов.

Но в тесте мне нужен класс, просто чтобы увидеть стиль и навыки.

Цитата (Ron @ 14.09.2018 - 08:30)
И каким боком минимальная версия MySQL к этой задаче, с пометкой "важно!"?
Важно, потому что мы её юзаем. А в ней есть глобальные особенности. Вот эту задачу можно решить одним запросом. Очень простым на старых версиях. Но на >=5.7 придется подумать, чтобы собрать в один.

Ну а по количеству запросов можно судить о знании MySQL

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
S.Chushkin
Цитата (twin @ 14.09.2018 - 01:03)
Как думаете, пойдет для джуна ?

Нет. Это мидл и выше.
Для юниоров SQL должен быть простой (а я бы вообще юниору SQL не доверил), - однотабличный, максимум двухтабличный с join, без всякого выпендрёжа с группировками, подзапросами и сложными условиями выборки.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Цитата (twin @ 14.09.2018 - 14:12)
Вот эту задачу можно решить одним запросом. Очень простым на старых версиях. Но на >=5.7 придется подумать, чтобы собрать в один.

Дуришь?
Приведи пример подобного.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
twin
Цитата (S.Chushkin @ 14.09.2018 - 12:42)
Нет. Это мидл и выше.

Да ладно... Такие простенькие задачи для мидла? А как работать тогда...

Цитата (S.Chushkin @ 14.09.2018 - 12:44)
Приведи пример подобного
Пример чего?



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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
S.Chushkin
Цитата (twin @ 14.09.2018 - 17:32)
Цитата (S.Chushkin @ 14.09.2018 - 12:44)
Приведи пример подобного
Пример чего?

Чего ты написал. Что делается на старой версии одним запросом легко и просто, а на новых с трудом, где "думать" надо.

п.с. Я впечатлюсь и поучусь. Да и другим коллегам полезно будет.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Цитата (twin @ 14.09.2018 - 17:32)
А как работать тогда...

Как обычно, с Трудом. smile.gif

Твою задачу для юниора можно изменить примерно так:
1) Написать код для получения списка всех работ первых N авторов в массив PHP. (SQL-таблицы прилагаются)
2) Преобразовать полученный массив в иерархическую структуру "автор-произведение".
3) Вывести полученную иерархию на страницу сайта. Для формирования дизайна/стиля страницы использовать CSS.

Это покажет наличие базовых знаний (т.е. знаний уровня юниора) SQL, PHP, HTML, CSS. Время на реализацию в районе 3-4 часов. По хорошему реализация должна быть относительно простой и прозрачной.
Ну а если кандидат выполнил тест с выпендрёжем или через одно место, то это или перемудривший себя мидл или юниор учился у twin.


_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
twin
Цитата (S.Chushkin @ 14.09.2018 - 13:38)
Чего ты написал. Что делается на старой версии одним запросом легко и просто, а на новых с трудом, где "думать" надо.


Ну вот один из соискателей решил так:
SELECT `authors`.`name`, COUNT(`poems`.`id_author`) AS `poem_cnt`
FROM `authors`, poems
WHERE `authors`.`id` = `poems`.`id_author`
GROUP BY `poems`.`id_author`, `name`
ORDER BY `poems`.`rating` DESC

Можно еще через JOIN подобным образом. Но дело в том, что в 5.7 (а может и раньше, у нас такая, я не проверял другие) режим sql_mode по умолчанию установлен в only_full_group_by, а значит этот запрос не отработает. Вся фишка в том, что такой запрос не отвечает стандарту SQL, а мускул это раньше прощал. GROUP BY по стандарту не может работать корректно, если в клаузе SELECT есть поля из разных таблиц. Или нужно их явно прописать в GROP BY.

Так вот в 5.7 решили вернуться к стандарту по умолчанию. Я потому и акцентировался на том. В ней это решается так:
SELECT b.`name`, COUNT(a.`id`) AS `num`, b.`status`, MAX(`rating`) AS `rtg`  
FROM `poems` a
LEFT JOIN `authors` b
ON b.`id` = a.`id_author`
WHERE b.`status` = 1
GROUP BY `id_author`
HAVING `num` > 1
ORDER BY `rtg` DESC

Это тоже простой запрос, но по тому, знает ли соискатель про HAVING можно судить о его уровне.

Цитата (S.Chushkin @ 14.09.2018 - 13:54)
Твою задачу для юниора можно изменить примерно так:
1) Написать код для получения списка всех работ первых N авторов в массив PHP. (SQL-таблицы прилагаются)
2) Преобразовать полученный массив в иерархическую структуру "автор-произведение".
3) Вывести полученную иерархию на страницу сайта. Для формирования дизайна/стиля страницы использовать CSS.


Мне не нужен CSS, у нас есть хорошие фронтендеры. Мне нужны джуны в помощь к мидлам. Но судя по уровню наших мидлов, твой тест вообще ни о чем. Так любой школьник может сделать.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.