Re[7]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.08.22 16:12
Оценка:
Здравствуйте, Shmj, Вы писали:

AS>>>А самое первое, зачем ты это делаешь. Т.е. целесообразность, как по мне, должна быть на самом приоритетном месте.

Pzz>>Зачем — понятно. Ему такое на собеседовании дали. Затем, чтобы понравиться собеседующим и получить работу мечты.

S>Сценариев может быть масса. Задание самое обычное. От конкретного сценария решение не зависит.


У нас, в Касперском, никому никаких тестовых заданиев не дают. Уважают время кандидата и не считают себя вправе награждать незнакомого человека куском бесплатной и бесполезной работы.

Между прочим, отобранный коллектив очень хороший и сильный.
Re[11]: Как бы вы делали эту задачу (переходим к конкретике)...
От: DiPaolo Россия  
Дата: 29.08.22 16:36
Оценка:
S>Если напишешь самое быстрое — тебе поднимут зарплату в 2 раза и назначат на крутой проект.

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

А уж про крутой проект ваще смешно. Вспоминается ваше (не дословно) "тут на форуме никому не светит делать крутые вещи. Мы тут все всякими простыми проектами занимаемся. А вот элита уже пишет что-то прорывное".

Скажу так: если человек решает задачи типа обсуждаемой здесь — он уже 99% на крутом проекте. А поднимать зп "самому быстрому" программисту в 2 раза — нонсенс. Мы ж не в первом классе, чтобы звездочку нарисовали тому, кто первый пример решит.
Патриот здравого смысла
Re[11]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Dym On Россия  
Дата: 29.08.22 18:18
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Тебе требования по памяти сказали — до 2-2.5 Гиг.

Отлично, фиксируем: ОЗУ не менее 2 ГБ. Хотя бы так, но я бы обязательно прописал частоту и тайминги.

S>Процессор считай что самый обычнынй десктопный.

Что такое "самый обычный процессор"?

S>Скажу что от процессора тут мало что зависит — основные тормоза — это диск. Сравнивать решения будут на одном и том же компе.

На каком компе? Диск какой? HDD 5400 или SSD? А SSD какой?

S>Если напишешь самое быстрое — тебе поднимут зарплату в 2 раза и назначат на крутой проект.

Какой крутой проект, какая зарплата? Ты рассуждаешь как рядовой кодер, первое звено в пищевой цепочке. Речь идет о том, заплатит ли заказчик вообще, и заплатит ли ту сумму которая оговорена в договоре. А заказчик платит только тогда, когда удовлетворены все требования ТЗ и это не возможно оспорить.
Счастье — это Glück!
Re[12]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Shmj Ниоткуда  
Дата: 29.08.22 19:16
Оценка:
Здравствуйте, Dym On, Вы писали:

DO>Что такое "самый обычный процессор"?

DO>На каком компе? Диск какой? HDD 5400 или SSD? А SSD какой?

Перед московской олимпиадой продавцам запретили говорить "нет" покупателям.

В универмаге женщина просит перчатки.
— Вам какие? Кожаные? Шерстяные? Замшевые?
— Шерстяные, пожалуйста.
— Светлые? Темные?
— Темные.
— Длинные? Короткие?
— Короткие, если можно.
— Знаете что, принесите нам показать ваше пальто, и мы сами для вас подберем к нему перчатки.
— Не верьте им! — встревает другой покупатель.
— Я им свой унитаз приволок, зад показал, а туалетной бумаги все равно не получил!

Re[7]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 29.08.22 19:22
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Есть такая фишка — значение по умолчанию. Благодаря этому не нужно уточнять миллионы нюансов.


Есть такая фишка, которая выясняется в процессе сдачи работы. Она заключается в том, что значения по умолчанию у сдающего и принимающего могут кардинально различаться


S>Похоже что такие как вы — просто будут тратить время на демагогию на совещаниях и планерках, чтобы не делать реальную работу.


Похоже, что вы не работали нормальную работу
Маньяк Робокряк колесит по городу
Re: Как бы вы делали эту задачу (переходим к конкретике)...
От: AleksandrN Россия  
Дата: 29.08.22 20:59
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ну ок, чтобы далеко не ходить, давайте популярную задачу, которую уже дважды на днях поднимали:


S>1. https://rsdn.org/forum/dotnet/8335182.flat
Автор: Shmj
Дата: 14.08.22

S>2. https://rsdn.org/forum/alg/8340088.flat
Автор: _FRED_
Дата: 21.08.22


S>Требования собраны, всем все понятно. Только абсурдировать не нужно, понятно что демагогическими приемами все можно свести к абсурду, любая фраза не формальна и не полна. По сути всем все понятно.


Если такое задание возникнет при разработке программного продукта, то хорошо бы понимать, что за данные в файле, откуда он взялся и что с ним дальше делать надо. Единственное, что приходит в голову — лог, в который пишется из нескольких потоков и потому, некоторые отметки времени могут быть перепутаны. Тогда нужно искать участки, с нарушением порядка и сортировать только их. И сравнивать не всю строку, а только время.

S>Идея такая, что для такой задачи не оптимально писать все с нуля а правильнее найти готовое решение.


И возникает вопрос, как часто нужно сортировать такие файлы и насколько критично время сортировки. Скорее всего окажется, что не нужно изобретать велосипед, а нужно взять готовое решение — утилиту sort (в windows тоже есть).
Re[9]: Как бы вы делали эту задачу (переходим к конкретике)...
От: AleksandrN Россия  
Дата: 29.08.22 21:39
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Не составлял. Но всегда, когда мне их давали — по итогу завершения проекта ничего не оставалось от оригинальных требований — все понимали, что это была дурная работа. Я всегда предлагаю как сделать лучше и в 90% случаев все согласны, что так действительно лучше — а на этапе составления требований и подумать об этом не могли, т.к. работали со сферическим конем в вакууме и не погружались настолько глубоко в предметную область, как это делает исполнитель.


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

S>И основное время уходит не на это — это я делаю за между прочим бесплатно.


На сколько человеко-часов проект, сколько разработчиков в нём участвовало и как потом сопровождалось ПО?
Re[8]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Shmj Ниоткуда  
Дата: 30.08.22 10:15
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>У нас, в Касперском, никому никаких тестовых заданиев не дают. Уважают время кандидата и не считают себя вправе награждать незнакомого человека куском бесплатной и бесполезной работы.

Pzz>Между прочим, отобранный коллектив очень хороший и сильный.

Тестовые задания бывают и оплачиваемы. За сколько денег бы вы взялись?
Re[12]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Shmj Ниоткуда  
Дата: 30.08.22 10:24
Оценка:
Здравствуйте, Dym On, Вы писали:

S>>Тебе требования по памяти сказали — до 2-2.5 Гиг.

DO>Отлично, фиксируем: ОЗУ не менее 2 ГБ. Хотя бы так, но я бы обязательно прописал частоту и тайминги.

А как твой алгоритм будет от этого зависеть?

S>>Процессор считай что самый обычнынй десктопный.

DO>Что такое "самый обычный процессор"?

Примерно 4 ядра. Как это повлияет на алгоритм?

S>>Скажу что от процессора тут мало что зависит — основные тормоза — это диск. Сравнивать решения будут на одном и том же компе.

DO>На каком компе? Диск какой? HDD 5400 или SSD? А SSD какой?

Какая разница какой SSD? Будет запускаться на разных дисках.

S>>Если напишешь самое быстрое — тебе поднимут зарплату в 2 раза и назначат на крутой проект.

DO>Какой крутой проект, какая зарплата? Ты рассуждаешь как рядовой кодер, первое звено в пищевой цепочке. Речь идет о том, заплатит ли заказчик вообще, и заплатит ли ту сумму которая оговорена в договоре. А заказчик платит только тогда, когда удовлетворены все требования ТЗ и это не возможно оспорить.

Т.е. вы сразу готовы бодаться с заказчиком и в судах отстаивать что было выполнено все по Т.З.?

А если заказчик сам не до конца понимает как сделать лучше? И хочет чтобы вы были его другом, подсказали оптимальный вариант.
Re[8]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Shmj Ниоткуда  
Дата: 30.08.22 10:25
Оценка:
Здравствуйте, Marty, Вы писали:

S>>Есть такая фишка — значение по умолчанию. Благодаря этому не нужно уточнять миллионы нюансов.

M>Есть такая фишка, которая выясняется в процессе сдачи работы. Она заключается в том, что значения по умолчанию у сдающего и принимающего могут кардинально различаться

На пример что в обсуждаемой задаче?
Re[2]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Shmj Ниоткуда  
Дата: 30.08.22 10:31
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>Если такое задание возникнет при разработке программного продукта, то хорошо бы понимать, что за данные в файле, откуда он взялся и что с ним дальше делать надо. Единственное, что приходит в голову — лог, в который пишется из нескольких потоков и потому, некоторые отметки времени могут быть перепутаны. Тогда нужно искать участки, с нарушением порядка и сортировать только их. И сравнивать не всю строку, а только время.


Почему же единственное? А мне первое что пришло в голову — криптовалютные адреса и суммы поступлений на адрес. Сортируешь и быстро узнаешь баланс на любом запрашиваемом адресе. По размеру как раз будет несколько сотен гигабайт.

Можно держать старые данные в таком вот файле и находить быстро бинарным поиском. А оперативные данные за день-два — держать в ОЗУ в виде хеш-таблицы. Раз в день схлопывать.

S>>Идея такая, что для такой задачи не оптимально писать все с нуля а правильнее найти готовое решение.


AN>И возникает вопрос, как часто нужно сортировать такие файлы и насколько критично время сортировки. Скорее всего окажется, что не нужно изобретать велосипед, а нужно взять готовое решение — утилиту sort (в windows тоже есть).


Уже писали вам — время критично. Сколько по времени отработает эта утилита на 100 Гб данных?
Re[10]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Shmj Ниоткуда  
Дата: 30.08.22 10:35
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>Значит сбором требований занимался плохой аналитик. А хороший аналитик — специалист редкий и дорогой.

AN>Но если бы требований не было бы вообще, на основе чего ты бы предлагал, как сделать лучше?

Да вопрос не в том нужны те требования или нет. Вопрос в том — какой процент от трудовых затрат их собрать.
Re[9]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Pzz Россия https://github.com/alexpevzner
Дата: 30.08.22 10:42
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Тестовые задания бывают и оплачиваемы. За сколько денег бы вы взялись?


Ни за сколько. Я сейчас не ищу дополнительного дохода.
Re[8]: Как бы вы делали эту задачу (переходим к конкретике)...
От: AmSpb  
Дата: 30.08.22 11:21
Оценка:
Здравствуйте, Pzz, Вы писали:

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


AS>>>>А самое первое, зачем ты это делаешь. Т.е. целесообразность, как по мне, должна быть на самом приоритетном месте.

Pzz>>>Зачем — понятно. Ему такое на собеседовании дали. Затем, чтобы понравиться собеседующим и получить работу мечты.

S>>Сценариев может быть масса. Задание самое обычное. От конкретного сценария решение не зависит.


Pzz>У нас, в Касперском, никому никаких тестовых заданиев не дают. Уважают время кандидата и не считают себя вправе награждать незнакомого человека куском бесплатной и бесполезной работы.


Pzz>Между прочим, отобранный коллектив очень хороший и сильный.



Сотрудники Kaspersky сообщили о предложении уволиться на просьбы о переезде из России

Сотрудники «Лаборатории Касперского» рассказали, что IT-компания предложила уволиться тем, кто хотел уехать в другие страны после начала «спецоперации». Компания заявила Forbes, что в вопросах релокации сотрудников «в первую очередь руководствуется бизнес-необходимостью»

По словам одного из них, сотрудники задали вопрос о релокации на общем собрании, состоявшемся через несколько дней после начала «спецоперации», и в ответ гендиректор компании Евгений Касперский сказал: «Если капитан остается на корабле, то команда должна оставаться на корабле независимо от погоды». Еще один бывший сотрудник «Касперского» подтвердил, что глава компании ответил так.

В «Лаборатории Касперского» работают 4000 сотрудников, офисы компании расположены в том числе в Дубае, Стамбуле, Лондоне, следует из информации на сайте компании.


Чувствуется гебешная закалка.
Re[9]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.08.22 12:16
Оценка:
Здравствуйте, Shmj, Вы писали:

S>>>Есть такая фишка — значение по умолчанию. Благодаря этому не нужно уточнять миллионы нюансов.

M>>Есть такая фишка, которая выясняется в процессе сдачи работы. Она заключается в том, что значения по умолчанию у сдающего и принимающего могут кардинально различаться

S>На пример что в обсуждаемой задаче?


Например, "скорость" работы "среднего" ПК
Маньяк Робокряк колесит по городу
Re[10]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Shmj Ниоткуда  
Дата: 30.08.22 12:58
Оценка:
Здравствуйте, Marty, Вы писали:

M>Например, "скорость" работы "среднего" ПК


Так решения от разных разработчиков будут сравниваться на одном и том же ПК. Так что разницы особой не будет. Все равно там будет несколько ядер а не одно, если речь о возможности параллелить. Или хотите захардкодить количество ядер?
Re[11]: Как бы вы делали эту задачу (переходим к конкретике)...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.08.22 13:13
Оценка:
Здравствуйте, Shmj, Вы писали:

M>>Например, "скорость" работы "среднего" ПК


S>Так решения от разных разработчиков будут сравниваться на одном и том же ПК. Так что разницы особой не будет. Все равно там будет несколько ядер а не одно, если речь о возможности параллелить. Или хотите захардкодить количество ядер?


Уже обнаружились и какие-то различные разработчики
Маньяк Робокряк колесит по городу
Re: Как бы вы делали эту задачу (переходим к конкретике)...
От: Gt_  
Дата: 30.08.22 13:36
Оценка:
ну нафлеймили. очевидно же что это задание на знание map-reduce парадигмы и про параллельность. совершенно типичная задача на позиции Data Engineering. правда обычно все же устно просят рассказать и бывает ждут что расскажут про многоблочное чтение (readFileScattered из winapi).
Re[11]: Как бы вы делали эту задачу (переходим к конкретике)...
От: DiPaolo Россия  
Дата: 30.08.22 13:43
Оценка:
S>Так решения от разных разработчиков будут сравниваться на одном и том же ПК. Так что разницы особой не будет. Все равно там будет несколько ядер а не одно, если речь о возможности параллелить. Или хотите захардкодить количество ядер?

Вот видите, уже вырисовывается другая задача: не просто реализовать, не реализовать "за приемлемое время", а выиграть конкурс по скорости.

Я опять-таки попробую снять сову с глобуса и вернуться к реальным задачам.

МГУ каждый год уже лет 20 проводит сравнение лучших в мире видео-кодеков (http://www.compression.ru/video/codec_comparison/index_en.html). Так вот, помимо постоянной круглогодичной оптимизации, за пару месяцев до отправки своего кодека команда начинает специально готовиться к этому: прогонять тесты, тюнить настройки, все перепроверять. А порой и за полгода начинает работает над ускорением. Не один человек, не два вечера. А, условно, пол-команды. Для того, чтобы быть быстрее по скорости-качеству.

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

Вот это все и лежит в плоскости сбора и определения требований.
Патриот здравого смысла
Re[3]: Как бы вы делали эту задачу (переходим к конкретике)...
От: DiPaolo Россия  
Дата: 30.08.22 13:47
Оценка:
S>Почему же единственное? А мне первое что пришло в голову — криптовалютные адреса и суммы поступлений на адрес. Сортируешь и быстро узнаешь баланс на любом запрашиваемом адресе. По размеру как раз будет несколько сотен гигабайт.

Вооооот... А если подойти с умом и сначала все узнать, то можно для оптимизации не держать все в строках вида '<number>. <string>', а придумать сразу, как более оптимально это хранить. Важен контекст. Важно не просто "отсортировать это", а выяснить, что за данные, откуда берутся, сколько их будет, как часто их надо сортировать. Это все и есть поиск. И может случиться так, что эффективнее будет в экселе это раз в квартал руками делать, чем отдавать вам на 2 месяца писать супер-пупер быстрый алгоритм в вакууме, чтобы потешить свое программерское самолюбие.

S>Уже писали вам — время критично. Сколько по времени отработает эта утилита на 100 Гб данных?


Да проверьте уже сами. Который день пишете о том, что надо проверить. Уже бы давно проверили, раз вас эта тема так не отпускает.
Патриот здравого смысла
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.