Re[10]: Опять кадровики "радуют"
От: CodeMonkey  
Дата: 15.11.18 20:35
Оценка: :))
Здравствуйте, Voivoid, Вы писали:

V>Ну тогда наверное не затруднит его указать?


Уже указал. http://rsdn.org/forum/job/7298592?tree=tree
Автор: CodeMonkey
Дата: 15.11.18

Какие-то незнакомые слова? Атомарность, конкурентный доступ?
Re: Опять кадровики "радуют"
От: elmal  
Дата: 16.11.18 04:42
Оценка: +3 :)
Здравствуйте, CodeMonkey, Вы писали:

CM>Не вижу ни одного возможного решения, которое имело бы хоть какой-то смысл

CM>Кто-нибудь видит?
Кстати, конкретно эта задача на собеседовании имеет смысл. Основная идея — просто понимание что ты знаешь о таком приеме, как разделяй и властвуй.
Соответственно для тривиального случая возвращаешь исходный массив. Для вырожденного из двух элементов делаешь перестановку. Для основного случая дробишь на части, запускаешь над каждой частью в параллель рекурсивно обращение массива. Далее джоинишь результаты, итерируясь в обратном порядке. Это кстати можно сделать аналогично через рекурсию и на месте, правда будет выглядеть грязно.

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

Мне задача понравилась тем, что она отсеет Артемку, не умеющего программировать, но зазубрившего типичные задачи и мнящего себя богом. И не оторвана от реальности, так как в реальности зачастую нужно весьма сложный алгоритм как то легко распараллелить, с минимальной модификацией исходного кода. Ибо исходный код может быть весьма сложен и запутанен. В результате на практике мы на некоторых алгоритмах получим ускорение, при этом хаос в коде становится не сильно ужаснее. И сделаем требуемое от нас быстро.
Re: Опять кадровики "радуют"
От: sr_dev  
Дата: 16.11.18 06:52
Оценка:
Здравствуйте, CodeMonkey, Вы писали:

CM>Не вижу ни одного возможного решения, которое имело бы хоть какой-то смысл

CM>Кто-нибудь видит?

У меня возникла ассоциация с массивом который лежит в хдфс и цепочкой мап-редьюс задач для его обработки. На какую позицию спрашивают, чем заниматься предполагается?
Re[2]: Опять кадровики "радуют"
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 16.11.18 07:04
Оценка: +1 :)
Здравствуйте, elmal, Вы писали:

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

E> ...

Тут было всё верно.

E>Мне задача понравилась тем, что она отсеет Артемку, не умеющего программировать, но зазубрившего типичные задачи и мнящего себя богом.

E> ...

А вот тут ты сильно не прав... я просто с ним работал пару лет. Очень приличный уровень как у разработчика, побольше б таких
Re[11]: Опять кадровики "радуют"
От: Voivoid Россия  
Дата: 16.11.18 07:08
Оценка: +1 :)
Здравствуйте, CodeMonkey, Вы писали:

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


V>>Ну тогда наверное не затруднит его указать?


CM>Уже указал. http://rsdn.org/forum/job/7298592?tree=tree
Автор: CodeMonkey
Дата: 15.11.18

CM>Какие-то незнакомые слова? Атомарность, конкурентный доступ?

Что-то прям анекдот вспомнился:
"Армяне лучше чем грузины!"
"Чем лучше? Чем??"
"Чем, чем... Я же сказал, чем грузины!"

Вопросов больше не имею
Re[2]: Опять кадровики "радуют"
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 16.11.18 07:42
Оценка: +1 :)
Здравствуйте, ononim, Вы писали:

CM>>Кто-нибудь видит?

O>unsigned char array[32] = {...};
O>for (int i = 0; i < sizeof(array); ++i) {
O>    if (fork() == 0) {
O>        sleep(sizeof(array) - i);
O>        print("%02x ", array[i]);
O>    }
O>}


За int — расстрел на месте.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[7]: Опять кадровики "радуют"
От: B0FEE664  
Дата: 16.11.18 08:36
Оценка: :)
Здравствуйте, CodeMonkey, Вы писали:

BFE>>Насколько я понимаю, пункт 3 выполнен.

CM>Озвучь ход мысли.

Voivoid всё правильно сказал.
И каждый день — без права на ошибку...
Re: Опять кадровики "радуют"
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 16.11.18 08:52
Оценка: -1 :)
Здравствуйте, CodeMonkey, Вы писали:

CM>Итак, задача. Нужно развернуть массив (именно массив). Но:

CM>1. Сделать это при помощи рекурсии
CM>2. Таким образом, чтобы это можно было распараллелить

Что такое распараллеливание?

CM>3. Не использовать никакие разделяемые переменные


Что такое разделяемые переменные?
1613 г. = 2024 г.
Re[2]: Опять кадровики "радуют"
От: so5team https://stiffstream.com
Дата: 16.11.18 08:59
Оценка: 9 (1) +2 :))) :))) :))
Здравствуйте, RussianFellow, Вы писали:

RF>Что такое распараллеливание?


Это когда на собеседовании драться нужно одновременно с несколькими противниками.

RF>Что такое разделяемые переменные?


Это когда во время драки на собеседовании вы хватаетесь за стул, но за этот же стул одновременно хватается и ваш противник. В этом случае стул и будет той самой разделяемой переменной, своевременный захват которой обеспечит вам победу.
Re[2]: Опять кадровики "радуют"
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 16.11.18 09:01
Оценка: +1 :)
Здравствуйте, RussianFellow, Вы писали:

CM>>Итак, задача. Нужно развернуть массив (именно массив). Но:

CM>>1. Сделать это при помощи рекурсии
CM>>2. Таким образом, чтобы это можно было распараллелить

RF>Что такое распараллеливание?


Сейчас, подожди. Я дискету отформатирую и покажу.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[3]: Опять кадровики "радуют"
От: Muxa  
Дата: 16.11.18 09:44
Оценка:
RF>>Что такое распараллеливание?
КД>Сейчас, подожди. Я дискету отформатирую и покажу.
Эту шутку он не поймёт.
Re[4]: Опять кадровики "радуют"
От: Stanislav V. Zudin Россия  
Дата: 16.11.18 09:46
Оценка: +1 :)
Здравствуйте, Muxa, Вы писали:

RF>>>Что такое распараллеливание?

КД>>Сейчас, подожди. Я дискету отформатирую и покажу.
M>Эту шутку он не поймёт.

Если меня склероз не подводит, то по возрасту RF должен был застать fido. Эта шутка там ходила.
И что-то мне подсказывает, что он вас троллит самым откровенным образом
_____________________
С уважением,
Stanislav V. Zudin
Re[2]: Опять кадровики "радуют"
От: CodeMonkey  
Дата: 16.11.18 15:30
Оценка:
Здравствуйте, sr_dev, Вы писали:

_>У меня возникла ассоциация с массивом который лежит в хдфс и цепочкой мап-редьюс задач для его обработки. На какую позицию спрашивают, чем заниматься предполагается?


Просто программер. Сайт для букинга.
Re[12]: Опять кадровики "радуют"
От: CodeMonkey  
Дата: 16.11.18 15:31
Оценка:
Здравствуйте, Voivoid, Вы писали:

V>Вопросов больше не имею


Я написал совершенно конкретно, в каких условиях возможно писать без блокировки и почему у тебя это невозможно.
Re[13]: Опять кадровики "радуют"
От: Muxa  
Дата: 16.11.18 16:01
Оценка: +1
CM>Я написал совершенно конкретно, в каких условиях возможно писать без блокировки и почему у тебя это невозможно.
А это нарушение какого из трех пунктов?
Re[14]: Опять кадровики "радуют"
От: CodeMonkey  
Дата: 16.11.18 16:16
Оценка:
Здравствуйте, Muxa, Вы писали:

M>А это нарушение какого из трех пунктов?


Это нарушение пункта 0, который подразумевается: код должен работать.
Re[15]: Опять кадровики "радуют"
От: Muxa  
Дата: 17.11.18 07:26
Оценка:
M>>А это нарушение какого из трех пунктов?
CM>Это нарушение пункта 0, который подразумевается: код должен работать.
Даже если это псевдокод?
Re[16]: Опять кадровики "радуют"
От: CodeMonkey  
Дата: 17.11.18 15:27
Оценка:
Здравствуйте, Muxa, Вы писали:

M>Даже если это псевдокод?


Если он некорректен — то даже в этом случае
Re[4]: Опять кадровики "радуют"
От: Hobbes Россия  
Дата: 19.11.18 19:05
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>а зачем его получать?:

BFE>
BFE>template <class T>
BFE>void Swap(T& l, T& r)
BFE>{
BFE>  T t = std::move(l);
BFE>  l = std::move(r);
BFE>  r = std::move(t);
BFE>}
BFE>


#include <algorithm>

std::swap(l, r);


Магия.
Отредактировано 19.11.2018 19:15 Hobbes . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.