Re: За сколько времени бы вы это выполнили?
От: Lexey Россия  
Дата: 28.05.20 20:33
Оценка: +6
Здравствуйте, Ватакуси, Вы писали:

В>Мне сказали, что "обычно" выполняют за 40 минут.


"И вы говорите".
В то, что алгоритм какой-нибудь сильный олимпиадник за 40 минут напишет, я могу поверить. Но, там кроме алгоритма еще вагон всякой мишуры будет.
Так что, реально тут работы на несколько дней, скорее всего.

В>Ну, и риторический вопрос — стали бы вы это делать?


Нет.
"Будь достоин победы" (c) 8th Wizard's rule.
Re: За сколько времени бы вы это выполнили?
От: Lazytech Ниоткуда  
Дата: 28.05.20 16:33
Оценка: 5 (1) :))
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge

В>Мне сказали, что "обычно" выполняют за 40 минут.

Я видал вещи и покруче:

https://www.youtube.com/watch?v=yB-lTwRENU8

Re[6]: За сколько времени бы вы это выполнили?
От: Codealot Земля  
Дата: 01.06.20 04:42
Оценка: 5 (1) +1
Здравствуйте, Lazytech, Вы писали:

L>Он вроде не проходил сквозь стены. Человек просто наловчился делать ступеньки выстрелами из клеевой пушки и взбираться по этим ступенькам на расположенный выше этаж.


Как минимум один раз на 00:06, дальше я внимательно не смотрел.
Ад пуст, все бесы здесь.
Re[3]: За сколько времени бы вы это выполнили?
От: maxkar  
Дата: 29.05.20 08:14
Оценка: 4 (1) +1
Здравствуйте, $$, Вы писали:

$>Да ладно. Там нужно прикрутить прикрутить оптимизационный solver (какой-нить minimax). За 24 часа можно уложиться- это часа 2-3 на почитать википедию, реализовать алгоритм и отладить еще 2-3 часа.

What? Решать дискретную задачу о рюкзаке минимаксом или оптимизационным solver'ом? Удачи

Если не понятно, откуда там рюкзак: Даем на вход все станции wind. Они fixed cost, fixed energy (после умножения на 10 — вся энергия в выводе — целые числа). Нужно их напаковать на суммарную энергию за минимум денег.
Re: За сколько времени бы вы это выполнили?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 29.05.20 00:40
Оценка: +2
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.


8 часов минимум, но скорей всего 16. Нет смысла писать половинчатое решение, ну а если делать продуктовое качество, то меньше 8 точно не будет. А при их постановке требований сами собой напрашиваются не только модульные, но и интеграционные тесты, так что там работы реально много.

В>Ну, и риторический вопрос — стали бы вы это делать?


Если бы их устроил мой расчет времени + у них действительно хорошая ЗП, то да, делал бы.
Отредактировано 29.05.2020 0:42 kaa.python . Предыдущая версия .
Re[2]: За сколько времени бы вы это выполнили?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 29.05.20 08:32
Оценка: +2
Здравствуйте, landerhigh, Вы писали:

L>Нет смысла даже пытаться решать бессмысленную задачу.


Но ведь любое тестовое задание бессмысленное, так как если оно осмысленное, то возникают обвинения в попытке реализовать бизнес-логику на халяву.
Re: За сколько времени бы вы это выполнили?
От: Sealcon190 Соломоновы острова  
Дата: 29.05.20 19:13
Оценка: +2
Здравствуйте, Ватакуси, Вы писали:

В>Мне сказали, что "обычно" выполняют за 40 минут.


За 40 минут там будет обычный олимпиадный говнокод, совершенно непонятно что с его помощью можно показать работодателю. Что умеешь наговнокодить, если очень припрёт? Сомнительный плюс.

В>Ну, и риторический вопрос — стали бы вы это делать?


Нет. Я уже не в том возрасте, чтобы делать тестовые задания.
Re[2]: За сколько времени бы вы это выполнили?
От: Codealot Земля  
Дата: 01.06.20 03:41
Оценка: +2
Здравствуйте, Lazytech, Вы писали:

L>Я видал вещи и покруче:


А если добавить время, которое он потратил на поиск багов в игре и надр%%ку?
Ад пуст, все бесы здесь.
Re[3]: За сколько времени бы вы это выполнили?
От: StatujaLeha на правах ИМХО
Дата: 04.06.20 14:30
Оценка: +2
Здравствуйте, gandjustas, Вы писали:

G>Симплекс метод за 40 минут? 99% программистов его не напишут вообще.

G>Я может невнимательно читал, но на вид это «непрерывная задача о рюкзаке», которая решается простым жадным алгоритмом.

Там вырабатывают либо 0, либо значение в диапазоне [Pmin, Pmax].
Т.е. это не "непрерывная задача о рюкзаке" и симплекс-метод напрямую также не применим.

Представьте, что у газовых станций у всех Pmin = Pmax, тогда это классическая задача о рюкзаке.
А для такой задачи жадный алгоритм не подходит.
Re: За сколько времени бы вы это выполнили?
От: Stanislav V. Zudin Россия  
Дата: 28.05.20 16:30
Оценка: 1 (1)
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.


https://youtu.be/diJ9teikFag?t=64


В>Ну, и риторический вопрос — стали бы вы это делать?


Ради спортивного интереса взялся бы
Но не мой профиль.
_____________________
С уважением,
Stanislav V. Zudin
Re[2]: За сколько времени бы вы это выполнили?
От: Хэлкар  
Дата: 28.05.20 23:54
Оценка: :)
Здравствуйте, vsb, Вы писали:

vsb>Сильно в задание не вчитывался, если нет хитрой алгоритмики, то на Java HTTP API и WebSocket сделал бы на Spring дня за 3 (24 часа). За 40 минут я бы даже проект не настроил.


В .Net есть стандартный шаблон для вебсервиса сидящего в докере, так что тут надо только реализовать алогритм. Наверно за пару часов можно.
Re[3]: За сколько времени бы вы это выполнили?
От: landerhigh Пират  
Дата: 29.05.20 12:24
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

L>>Нет смысла даже пытаться решать бессмысленную задачу.

KP>Но ведь любое тестовое задание бессмысленное, так как если оно осмысленное, то возникают обвинения в попытке реализовать бизнес-логику на халяву.

С опытом все сложнее становится.
Слишком часто приходит задача с формулировкой "нам нужно семь перпендикулярных линий", а через две недели дознаний выясняется, что хотели покрасить входную дверь в синий цвет.
www.blinnov.com
Re[3]: За сколько времени бы вы это выполнили?
От: Lexey Россия  
Дата: 29.05.20 22:24
Оценка: +1
Здравствуйте, $$, Вы писали:

$>Да ладно. Там нужно прикрутить прикрутить оптимизационный solver (какой-нить minimax).

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

$>За 24 часа можно уложиться- это часа 2-3 на почитать википедию, реализовать алгоритм и отладить еще 2-3 часа.

24 часа — это и есть 3-4 дня, внезапно. Ибо рвать жопу круглыми сутками никто в здравом уме не будет.

L>>Нет.

$>Если нужна работа и задачка намекает на интересные задачи в команде, то почему бы нет? Если жесткий лимит 40 минут, то я бы не стал начинать- без вариантов.

Мне жалко тратить несколько дней своей жизни на тестовое задание. И необходимости в поиске новой работы у меня сейчас нет (в последние несколько лет она меня находит).
"Будь достоин победы" (c) 8th Wizard's rule.
Отредактировано 29.05.2020 22:38 Lexey . Предыдущая версия . Еще …
Отредактировано 29.05.2020 22:34 Lexey . Предыдущая версия .
Re[5]: За сколько времени бы вы это выполнили?
От: maxkar  
Дата: 30.05.20 13:59
Оценка: +1
Здравствуйте, Lexey, Вы писали:

L>Ветряки упаковывать не проблема, конечно. Вопрос, как остальные типы станций упаковывать, ибо они совсем не fixed cost/fixed energy.


Я в соседней теме приводил разные варианты
Автор: maxkar
Дата: 29.05.20
.

Собственно, отсутствие граничных условий (количество станций и т.п.) — одна из проблем задачи. Всегда можно сказать, что "решение не верное, потому что мы предлагали другой контекст". Например, что ветряных станций не больше 10 (тогда перебор по подмножествам + жадный алгоритм будет самым оптимальным решением). Или наоборот, что ветряков будет очень много.

Реальность может давать еще больше разнообразия. Например, может оказаться, что производительность ветряков заметно меньше производительности других станций. Это может открыть дорогу к быстрым приближенным решениям. Т.е. считать секунду вместо 10 минут но давать ответ на 1-3% дороже в худшем случае.
Re: За сколько времени бы вы это выполнили?
От: Ip Man Китай  
Дата: 31.05.20 15:26
Оценка: :)
х***ня какая-то. Я пожалуй продолжу тренироваться сортировать гномов.
Re[5]: За сколько времени бы вы это выполнили?
От: Lexey Россия  
Дата: 01.06.20 00:05
Оценка: +1
Здравствуйте, $$, Вы писали:

$>Нет, 24 часа- это жёсткий лимит.

Какой жесткий лимит? Сумасошол? Это тестовое задание, а не олимпиада. Тут никаких жестких лимитов быть не может, если работодателю нужны инженеры, а не студенты-олимпиадники.

$>Решается задачка уровня hard за 6 часов для чела, который не "вот прямо в этой предметной области сейчас".

Уровня hard чего? Хакерранка? Сколько задач такого уровня ты там решил?

$>Рынок работника, отсюда и уровень программистов в среднем как в Индии — там точно так же находит.

Не вижу никакой связи между "средней по больнице" и "своей температурой".
"Будь достоин победы" (c) 8th Wizard's rule.
Re[3]: За сколько времени бы вы это выполнили?
От: white_znake  
Дата: 02.06.20 13:17
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Вы переоцениваете необходимость погружения в предметную область для разработки программ.

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

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

Я бы не был столь категоричным...
Re[4]: За сколько времени бы вы это выполнили?
От: landerhigh Пират  
Дата: 02.06.20 14:28
Оценка: +1
Здравствуйте, white_znake, Вы писали:

L>>Цели никого нанять не преследуют.

_>Я может отстал от жизни и чего-то не понимаю, но если есть задание, то скорее всего его выдают желающим занять вакансию. Если есть вакансия, то должны быть и условия оплаты.
_>Стартап — не исключение...

Внутренний стартап. Новое подразделение имеющейся компании.
Цели нанять не прослеживется. Какую цель преследует директор этого направления —
www.blinnov.com
Re[3]: За сколько времени бы вы это выполнили?
От: Ночной Смотрящий Россия  
Дата: 04.06.20 21:44
Оценка: :)
Здравствуйте, $$, Вы писали:

$>Да ладно. Там нужно прикрутить прикрутить оптимизационный solver (какой-нить minimax).

No hire — не умеет понимать условие задачи.

Implementations should not rely on an external solver and thus contain an algorithm written from scratch

... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Оффтоп
От: Ватакуси Россия  
Дата: 05.06.20 13:43
Оценка: -1
В>>https://github.com/gem-spaas/powerplant-coding-challenge

S>Вы ислючительно удаленку рассматриваете или вариант с релокацией в будущем?

Оба варианта.
Все будет Украина!
Re[4]: За сколько времени бы вы это выполнили?
От: Lexey Россия  
Дата: 05.06.20 22:15
Оценка: +1
Здравствуйте, SkyDance, Вы писали:

G>>Симплекс метод за 40 минут? 99% программистов его не напишут вообще.


SD>На третьем (или четвертом?) курсе универа все писали.


Какого универа? И как это коррелирует с 99% программистов?
"Будь достоин победы" (c) 8th Wizard's rule.
Re[5]: За сколько времени бы вы это выполнили?
От: SkyDance Земля  
Дата: 06.06.20 01:09
Оценка: :)
L>Какого универа? И как это коррелирует с 99% программистов?

МГТУ им. Баумана.

А 99% — это не программисты, а, ну, лучше не будем о грустном.
Re[6]: За сколько времени бы вы это выполнили?
От: Lexey Россия  
Дата: 06.06.20 20:58
Оценка: +1
Здравствуйте, SkyDance, Вы писали:

SD>МГТУ им. Баумана.


А у нас его не писали, хотя и изучали весьма подробно.

SD>А 99% — это не программисты, а, ну, лучше не будем о грустном.


Тут я с тобой не соглашусь. Симплекс-метод — это больше математика, причем довольно специфическая, чем программирование. По способности его реализовать сложно делать выводы об уровне программиста.
"Будь достоин победы" (c) 8th Wizard's rule.
Re: За сколько времени бы вы это выполнили?
От: Gradiens  
Дата: 08.06.20 09:04
Оценка: +1
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.


Чего??
Такой наглой лжи на собеседовании я давно не слышал.
за 40 минут можно сделать, если с 3-го раза (имея идеальную память) ну или с 5-го раза для обычного человека. Т.е. окружение настроено, код помнишь почти наизусть, все движения отточены до автоматизма.

Я вот давеча делал тестовое задание типа библиотека для вычисления площади треугольника по трем сторонам.
с первого взгляда это фигня на 5 минут? минута на гугление формулы + 4 на код?
Ага, щас!
Пока поймешь какие проверки делать, пока выполнишь все проверки, пока тесты напишешь.
Проверка — это не только то что стороны должны быть положительны. И даже не то, что сумма двух сторон меньше третьей. Они не должны быть слишком большими, чтобы переполнения не вышло. Они не должны быть слишком маленькими, чтобы в результате ноль не вышел. Они не должны отличаться на много порядков, а то точность сильно потеряется. Они не должны быть очень-очень близкими к полупериметру, а то точность потеряется (или вообще ноль получим)
И тесты-тесты-тесыт (не забываем, речь идет о библиотеке которую могут использовать как угодно)
Результат — 2 часа. На площадь, мать его, треугольника.

В>Ну, и риторический вопрос — стали бы вы это делать?

Не-не-не.
Принципиально не делаю заданий расчитанных на несколько дней.
За сколько времени бы вы это выполнили?
От: Ватакуси Россия  
Дата: 28.05.20 16:01
Оценка:
https://github.com/gem-spaas/powerplant-coding-challenge

Мне сказали, что "обычно" выполняют за 40 минут.
Ну, и риторический вопрос — стали бы вы это делать?
Все будет Украина!
Re: За сколько времени бы вы это выполнили?
От: Ромашка Украина  
Дата: 28.05.20 17:59
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge

В>Мне сказали, что "обычно" выполняют за 40 минут.

Я бы не ориентировался на это время, скорее всего "обычные" решения их не интересуют.

В>Ну, и риторический вопрос — стали бы вы это делать?


Да, это прикольно.


Всё, что нас не убивает, ещё горько об этом пожалеет.
Re: За сколько времени бы вы это выполнили?
От: vsb Казахстан  
Дата: 28.05.20 22:11
Оценка:
Сильно в задание не вчитывался, если нет хитрой алгоритмики, то на Java HTTP API и WebSocket сделал бы на Spring дня за 3 (24 часа). За 40 минут я бы даже проект не настроил.
Re[2]: За сколько времени бы вы это выполнили?
От: $$ Австралия жж
Дата: 29.05.20 02:11
Оценка:
Здравствуйте, Lexey, Вы писали:

L>Здравствуйте, Ватакуси, Вы писали:


В>>Мне сказали, что "обычно" выполняют за 40 минут.


L>"И вы говорите".

L>В то, что алгоритм какой-нибудь сильный олимпиадник за 40 минут напишет, я могу поверить. Но, там кроме алгоритма еще вагон всякой мишуры будет.

Да ладно. Там нужно прикрутить прикрутить оптимизационный solver (какой-нить minimax). За 24 часа можно уложиться- это часа 2-3 на почитать википедию, реализовать алгоритм и отладить еще 2-3 часа.

L>Так что, реально тут работы на несколько дней, скорее всего.


В>>Ну, и риторический вопрос — стали бы вы это делать?


L>Нет.

Если нужна работа и задачка намекает на интересные задачи в команде, то почему бы нет? Если жесткий лимит 40 минут, то я бы не стал начинать- без вариантов.
Re: За сколько времени бы вы это выполнили?
От: maxkar  
Дата: 29.05.20 08:06
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>Мне сказали, что "обычно" выполняют за 40 минут.


4-8 часов. Очень сильно зависит от алгоритма. Некоторые сложности есть в том, что нет граничных условий (т.е. сколько станций, максимально допустимое количество требуемой энергии и т.п.). В условиях их samples скорее всего будет динамическое программирование по Cost(количество требуемой энергии, используемые станции (только первая, первая-вторая, первая-вторая-третья и т.д.)). Из этого большая часть — на продумать/протестировать алгоритм. Если спешить и делать быстро — 40 минут максимум на алгоритм + 30 на обвязку (приложение), минимум автоматических тестов. Но это — олимпиадный режим. Неторопясь — от 2-х часов минимум.

Что входит в обвязку (и что я реально использую):


Это с нуля совершенно не торопясь делается максимум за час (включая поиск забытых ключиков в интернете). В этот же час можно написать короткую инструкцию о том, как запустить sbt assembly и выполнить java -jar. Если есть готовый проект-донор — 5-10 минут на все. Остальное — алгоритм и его тестирование.

В>Ну, и риторический вопрос — стали бы вы это делать?


В текущей ситуации — нет. Мне нужно книжку дописать сначала. И если я в состоянии думать, я лучше два часа потрачу на текст (за это время можно действительно много сделать), чем на решение задачки. Вот если бы у меня не было основной работы и был бы мой стек в вакансии — сделал бы.
Re: За сколько времени бы вы это выполнили?
От: landerhigh Пират  
Дата: 29.05.20 08:25
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>Ну, и риторический вопрос — стали бы вы это делать?


Нет смысла даже пытаться решать бессмысленную задачу.

Во-первых, генерация ветроэлектростанций не зависит от наличия или отсутствия хотелок.
Во-вторых, регулирование мощности теплоэлектростанций возможно очень в небольших пределах. Даже работающая без нагрузки будет жрать топливо.
www.blinnov.com
Re[4]: За сколько времени бы вы это выполнили?
От: $$ Австралия жж
Дата: 29.05.20 09:21
Оценка:
Здравствуйте, maxkar, Вы писали:

M>What? Решать дискретную задачу о рюкзаке минимаксом или оптимизационным solver'ом? Удачи


M>Если не понятно, откуда там рюкзак: Даем на вход все станции wind. Они fixed cost, fixed energy (после умножения на 10 — вся энергия в выводе — целые числа). Нужно их напаковать на суммарную энергию за минимум денег.


Автор задачки прямо написал, что они сами используют

For calculating the unit-commitment, we prefer you not to rely on an existing (linear-programming) solver but instead write an algorithm yourself.


Т.е. нужно сначала понять, какой solver подходит под эту задачу (и это может быть пример из учебника operation research), и накидать его на коленке из подручных материалов. Уровень "что нельзя использовать" тут непонятен- например, numpy можно использовать? Перемножение матриц вручную весьма медленное, но с numpy это влёт. Веб сервис с POST, надеюсь, тоже можно использовать готовые библиотеки.
Отредактировано 29.05.2020 9:23 Артём . Предыдущая версия .
Re: За сколько времени бы вы это выполнили?
От: sr_dev  
Дата: 29.05.20 11:52
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.

В>Ну, и риторический вопрос — стали бы вы это делать?

Ну, сколько денег то корячится там?
Re: За сколько времени бы вы это выполнили?
От: scf  
Дата: 29.05.20 12:05
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.

В>Ну, и риторический вопрос — стали бы вы это делать?

Если вылизывать под prod качество, то день.
Почему нет, неплохая разминочная задачка, ну и повод вспомнить линейное программирование.
Re: За сколько времени бы вы это выполнили?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 29.05.20 13:02
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.

В>Ну, и риторический вопрос — стали бы вы это делать?

Это же олимпиадная задача. Там нужно реализовать что-то типа решения задачи о рюкзаке.
Не олимпиадник конечно за 40 минут не выдаст такое решение. Олимпиадник вполне может.

Обвязка про докер и вебсокеты, а также хитрого вида входные данные, нужны чтобы чистых олимпиадников как раз отсеить.
Так что за 40 минут смогут единицы сделать.
Re[4]: За сколько времени бы вы это выполнили?
От: Lexey Россия  
Дата: 29.05.20 22:31
Оценка:
Здравствуйте, maxkar, Вы писали:

M>What? Решать дискретную задачу о рюкзаке минимаксом или оптимизационным solver'ом? Удачи


Тут не совсем рюкзак, хотя что-то близкое. Ну и, приличные солверы умеют рюкзаки паковать.

M>Если не понятно, откуда там рюкзак: Даем на вход все станции wind. Они fixed cost, fixed energy (после умножения на 10 — вся энергия в выводе — целые числа). Нужно их напаковать на суммарную энергию за минимум денег.


Ветряки упаковывать не проблема, конечно. Вопрос, как остальные типы станций упаковывать, ибо они совсем не fixed cost/fixed energy.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[2]: За сколько времени бы вы это выполнили?
От: Ватакуси Россия  
Дата: 30.05.20 06:57
Оценка:
В>>https://github.com/gem-spaas/powerplant-coding-challenge

В>>Мне сказали, что "обычно" выполняют за 40 минут.

В>>Ну, и риторический вопрос — стали бы вы это делать?

_>Ну, сколько денег то корячится там?

За задание? Бесплатно.
Все будет Украина!
Re[4]: За сколько времени бы вы это выполнили?
От: $$ Австралия жж
Дата: 30.05.20 07:45
Оценка:
Здравствуйте, Lexey, Вы писали:

L>Там явно написано в условии, что готовые солверы не использовать. Если ты под солвером понимаешь какой-нибудь градиентный спуск из общедоступных библиотек, то такое, по идее, можно использовать. Вот только, как ты будешь целочисленность отдельных переменных обеспечивать?

Я не верю в "за 40 минут придумать новый solver" и задача жизненная, значит всё уже придумали учёные до нас. Значит нужно найти алгоритм и закодить, а не просто вызвать этот алгоритм из готового пакета.

L>$>За 24 часа можно уложиться- это часа 2-3 на почитать википедию, реализовать алгоритм и отладить еще 2-3 часа.


L>24 часа — это и есть 3-4 дня, внезапно. Ибо рвать жопу круглыми сутками никто в здравом уме не будет.

Нет, 24 часа- это жёсткий лимит. Решается задачка уровня hard за 6 часов для чела, который не "вот прямо в этой предметной области сейчас".

L>необходимости в поиске новой работы у меня сейчас нет (в последние несколько лет она меня находит).

Рынок работника, отсюда и уровень программистов в среднем как в Индии — там точно так же находит.
Re[5]: За сколько времени бы вы это выполнили?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 30.05.20 09:27
Оценка:
Здравствуйте, $$, Вы писали:

L>>необходимости в поиске новой работы у меня сейчас нет (в последние несколько лет она меня находит).

$>Рынок работника, отсюда и уровень программистов в среднем как в Индии — там точно так же находит.

Задания как раз практикуют в странах где избыток разработчиков из Индии, так как они любят немного преувеличить в своих резюме
Re[6]: За сколько времени бы вы это выполнили?
От: $$ Австралия жж
Дата: 30.05.20 09:57
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Задания как раз практикуют в странах где избыток разработчиков из Индии, так как они любят немного преувеличить в своих резюме


Как будто русские разработчики ничего не преувеличивают. Апликанты на позицию синьёра, с 3 годами опыта, начавшегося ещё во время института (тут это нонсенс)- из России.
Отредактировано 30.05.2020 9:57 Артём . Предыдущая версия .
Re[7]: За сколько времени бы вы это выполнили?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 30.05.20 12:11
Оценка:
Здравствуйте, $$, Вы писали:

$>Как будто русские разработчики ничего не преувеличивают. Апликанты на позицию синьёра, с 3 годами опыта, начавшегося ещё во время института (тут это нонсенс)- из России.

Там это нонсенс исключительно из-за тараканов в голове у австралов. У меня коллега в ЛК где-то за 3,5 года от стажёра до тимлида дошёл, на 100% заслуженно.
Re: За сколько времени бы вы это выполнили?
От: 3V Россия  
Дата: 30.05.20 12:21
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.


Я так понял что там симплекс-метод + рест-апи.

В>Ну, и риторический вопрос — стали бы вы это делать?

С ходу — наверно нет.
Но я на трудоустройство в их компанию и не рассчитываю.
Вероятно кто-то кто в предметную область погружен и имеер скилы, доки, наработки...
Re[5]: За сколько времени бы вы это выполнили?
От: maxkar  
Дата: 30.05.20 13:46
Оценка:
Здравствуйте, $$, Вы писали:


$>Автор задачки прямо написал, что они сами используют

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

Мне вот казалось, что я очень прозрачно намекнул на простой факт. Видимо — нет. Задача о рюкзаке — частный случай задачи о ветряках. Задача о рюкзаке — NP-полная. Типичный линейный solver (тот же симплекс-метод) — полиномиальный. Вывод — взять "линейный солвер" и прикрутить его напрямую к (NP-полной) задаче — пусть безнадежный. Нужно будет усложнять. Но многие разработчики не видят классов сложности, поэтому авторы пытались облегчить задачу и закрыть заведомо бесперспективные направления.

$>Уровень "что нельзя использовать" тут непонятен- например, numpy можно использовать?

Можно. Она ну никак не поможет побороть сложность (complexity class) исходной задачи. Более того, чтобы выбрать правильную библиотеку нужно хорошо понимать ее ограничения и особенности (например, псевдополиномиальные решения или осбоенности экспоненциального перебора). Обычно люди, имеющие такое знание, неплохо знают и основы (базовые блоки). Написать реализацию частного случая (простого!) для них будет легко.
Re[5]: За сколько времени бы вы это выполнили?
От: maxkar  
Дата: 30.05.20 14:03
Оценка:
Здравствуйте, $$, Вы писали:

$>Я не верю в "за 40 минут придумать новый solver" и задача жизненная, значит всё уже придумали учёные до нас. Значит нужно найти алгоритм и закодить, а не просто вызвать этот алгоритм из готового пакета.

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

Я бы не был очень оптимистичен по поводу поиска с учетом их "do not use". Вполне может оказаться, что "массовые" решалки плохо ведут себя на их задаче. А чтобы найти хороший solver, нужно быть в теме (читать статьи, иметь специализированное образование и т.п.). Кто вообще сказал, что рядовой программист должен быть способен решить эту задачу? Может, они раньше нанимали и поняли, что ничего хорошего не получается. И теперь ищут людей, для которых придумать новый специализированный solver за 40 минут — совсем не проблема.
Re[2]: За сколько времени бы вы это выполнили?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 31.05.20 00:45
Оценка:
Здравствуйте, 3V,

3V>Я так понял что там симплекс-метод + рест-апи.

Симплекс метод за 40 минут? 99% программистов его не напишут вообще.
Я может невнимательно читал, но на вид это «непрерывная задача о рюкзаке», которая решается простым жадным алгоритмом.

3V>Вероятно кто-то кто в предметную область погружен и имеер скилы, доки, наработки...

Вы переоцениваете необходимость погружения в предметную область для разработки программ.
Re[2]: За сколько времени бы вы это выполнили?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 01.06.20 00:47
Оценка:
Здравствуйте, Ip Man, Вы писали:

IM>х***ня какая-то. Я пожалуй продолжу тренироваться сортировать гномов.


В Гонконге тоже принято гномами развлекаться?
Re[3]: За сколько времени бы вы это выполнили?
От: Lazytech Ниоткуда  
Дата: 01.06.20 04:27
Оценка:
Здравствуйте, Codealot, Вы писали:

C>А если добавить время, которое он потратил на поиск багов в игре и надр%%ку?


Согласен. Вообще, насколько я понял, дело не в багах. Просто человек отлично разбирается в картах и в целом умеет ориентироваться на местности.
Re[4]: За сколько времени бы вы это выполнили?
От: Codealot Земля  
Дата: 01.06.20 04:29
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>Согласен. Вообще, насколько я понял, дело не в багах. Просто человек отлично разбирается в картах и в целом умеет ориентироваться на местности.


В первую очередь, именно баги. В частности, чтобы проходить сквозь стены.
Ад пуст, все бесы здесь.
Re[5]: За сколько времени бы вы это выполнили?
От: Lazytech Ниоткуда  
Дата: 01.06.20 04:30
Оценка:
Здравствуйте, Codealot, Вы писали:

C>В первую очередь, именно баги. В частности, чтобы проходить сквозь стены.


Он вроде не проходил сквозь стены. Человек просто наловчился делать ступеньки выстрелами из клеевой пушки и взбираться по этим ступенькам на расположенный выше этаж.
Отредактировано 01.06.2020 4:33 Lazytech . Предыдущая версия .
Re: За сколько времени бы вы это выполнили?
От: white_znake  
Дата: 02.06.20 12:42
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


В>Мне сказали, что "обычно" выполняют за 40 минут.

В>Ну, и риторический вопрос — стали бы вы это делать?

Ну и пусть продолжают искать тех, кто выполнит за 40 минут.
Это похоже на развод, когда искал первую работу, тоже было:
— "Ты типа молодец, тестовое задание выполнил, но "обычно" его делают за 1 час, а ты выполнил за 2,3,4,...N часов".
— "Так... Ты хочешь ЗП — N... Но понимаешь, ты же сделал задание за большее время, поэтому ты недостоен ЗП — N, мы можем предложить только M, где M < N".

Если не секрет, то какую ЗП предлагают? По названию компании искать — влом.
Re[2]: За сколько времени бы вы это выполнили?
От: landerhigh Пират  
Дата: 02.06.20 13:29
Оценка:
Здравствуйте, white_znake, Вы писали:

_>Если не секрет, то какую ЗП предлагают? По названию компании искать — влом.


Судя по описанию, на гитхабе, это "внтуренний" стартап.
Цели никого нанять не преследуют.
www.blinnov.com
Re[3]: За сколько времени бы вы это выполнили?
От: white_znake  
Дата: 02.06.20 14:14
Оценка:
Здравствуйте, landerhigh, Вы писали:


L>Судя по описанию, на гитхабе, это "внтуренний" стартап.

L>Цели никого нанять не преследуют.

Я может отстал от жизни и чего-то не понимаю, но если есть задание, то скорее всего его выдают желающим занять вакансию. Если есть вакансия, то должны быть и условия оплаты.
Стартап — не исключение...
Re: Оффтоп
От: Sharov Россия  
Дата: 02.06.20 14:55
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>https://github.com/gem-spaas/powerplant-coding-challenge


Вы ислючительно удаленку рассматриваете или вариант с релокацией в будущем?
Кодом людям нужно помогать!
Re: За сколько времени бы вы это выполнили?
От: RushDevion Россия  
Дата: 03.06.20 10:27
Оценка:
В>Мне сказали, что "обычно" выполняют за 40 минут.

Имхо, они там не зря про merit order упомянули.
Если не заморачиваться с алгоритмикой, то можно посчитать этот самый merit как стоимость производства 1 MW энергии.
Отсортировать заводы по возрастанию merit.
И пройти по отсортированному списку, накидывая в результат заводы с учетом требуемой P, Pmin/Pmax и wind(%).
Мне кажется это максимум, что можно выдать на собеседовании за 20-30 минут без предварительной подготовки.

В>Ну, и риторический вопрос — стали бы вы это делать?

Если бы хотел конкретно в эту компанию, то сделал бы.
Re: За сколько времени бы вы это выполнили?
От: namespace  
Дата: 03.06.20 11:49
Оценка:
В>Мне сказали, что "обычно" выполняют за 40 минут.
В>Ну, и риторический вопрос — стали бы вы это делать?
Прочесть и понять постановку задачи, написать письмо с дополнительными вопросами по задаче, ждать ответа — 1 день.
Прочесть ответ, обдумать задачу еще раз, продумать алгоритм, набросать прототип, написать новое письмо с вопросами по задаче, ждать ответа — 1 день.
Прочесть ответ, начать писать код (готовность 50%), написать письмо с уточняющими вопросами, ждать ответ — 1 день.
Прочесть ответ, переделать половину написанного кода, дописать отстаток(готовность 95%) — 1 день.
Дописать код, написать тесты, убрать мусор, добавить комментарии, все еще раз проверить, отправить результат — 4 часа.
Прочесть ответ аналитика, обдумать, внести исправления, отправить результат 4 часа.

Итого: 5 дней или рабочая неделя.
Или делаю хорошо и основательно(за деньги, естественно) или не делаю совсем.
Re[5]: За сколько времени бы вы это выполнили?
От: Sheridan Россия  
Дата: 03.06.20 19:12
Оценка:
Здравствуйте, Codealot, Вы писали:

C>В первую очередь, именно баги. В частности, чтобы проходить сквозь стены.

Это категория any%. Емнип там разрешено всё кроме консольных команд.
Если хочешь норм, то ищи 100% спидраны.
Matrix has you...
Re[2]: За сколько времени бы вы это выполнили?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 03.06.20 20:46
Оценка:
Здравствуйте, RushDevion, Вы писали:

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

Это и есть правильное решение.
Re[4]: За сколько времени бы вы это выполнили?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.06.20 16:58
Оценка:
Здравствуйте, StatujaLeha, Вы писали:

SL>Здравствуйте, gandjustas, Вы писали:


G>>Симплекс метод за 40 минут? 99% программистов его не напишут вообще.

G>>Я может невнимательно читал, но на вид это «непрерывная задача о рюкзаке», которая решается простым жадным алгоритмом.

SL>Там вырабатывают либо 0, либо значение в диапазоне [Pmin, Pmax].

SL>Т.е. это не "непрерывная задача о рюкзаке" и симплекс-метод напрямую также не применим.
Это очень похоже на нее.

SL>Представьте, что у газовых станций у всех Pmin = Pmax, тогда это классическая задача о рюкзаке.

SL>А для такой задачи жадный алгоритм не подходит.
Конечно не подходи в исходном варианте, иначе было бы слишком просто.
Но его легко модифцироват.

На каждом шаге проверяем если оставшийся load меньше чем Pmin следующего элемента, то рассматриваем два варианта
а) взять текущий элемент в рюкзак и получить оставшийся load из элементов списка после следующего
б) игнориовать текущий элемент и попробовать забить рюкзак из оставшихся.
Из двух вариантов выбрать где стоимость меньше.
Я думаю такую простую рекурсию за 40 минут можно осилить.
Re[5]: За сколько времени бы вы это выполнили?
От: StatujaLeha на правах ИМХО
Дата: 04.06.20 19:20
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Это очень похоже на нее.


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

G>Но его легко модифцироват.


G>На каждом шаге проверяем если оставшийся load меньше чем Pmin следующего элемента, то рассматриваем два варианта

G>а) взять текущий элемент в рюкзак и получить оставшийся load из элементов списка после следующего
G>б) игнориовать текущий элемент и попробовать забить рюкзак из оставшихся.
G>Из двух вариантов выбрать где стоимость меньше.

