Krolick
@Krolick
...не только ценный мех!

Собеседование: где взять задачу из реального мира?

Джентельмены! В недалёком будущем мне придётся собеседовать программистов-математиков.

  • Стандартные вопросы в духе "найдите цикл в односвязном массиве" или "реализуйте сортировку 4 Гб int32, имея 10 метров памяти" — представляются совершенно бесполезными.
  • Стандартные вопросы в духе "найдите место, где хитрокод завалится" — представляются недостаточными, потому как не раскрывают главного: умения писать так, чтобы подобных вопросов не возникало.


Есть мнение, будут полезны задачи двух типов:

  1. Спроектировать и реализовать класс с такой-то функциональностью, которым смогли бы пользоваться живые люди.
  2. Отрефакторить кусок патентованного быдлокода до понятного и применимого вида, а по возможности ещё и рассказать, что и почему надо рефакторить.

_
Не присоветуете ли вы, где взять таковых задач?

Если они будут связаны с числовыми расчётами, а не с веб-программированием, то будет особо круто.

P.S. Основной язык разработки — Python+NumPy/SciPy, ещё немножко C++.
P.P.S. Дать что-то конкретно из нашей практики можно, но и это не лучший вариант: человеку придётся разбираться ещё и в радиолокации. Либо задачу придётся сильно адаптировать.
  • Вопрос задан
  • 1915 просмотров
Пригласить эксперта
Ответы на вопрос 8
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Раз у вас сфера коммуникаций, то написать что-нибудь типа передатчик-приёмник, не знаю. multi-producer / multi-consumer, либо подсчитать кол-во уникальных сообщений в этом же источнике, не имея памяти. Ну или возьмите ваш реальный функционал из работающей системы, сильно абстрагируйте его и попросите реализовать какую-нибудь метрику по этой абстракции. И математично, и реально.
Ответ написан
Комментировать
maaGames
@maaGames
Погроммирую программы
Раз собеседуется программист-математик, то и задание должно быть из этой области. Что-нибудь из того, что ему предстоит решать, но что-нибудь простое, что реально быстро реализовать.
Если дать небольшой кусок говнокода, то можно посмотреть, насколько быстро он сможет расковырять чужой код. С другой стороны, математик будет решать задачи, решения которых у вас ещё нет (иначе зачем вам именно математик, а не просто программист?), так что лучше проверить именно его математическую подготовку. Небольшой фрагмент его будущей работы был бы идеальным вариантом, но это маловероятно, потому что надо решить задачу быстро, а это в принципе невозможно из-за необходимых исследований... Короче, не изобретай велосипед.) Попроси реализовать умножение матриц методом гаусса, чтобы посмотреть на знание языка и какие-нибудь математические вопросы. Не надо пугать джуниоров.)
Ответ написан
@kstyle
задача (точнее, сразу несколько в одной): человек увлекается бегом, вносит данные о пробежках каждый день (дата, пробег, время). в итоге, данные за пару месяцев, например. программа должна проанализировать эти данные и выдать результат насколько равномерны были пробежки (например, по шкале от 1 до 5), какая тенденция (рост, падение, без тенденции), прогноз-совет на ближайшие дни сколько бежать следует, перед этим всем поискать нет ли среди данных явно ошибочных, учесть пропуски данных. могу хоть сотню напридумывать. странно, что вы не хотите сами
Ответ написан
Комментировать
Atanvar
@Atanvar
Frontend developer
Создай класс переводящий цифры в римские и обратно.
Задание из реального собеседования.
Ответ написан
@deliro
Задачи с графами всегда интересные и несложно реализуемые, если знаешь теорию. К тому же, используются повсеместно.
Ответ написан
Комментировать
afanasiy_nikitin
@afanasiy_nikitin
путешественник туда-сюда
>В недалёком будущем мне придётся собеседовать программистов-математиков.
acm.timus.ru/problemset.aspx?space=1&page=all
Ответ написан
@antirek
Попроси написать алгоритм инвертирования матрицы NxN
Ответ написан
Комментировать
EndUser
@EndUser
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы