|
OFF: задачка на собесе, раз уж пятница | ☑ | ||
---|---|---|---|---|
0
DeeK
10.02.23
✎
14:10
|
мне как-то задали задачу на собесе - есть два числа А и В (не равные), нужно используя только математические операторы, определить какое из них больше, а какое меньше
то есть без условий и сравнений все это в рантайме 1С подразумевалось пример: a = 6 b = -2 min = ? max = ? Сообщить(min) Сообщить(max) |
|||
1
Dmitry1c
10.02.23
✎
14:14
|
(0) хороший детектор конторы, которую можно обойти стороной)
|
|||
2
vovastar
10.02.23
✎
14:16
|
(1) Судя по тому, что он на форуме, значит откупился.
|
|||
3
PR
10.02.23
✎
14:17
|
(0) Думаю, что это невозможно
Только математические операторы — это +, -, *, / и пр. То есть по логике должно быть что-то типа Сообщить((a + b) / (a - b)) |
|||
4
Chai Nic
10.02.23
✎
14:18
|
min=Мин(a,b)
max=Макс(a,b) Условий и сравнений нет. Задача выполнена. |
|||
5
PR
10.02.23
✎
14:19
|
(4) Ты еще бы сортировку СЗ предложил
|
|||
6
Dmitry1c
10.02.23
✎
14:19
|
(4) это не математические операторы, это функции платформы
|
|||
7
mistеr
10.02.23
✎
14:20
|
Приходит грузчик на собес. После недолгой беседы и алкотеста - тестовое задание.
-- Вот пять мешков цемента, вот грузовик. Но одну руку мы вам свяжем за спиной. |
|||
8
DeeK
10.02.23
✎
14:21
|
(1) я обошел)
зарубился с постановщиком, что задача задана некорректно, уточнил можно ли использовать функции встроенного языка, промямлила невнятно, что якобы нет, а когда услышал что ребята из их отдела ее решили, спросил как - показала листочек, где я вижу не 1с код, а просто математическую формулу где используют взятие по модулю, я сказал что взятие по модулю нельзя сделать без использования встроенных функций, сказал что я не шарю, и был я таков |
|||
9
ChMikle
10.02.23
✎
14:21
|
(0) Назвал бы контору, чтобы люди время не тратили ...
|
|||
10
Fish
10.02.23
✎
14:22
|
(9) По правилам форума нельзя.
|
|||
11
DeeK
10.02.23
✎
14:22
|
(3) при такой формулировке я тоже сказал что невозможно, но разговор ушел в неконтролируемое пике, и там уже было бесполезно качать права
|
|||
12
ChMikle
10.02.23
✎
14:22
|
(10) на то они и правила ... :)
|
|||
13
DeeK
10.02.23
✎
14:23
|
(9) блин не помню, давно было
|
|||
14
ChMikle
10.02.23
✎
14:23
|
(11) а на какую позицию собеседовался ?
|
|||
15
ChMikle
10.02.23
✎
14:23
|
(13) зачем тогда сейчас решил этот камингаут ???
|
|||
16
DeeK
10.02.23
✎
14:23
|
(14) рядовой прог какой-то
|
|||
17
DeeK
10.02.23
✎
14:24
|
(15) ну задача на самом деле мне показалась интересной, попробовать ее выполнить все таки максимально математически
|
|||
18
DeeK
10.02.23
✎
14:24
|
я вот так родил
Сообщить((а+в)/2-sqrt(Pow((а-в)/2,2))); Сообщить((а+в)/2+sqrt(Pow((а-в)/2,2))); |
|||
19
DeeK
10.02.23
✎
14:25
|
(18) ну даже без pow можно, но без sqrt никак мне кажется
|
|||
20
ChMikle
10.02.23
✎
14:30
|
(16) на 1C - ка ?
|
|||
21
DeeK
10.02.23
✎
14:32
|
(20) да
|
|||
22
Злопчинский
10.02.23
✎
14:35
|
условие все иравно будет использоваться в любом случае при считывании результата, только вместо того чтобы это делать явно в коде, будет едалться неявно пользователем
вывелось 0 - ага, если 0 - это а меньше б, если 1 - наоборот. условие будет присутсвовать в любом случае |
|||
23
Ботаник Гарден Меран
10.02.23
✎
14:35
|
Раз уж к операторам причислили всё подряд.
Попытка Гы = Log(A-B) Сообщить("А больше"); Исключение Сообщить("B больше"); КонецПопытки; ЗЫ. И вообще, требовалось указать, КАКОЕ больше, а не максимум и минимум из двух. |
|||
24
ChMikle
10.02.23
✎
14:35
|
(21) Поэтому 1С долго и была не птицей в "богемных кругах всяких сишников и ораклистов доморощенных", когда такие собеседование для 1С такими задачами проводили :))
|
|||
25
ChMikle
10.02.23
✎
14:36
|
там результат а-в достаточно вывести , чтобы смышленый человек понял какое из числе больше , а какое меньше....
|
|||
26
DeeK
10.02.23
✎
14:39
|
(24) ну все равно, в подобных темах тут, все равно фигурируют задачи аля два числа поменяй местами, то есть они встречаются, а по поводу репутации 1С мне все равно как-то
|
|||
27
ChMikle
10.02.23
✎
14:41
|
(26) я к тому, что задание не перекликается с задачей выявления профильного уровня подготовки кандидата от слова совсем :)
|
|||
28
DeeK
10.02.23
✎
14:42
|
(23) тоже верно, еще один повод зарубиться с постановщиком, а на деле это девочка, то ли консульт у них, я так не понял, но все отсылала на то, что в их отделе ее решили, значит решение стопроц есть, на мое возмущение про некорректность условия - ухмыльнулась, типа я тупой
|
|||
29
DeeK
10.02.23
✎
14:43
|
(27) собеседуют они, им решать что спрашивать, их проблемы, мое дело отказаться и уйти
|
|||
30
Chai Nic
10.02.23
✎
14:43
|
(6) Согласно синтакс-помощнику, это математические функции
|
|||
31
Kassern
10.02.23
✎
14:44
|
(0) Вроде уже обсуждали эту задачу на форуме.
"определить какое из них больше, а какое меньше " - я отрезками эту задачу решал. Получилось вроде так: (|а+б|-|а-б|)/2 = большее число (|а+б|+|а-б|)/2 = меньшее число |
|||
32
Kassern
10.02.23
✎
14:46
|
отрезок не может быть отрицательный, это и есть модуль.
|
|||
33
Garykom
гуру
10.02.23
✎
14:50
|
(31)
>(|а+б|-|а-б|)/2 = большее число (|6+(-2)| - |6-(-2)|)/2 = (4 - 8)/2 = -4/2 = -2 >(|а+б|+|а-б|)/2 = меньшее число (|6+(-2)| + |6-(-2)|)/2 = (4 + 8)/2 = 12/2 = 6 перепутал местами? |
|||
34
Kassern
10.02.23
✎
14:51
|
(33) да, очепятался, там где + ->большее
|
|||
35
Kassern
10.02.23
✎
14:51
|
это и логично)
|
|||
36
PR
10.02.23
✎
15:01
|
(8) Интересно, чем поможет взятие по модулю при значениях 3 и 5
|
|||
37
Kassern
10.02.23
✎
15:01
|
(36) Там модуль в формуле нужен при разнице а и б
|
|||
38
Kassern
10.02.23
✎
15:02
|
ну и при сумме, если результат отрицательный
|
|||
39
PR
10.02.23
✎
15:03
|
(37) А, ну понял
Я обычно сразу торможу таких гениальных тестеров, типа нехрен придумывать всякую херобору, не имеющую никакого смысла |
|||
40
Kassern
10.02.23
✎
15:07
|
(39) В принципе интересная задачка, но на собеседовании 1с программиста я бы ее не давал.
|
|||
41
PR
10.02.23
✎
15:09
|
(40) Те, кто дают на собеседовании такие задачи, отсеивают все адекватное, что перешагнуло их порог
|
|||
42
Kassern
10.02.23
✎
15:14
|
(41) Ну почему сразу все, какую-то часть) Есть же шанс, что человек отнесется к задаче серьезно и решит ее за условный час.
|
|||
43
DeeK
10.02.23
✎
15:27
|
(41) на моей практике собеседований, когда я уже собеседовал, меняли значений переменных местами около половины на ЗП 100+, но это в череде моих вопросов было первым и единственным случаем такого типа вопросов, чтобы реально отсеять сразу реальный неадекват, следующим этапом уже писали запросы
|
|||
44
FirstLine Support
10.02.23
✎
15:38
|
(43) потому что такого рода вопросы нужрно просто вызубрить, сам ты эту арифметику не изобретешь. Да даже чисто не поймешь, в какую сторону нужно думать.
|
|||
45
mistеr
10.02.23
✎
15:43
|
(44) Да ладно. Школьная же арифметика.
Если нужно отобрать тех, кто умеет и готов думать, очень хороший тест. Или наоборот, тех, кто выдержит кодить строго по ТЗ и не лезть с вопросами и предложениями. |
|||
46
Kassern
10.02.23
✎
15:43
|
(44) " такого рода вопросы нужрно просто вызубрить" не надо ничего зубрить, просто если голова соображает, то перепробовав множество вариантов, найдешь ответ.
Так же может быть на предприятии. К примеру завтра захотят новый функционал на предприятии, а в инете информации не будет для 1с. Если голова соображает, то найдете способ решить задачу, или предложить лучший вариант. |
|||
47
iddroide
10.02.23
✎
15:50
|
Я такие задачки очень уважаю, считаю, что они как раз помогают проверить дружит ли 1С-ник с логикой, математикой и умеет ли программировать ВООБЩЕ, а не только типовые 1С-ные задачи, и умеет ли банально ГУГЛИТЬ. Никто не претендует на какой-то там пафос и необходимость знания 1С-ком АЛГОРИТМОВ, знанием которых так кичатся НАСТОЯЩИЕ программисты, которые не 1С-ники. Но надо же хоть немного уметь решать задачки, которые не про дебет-кредит, приход-расход и иже с ними. Задачки такие даем не на собеседовании, а после собеседования как второй этап - домашнюю работу, если кандидат понравился. Если и мы ему понравились, то возьмется человек. Если решение с ошибками, то мы еще потом даем человеку обратную связь и возможность довести решение до ума. Если решено не всё или много решено неправильно - нет без объяснений. Задачки разные, штук 8. На решение уходит в среднем часов 10. Скилл в предметной области пытаемся понять на собеседовании и на испытательном сроке. Но человек с хорошо подвешенным языком может классно себя преподнести, а тут ему еще задачки. У нас от задач никто не отказывался, но я читал мнение, что это оскорбление для соискателя. Хрен, конторе нужно отсеять болтунов. Проходили у нас, к сожалению, такие люди собеседование, а потом спрашивали чем процедура отличается от функции. Я и сам однажды решал подобные задачи для одной серьезной конторы. Там вообще половина задач по MS SQL была, потому что хороший 1С-ник по их мнению и в скуль должен уметь как надо.
P/S. Спорить ни с кем не собираюсь, не нравятся такие задачи - не решайте. Но в нашей конторе и поддержка и люди с зп от 240к такие задачи, в том числе, решали. |
|||
48
Злопчинский
10.02.23
✎
15:58
|
взятие по модулю - по сути скрытый условный оператор. если уж решать задачу - то только + - / *
|
|||
49
Злопчинский
10.02.23
✎
16:00
|
(46) "перепробовав множество вариантов,"
в реальных задачах очень часто перебрать множество вариантов - нет ресурса. поэтому смотря кого ищем на работу... |
|||
50
Злопчинский
10.02.23
✎
16:01
|
(46) вот у меня есть задачка от клиента. потенциально вижу три варианта решения. но надо пробовать какое окажется ближе к адекватному результату. клиенту я нихрена не выставлю 10 часов. максимум 2-3. а думать задаром - это я могу только если отпуск планирую....
|
|||
51
Kassern
10.02.23
✎
16:02
|
(49) А есть такие, кто тупо лапки свесят, толком не попробовав и говорят, либо "не шмогла", или это невозможно.
|
|||
52
Kassern
10.02.23
✎
16:05
|
(50) "а думать задаром " - так ведь вы не "за даром". Найдя оптимальный способ, который будет быстрым и более лояльным к клиенту, вы сможете в дальнейшем, как орешки, такие задачи решать, а может сделаете свое отраслевое решение. В общем вы вкладываетесь в свое развитие тратя на это часы.
|
|||
53
FirstLine Support
10.02.23
✎
16:09
|
(52) спасибо, посмеялся. Я лучше это время потрачу на новые функции агрегации СКД
|
|||
54
Kassern
10.02.23
✎
16:14
|
(53) Так ведь отчасти и получается. Человек, к примеру, сделал для кого-то модуль работы с почтой России. А потом все это дело причесал и уже продает другим. А можно было сделать для человека несколько костылей и забить, тратя время на новые функции агрегации СКД.
|
|||
55
Новый1сник2
10.02.23
✎
16:18
|
(52) так и происходит в основном с задачами с которыми не сталкивался (вкладываешься в развитие). только проблемка когда клиент просит предварительную оценку дать такой задачи.
|
|||
56
FirstLine Support
10.02.23
✎
16:20
|
(54) да потому что программист, получает знания, это всё равно что для торговца покупать товар. Программист же потом продаёт свои знания. А выгодней "купить" то, что можно продать МНОГО раз
|
|||
57
Kassern
10.02.23
✎
16:22
|
(56) А с чего вы решили, что (50) не получится продать "МНОГО раз"?
|
|||
58
FirstLine Support
10.02.23
✎
16:22
|
(55) смотря какая задача. Если это задача одноразовая, то её нет смысла "изучать". Этим может заниматься тольк джун, у которого все задачи новые, и все эти задачи его развивают
|
|||
59
Mort
10.02.23
✎
16:23
|
Нормальная задача. Если претендент догнал, что разницу можно подловить на корне из квадрата минуса, значит мозг теплится.
|
|||
60
Kassern
10.02.23
✎
16:24
|
(58) Зная любовь Злопа к клюшкам "вот у меня есть задачка от клиента. потенциально вижу три варианта решения", предполагаю, что один из вариантов, это сделать на них, чтобы не ковырять снеговика)
|
|||
61
ChMikle
10.02.23
✎
16:24
|
(54) >>. А можно было сделать для человека несколько костылей и забить, тратя время на новые функции агрегации СКД.
Вы сейчас серьезно ?! Чела берут одинэсником работать и вместо того чтобы проверить его знания непосредственно функционала языка программирования на котором он свои нетленки для почты Россия лабать , его заставляют вместо функции макс или мин велосипед изобретать. Любой нормальный начальник у виска пальцем покрутит если ему такой способ определения большего числа предложат на языке 1С :)). Еще сортировку пузырьковым методом предложите сделать , чтобы из массива данных максимум выбрать в 1с. :))) |
|||
62
FirstLine Support
10.02.23
✎
16:25
|
(57) потому что это те задачи, которые можно продать много раз, у меня лежат уже готовые
|
|||
63
Kassern
10.02.23
✎
16:26
|
(62) Но ведь у вас они откуда-то появились. Следовательно, вы так же определили задачу как потенциально выгодную. С чего вы решили, что тут не тот случай?
|
|||
64
FirstLine Support
10.02.23
✎
16:27
|
(63) джун решает всё подряд, оттуда и появились :)
|
|||
65
Kassern
10.02.23
✎
16:28
|
(61) Вы смешали 2 темы вместе... Это относилось к сообщению (50), что никак не связано с оценкой претендента на должность погромиста 1с
|
|||
66
ChMikle
10.02.23
✎
16:30
|
(650 тогда пардоньте :).
|
|||
67
Михаил Козлов
10.02.23
✎
19:07
|
Ловить ошибку в SQRT(a-b). Если нет - а>=b.
|
|||
68
FirstLine Support
10.02.23
✎
19:22
|
(67) заказчик изволит желать без условий. А у вас в первой же строчке "если". Ну как так-то..
|
|||
69
Garykom
гуру
10.02.23
✎
20:12
|
можно через (арк)тангенс и деление кстати
|
|||
70
Сергиус
10.02.23
✎
21:10
|
(0)a-b>b-a => a>b
|
|||
71
Злопчинский
10.02.23
✎
22:04
|
(60) Отчего это у меня "любовь к клюшкам"..? что умею то и ваяю. любовью это назвать трудно. а ваять на снеговике то же самое что ваял на клюшках - это уже на садомазо смахивает.
. задача-то "тривиальная", неудовлетворенный спрос по заявкам клиентов. И вкрутить его хочется в существующую схему, а не переписать полконфы. вдобавок если учет ведется аккуратно - то проблем как-бы нет.. затык "если...." ;-) |
|||
72
FirstLine Support
10.02.23
✎
22:10
|
(71) в восьмерке это решается отчетом на СКД за 15 мин. с перекурами. Если хорошо разбираться в системе обеспечения
|
|||
73
Злопчинский
10.02.23
✎
22:11
|
(72) ну, первый вариант я накидал тоже за 10-15 минут. получилась хрень.
|
|||
74
FirstLine Support
10.02.23
✎
22:16
|
(73) почему хрень-то? :) Неудовлетворенный спрос - это строки заказа с галкой "Отмена" и с какой-то там причиной отмены, которую скажет Заказчик.
|
|||
75
Злопчинский
10.02.23
✎
22:39
|
(74) это ты в снеговике такой умный ;-)
счет клиенту умеет выставлять на основании заказа клиента с обеспеченными строками (причем строка может быть обеспечена частично)? по факту поступления частичного необеспеченного товара - умеет выставлять счет на обеспеченный товар с учетом ранее выставленного счета (или иным образом реализовать такую схему, но чтобыбыло простот для юзера)..? |
|||
76
H A D G E H O G s
11.02.23
✎
05:32
|
(47) а вот и эти, как их, неадекваты.
|
|||
77
NorthWind
11.02.23
✎
10:41
|
(0) тю... В попытке корень квадратный берем из а-б. Если управление перешло дальше, то максимум=а, минимум=б. Если првалилось в исключение, то там присваиваем максимум=б, минимум=а. Сообщаем. Все.
|
|||
78
NorthWind
11.02.23
✎
16:57
|
(31) +(77) если решать чистой арифметикой, то можно использовать такое правило, что расстояние от средней точки до конечных точек отрезка - это половина разности. Поскольку мы не знаем, какая из точек бОльшая, а какая меньшая, разность нужно взять по модулю. Если взять не по модулю, то может выйти так что максимум и минимум поменяются местами. При поиске среднего модуль не нужен.
Тогда имеем максимум (а+b)/2 + |a-b|/2 минимум (а+b)/2 - |a-b|/2 Как-то так. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |