Обновить
2
0
Садовников Антон Петрович @Siddthartha

Developer

Отправить сообщение

Мне, кстати, картина нравится. Вот с художественной точки зрения. Но ведь отбирал её среди сотен других генерированных вариантов — наверняка, человек.) И его "авторский вклад" тут получается существенным. Как у худрука в виа 80-х.)

Проблема с тестовым заданием обычно всего одна — оно должно быть оплачиваемым по полноценному рейту. Тогда соискатель с удовольствием его выполняет (особенно с собственной оценкой времени))).
Это одновременно и сдерживает работодателя от раздутых заданий, и позволяет соискателю спокойно показать свой уровень без нервотрепки и стресса ("я на них три дня потратил, а они мне отказали").

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

амперсанд был довольно очевиден)

  1. опытный веб-программист "чистым" не бывает вообще) смещение к фуллстэк это нормально. просто пробить некие очередные планки профессионализма в своей области сложнее, чем добавить фронтовые навыки и, тем самым, меньшими усилиями повысить свой рейт)
  2. джава царит в банковской сфере и дальше, кажется, не уползет уже никогда, шарп, вообще, где-то в еще более корпоративном секторе. а сотни crm как писали так и пишут на php.
  3. чтобы веб-рынок сжался, я совершенно не ощущаю. смена проекта (крупных) при необходимости занимает до недели, редко двух.

и это при некой "стагнации", а уж теперь, с "новым дыханием"...) так что не переживайте, коллега.

… у меня информация...

называется невалидная выборка.


… Битрикс конторы с дешевой и некачественной...

цеховой снобизм фронтендщика мечтающего о тотальной победе js?)) очень, знаете ли, много кого вы таким образом "не считаете".) в абсолютном отношении нода даже приблизительно не близка к вытеснению php из реального сектора. и квалифицированные разработчики нормально зарабатывают.

не было бы нагляднее расписать произведение матриц? и где же вентиль для вечной решки?)

мм не, я говорю в целом о сути проблемы трейтов, а Fesor привел один из примеров. я скорее о результате get_called_class(), молчаливому перекрытию любых методов в какой бы класс мы его не закинули, конфликтах и т.п. вытекающих последствиях из смысла.


а смысл раскрыт и в первом моем посте и детальнее во-втором. трейт — это хак объектной модели и использовать его только как-то ad-hoc

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

аналогия прямая: использование goto прямо, грубо (как еще сказать) нарушает процедурную модель так же, как использование trait — объектную модель. использовать их стоит ровно с той же предусмотрительностью что и в случае goto.

трейты это goto для ООП. )

в этом-то и проблема тестовых заданий. тестовое задание всегда заявляется как «простое», не требующее много времени на решение.

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

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

где вы этого начитались?

эмм?)) в веб-разработке с 1998-го. вот где я этого «начитался».

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

и меня лично так неоднократно брали на работу, и получалось нормальное сотрудничество. и таких интервьюеров я считаю наиболее адекватными и профессиональными.

А вот тех, кто (после двух собеседований) присылает такое, надо воспитывать именно так, как предлагает автор (реальный пример):

Тестовое задание

Отчет по среднесуточной температуре в каждый день месяца за период в любом одном городе

1) Спроектировать БД для хранения данных, полученных из открытого API погодного сервиса
2) Реализовать сбор данных из сервиса, обработку и сохранение за 2016 и 2017 годы на каждый день/час каждого дня
3) Должен быть контроллер, который обрабатывает такой запрос
* пользователь выбирает период С и ПО какие месяца он хочет увидеть статистику по среднесуточной температуре
* если период не выбран — по умолчанию выводится статистика за текущий и два предыдущих месяца
4) Статистика среднесуточной температуры выводится в следующем виде: см таблицу
5) Реализовывать на базе фреймворка Yii (1 или 2) версии
6) В качестве базы данных — MySQL
7) Код должен быть покрыт тестами
8) Красивое оформление страницы, стили, верстка, JS, ajax-запросы — не требуется — достаточно выводить простую html страницу с тэгами table tr th td
9) Код проекта должен размещаться в публичном репозитории на одном из сервисов — github или bitbicket
10) В файле README должна располагаться инструкция для разворачивания, настройке и сборке проекта через composer

Требования по оформлению отчета