Не понял толком алгоритм, потому что не написано, что делать, если оставшийся load больше, чем Pmin следующего элемента.
И еще правило сортировки не указано: сортировка по Pmin может отличаться от сортировки по Pmax.

Допустим, у нас есть:
1. Газовые станции [[5, 10], [35, 40], [35, 40], [35, 40], [55, 60], [75, 80]]
2. Керосиновая станция: [0, 100]

Надо набрать мощность 231.
Чего получим по алгоритму?

G>Я думаю такую простую рекурсию за 40 минут можно осилить.


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

Еще, как я понял, ветряки имеют цену генерации ноль, но генерят строго определенную мощность.
Т.е. у них Pmin = Pmax.
Получается, что сначала надо решить классическую задачу о рюкзаке на множестве ветряков.
Re[6]: За сколько времени бы вы это выполнили?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.06.20 21:10
Оценка:
Здравствуйте, StatujaLeha, Вы писали:

SL>Здравствуйте, gandjustas, Вы писали:


G>>Это очень похоже на нее.


SL>Так задача целочисленного линейного программирования тоже "похожа" на задачу обычного линейного программирования.

SL>Только при ведении требования на целочисленность решений внезапно задача становится NP-complete.
Кстати если внимательно прочитать условия, то там написано что

The power produced by each powerplant has to be a multiple of 0.1 Mw and the sum of the power produced by all the powerplants together should equal the load.

То есть это NP-полная задача, которая сводится к задаче о рюкзаке.

Только написать без подготовки решение задачи о рюкзаке за 40 минут — маловероятно.
Re[3]: За сколько времени бы вы это выполнили?
От: SkyDance Земля  
Дата: 05.06.20 02:00
Оценка:
G>Симплекс метод за 40 минут? 99% программистов его не напишут вообще.

На третьем (или четвертом?) курсе универа все писали.
Re[4]: За сколько времени бы вы это выполнили?
От: $$ Австралия жж
Дата: 05.06.20 02:15
Оценка:
Здравствуйте, SkyDance, Вы писали:

G>>Симплекс метод за 40 минут? 99% программистов его не напишут вообще.


SD>На третьем (или четвертом?) курсе универа все писали.


Линейное программирование это ж экономика. Инженеры (типо меня) так вообще совсем не слышали про это в институте.
Re[3]: За сколько времени бы вы это выполнили?
От: Ip Man Китай  
Дата: 05.06.20 15:25
Оценка:
KP>В Гонконге тоже принято гномами развлекаться?

в топовых компаниях — однозначно
Re[7]: За сколько времени бы вы это выполнили?
От: StatujaLeha на правах ИМХО
Дата: 06.06.20 17:11
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Кстати если внимательно прочитать условия, то там написано что

G>

G>The power produced by each powerplant has to be a multiple of 0.1 Mw and the sum of the power produced by all the powerplants together should equal the load.

G>То есть это NP-полная задача, которая сводится к задаче о рюкзаке.

Да, согласен.
Это условие трансформирует задачу.
1. Есть n кучек, в каждой из них есть предметы определенного веса [Pmin, Pmin + 0.1, ..., Pmax].
2. Надо наполнить рюкзак, взяв из каждой кучки не более одного предмета.

Подумал, погуглил, пока не вижу, как она сводится к классической задаче о рюкзаке...
Видимо, тут еще что-то.
Re[8]: За сколько времени бы вы это выполнили?
От: Lexey Россия  
Дата: 06.06.20 21:21
Оценка:
Здравствуйте, StatujaLeha, Вы писали:

SL>Подумал, погуглил, пока не вижу, как она сводится к классической задаче о рюкзаке...

SL>Видимо, тут еще что-то.

Выглядит так, как будто можно отсортировать по возрастанию цены на 0.1 мощности, каждому "предмету" сопоставить Pmin и Pmax и рассчитывать суммы "взятых" Pmin и Pmax. Допустимыми будут те решения, для которых Pmin <= P <= Pmax. А вот оптимальное, похоже, придется искать полным перебором с отсечением вариантов, которые точно будут хуже, чем текущее лучшее решение.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[6]: За сколько времени бы вы это выполнили?
От: $$ Австралия жж
Дата: 07.06.20 00:13
Оценка:
Здравствуйте, SkyDance, Вы писали:

L>>Какого универа? И как это коррелирует с 99% программистов?


SD>МГТУ им. Баумана.


SD>А 99% — это не программисты, а, ну, лучше не будем о грустном.


Максим, ещё раз- линейное программирование это об экономике. Логистика, составление портфелей акций. Все математики это проходят. Насчёт всех программистов я хз- может проходят, но не понимают.
За тебя я не сомневаюсь, ты вроде и без Бауманки занимал места в олимпиадах.
Re[4]: За сколько времени бы вы это выполнили?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 07.06.20 00:23
Оценка:
Здравствуйте, Ip Man, Вы писали:

KP>>В Гонконге тоже принято гномами развлекаться?


IM>в топовых компаниях — однозначно


Кстати, а у вас сейчас компании не побежали с острова? Я когда-то думал переехать в Гонконг, но судя по новостям это стало не целесообразно. Или нагнетают просто?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.