Войти
ФлеймФорумПрограммирование

Не смог решить тестовое задание (2 стр)

Страницы: 1 2 3 442 Следующая »
#15
(Правка: 22:46) 22:44, 3 янв. 2020

vindast
> Камон, время все еще квадратное.
И все таки O(n), а не O(n^2) на поток. В теле один цикл от 0 до N.


#16
22:44, 3 янв. 2020

Алмаз
У тебя на лицо неумение общаться с HR.

+ Как видишь сообщение ты
+ Как видит его HR

А знаешь почему? Потому что с учетом ограничений:
> Дан структурный буфер частиц в размере от 2 до 1024 элементов.
Имхо оптимальный алгоритм как раз и есть тот самый n^2, который ты придумал.
#17
22:46, 3 янв. 2020

foxes
> И все таки O(n), а не O(n^2) на поток.
И сколько раз нужно вызвать эти потоки?

#18
(Правка: 22:54) 22:48, 3 янв. 2020

vindast
> И сколько раз нужно вызвать эти потоки?
Когда пишут:
Алмаз
> O(n^2) на один поток
То получают О(n^3) или О(n^2*m)
Так что сам вспоминай как считать нотацию.

#19
22:56, 3 янв. 2020

foxes
> То получают О(n^3) или О(n^2*m)
> Так что сам вспоминай как считать нотацию.
Ох) Действительно ) Убедил) Сорямба)

#20
23:03, 3 янв. 2020

vindast
Ты был у него HR-ом? :))))

#21
23:19, 3 янв. 2020

foxes
ой все

#22
23:55, 3 янв. 2020

MrShoor
Ну это же какая-то глупость, а не задача, получается.

#23
0:03, 4 янв. 2020

Алмаз
> Ну это же какая-то глупость, а не задача, получается.
Почему же? Суть задания - отсеять тех, кто совсем не умеет в шейдеры/математику. Задание простое, легко проверять. Имхо само норм для первой проверки.

#24
0:11, 4 янв. 2020

MrShoor
Вакансия не на джуна с з/п от 200к рублей, если верить hh.ru. Вряд ли на такую вакансию ожидается человек совсем без опыта. Тем более я отправил им ссылку на свой профиль на гитхабе - там достаточно проектов, чтобы убедиться, что я не совсем дуб.

Возможно ты и прав. Задание простейшее, а я облажался. :)

#25
(Правка: 0:17) 0:14, 4 янв. 2020

Алмаз
Я рассказывал как однажды не подошел, потому что детей нет? Не в смысле наследования классов или иерархии объектов, а реальных, писающих и плачущих.

#26
0:30, 4 янв. 2020

Алмаз
> Вакансия не на джуна с з/п от 200к рублей, если верить hh.ru. Вряд ли на такую
> вакансию ожидается человек совсем без опыта.
И могу сказать, что вряд ли тебя после этого задания сразу примут на эту должность. Очевидно, что это задание-фильтр перед техническим собеседованием. Техническое собеседование требует время специалистов, и чтобы их не отвлекать на любого встречного - нужно отсеять тех, кто совсем не подходит.

#27
2:49, 4 янв. 2020

MrShoor
> Задание простое, легко проверять.
А как ты будешь учитывать многократное частичное перекрытие с разных сторон?
На мой взгляд, у задачки слишком много подводных камней для тестовой, не описано, где и чем можно пренебречь.

#28
4:23, 4 янв. 2020

А если сортануть по глубине и считать об ближнего к солнцу до дальнего с солнцу?

#29
(Правка: 5:38) 5:36, 4 янв. 2020

}:+()___ [Smile]
> А как ты будешь учитывать многократное частичное перекрытие с разных сторон?
С разных сторон чего? Задачка сформулирована как уже правильно заметили, не качественно. Тут остается только додумывать, какое примерно решение ожидают увидеть. Как додумываю это я:

1. С учетом того, что задача прилетает от HR, и ему же сдается - задание должно быть относительно простым.
2. Смотрим на выходные данные. Нужно по одному флоату на частицу. Но частица имеет радиус. И не возможно описать затененность частицы одним флоатом. Поэтому вероятнее всего интересует затененность только в центре частицы.
3. Есть ограничение: Дан структурный буфер частиц в размере от 2 до 1024 элементов. Вероятно данное ограничение дано не просто так, а чтобы можно было просто перебрать всё со всем, и не нужно было городить ускоряющие структуры.
4. В пользу пункта 3 так же говорит то, что нужно сделать за один dispatch
5. "Расстояния между партиклами сопоставимы с их радиусами" - вероятно вводится для того, чтобы мы понимали, что частицы взаимно не пересекаются
6. Поскольку ничего не сказано о единцах измерерия плотности, а есть тупо прозрачность частиц, то считаем, что достаточно перемножить opacity. В крайнем случае можно принять opacity на единицу, и считать плотность уже от пересечения со сферой.
7. RWBuffer<float> sbShadows; нам дан без globalycoherent. Очевидно, что один тред должен работать строго с одной частицой.

Итого по моему мнению ожидают что-то в духе:

+ Показать

Осталось реализовать:
GetCurrentParticle - функцию возвращающую индекс вычислямой частицы в curr. Если аут оф рендж, то возвращающую false для выхода.
и RaySphereHit - функцию пересечения луча со сферой.

Battle Angel Alita
> А если сортануть по глубине и считать об ближнего к солнцу до дальнего с
> солнцу?
Не нужно. Потому что у частиц нет цвета, и каждая частица гасит свет мултипликативно. А от перестановки мест множителей произведение не меняется.

Страницы: 1 2 3 442 Следующая »
ФлеймФорумПрограммирование