1) Первая колонка таблицы — номер недели месяца
2) Первая строка таблицы — название месяца
3) в каждой ячейке должны быть: день месяца (1 мая) и в скобках две температуры — средняя за ночь и средняя за день
4) желтым цветом выделить дни, в которых амплитуда (разница между ночной и дневной температруой) выше средней за текущую неделю
5) красным цветов выделить дни, в которых амплитуда — максимальная за месяц




Май
неделя пн вт ср чт пт сб вс
14 1 мая (+10 / +25) 2 мая (+10 / +25) 3 мая (+10 / +25) 4 мая (+10 / +25) 5 мая (+10 / +25) 6 мая (+10 / +25) 7 мая (+10 / +25)
15 2 мая (+10 / +25) 3 мая (+10 / +25) 4 мая (+8 / +25) 5 мая (+10 / +25) 6 мая (+10 / +25) 7 мая (+10 / +25) 8 мая (+10 / +25)
16 3 мая (+10 / +25) 4 мая (+2 / +32) 5 мая (+10 / +25) 6 мая (+10 / +25) 7 мая (+10 / +25) 8 мая (+10 / +25) 9 мая (+10 / +25)
17 4 мая (+8 / +25) 5 мая (+10 / +25) 6 мая (+10 / +25) 7 мая (+10 / +25) 8 мая (+10 / +25) 9 мая (+10 / +25) 10 мая (+10 / +25)
18



Где брать данные — любой из сервисов, предоставляющий в открытом доступе историчсеские данные о температуры в городе на опредленный час/день
http://openweathermap.org/history

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

нормальный метод описан. по большей части, именно эйчерам плевать на чужое время, а не соискателям. и, соответственно, как "мчудаки" выступают в 90% случаев именно они.
напомнило мне как, давным-давно, для одного проекта, я прикрутил генерацию синонимов при помощи google translate api — брал короткий «топ» вариантов перевода на английский, а затем топ вариантов перевода обратно от этих вариантов))) такой хак позволил существенно обойти по мощности доступные словари синонимов.) при довольно осмысленных результатах…
мне вот очень интересен go, но не могу перебороть отвращение, когда смотрю ближе. )
скажем, упомянутую статью про 50 оттенков открыл с большим интересом, но первый же пункт вызвал полное непонимание, " Открывающую фигурную скобку нельзя размещать в отдельной строке" — издеваетесь? а второй пункт сразу же как бы отвечает — «да издеваемся и гордимся этим»)

это не критика, я понимаю, что кому-то идет нормально и у него множество плюсов. но лично я, после си-подобной свободы синтаксиса, содрогаюсь от мысли писать с такими нелогичными трюками.
вы совершенно не виноваты, что и стандарт и реализации вам достались (пока что) проблемные сильно. ругают и стебутся не над профи, пытающимися достичь свободы самовыражения на сss, а над всем тем, что мешает этому.
в плане вернуть деньги? ничем, конечно. но была некоторая вероятность, что это кто-то из моих знакомых. и, учитывая, что никто из них не обладал достаточной квалификацией — я мог бы понять кто, банально по географии. вероятность небольшая, конечно, но я все равно был шокирован отказом.) просто в голове не укладывалось.
Мне вот просто интересно. Когда у меня с киви кошелька украли 24 тысячи рублей и я попросил хотя бы ip-адреса с которых заходили в мой аккаунт (банальный журнал доступа, который другие сервисы предоставляют по умолчанию!) и мне было отказано, под предлогом того, что эта информация предоставляется только по запросу из милиции. Это было проявлением высокой культуры информационной безопасности? Правда интересно.
А то хакатоны, лекции, конференции… Это все прекрасно. А на практике?
Вы абсолютно точно описали все, что происходит, например, сейчас в средне-большом проекте на yii2, где я участвую.
Где нас 5-6 программистов и изначально «было написано кем-то» 30% функционала, в виде «монолита с антипаттернами» а-ля «раздутый yii2 basic app», а теперь уже все 80% (и мы не везде избавились от этих анти, а еще и дополнили))), но вовсю идет попытка, не теряя темпов разработки, отрефить все проблемы и выделить какое-то (потенциально rest) api, капсуляция виджетов, решение проблем применения фреймворка для действительно чего-то большого и т.п… Ни о каких микросервисах речи не идет пока, но весь ваш текст, кроме этого конечного пункта рефа — идеально подходит)))

Информация

В рейтинге
Не участвует
Откуда
Луганск, Луганская обл., Украина
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Lead
От 10 800 $
PHP
OOP
Docker
Rust
Linux
Asynchronous programming
MQTT
Geoinformation systems
Machine learning
Computer Science