Бред

Ответить в тред Ответить в тред
Check this out!
Аноним 26/04/21 Пнд 21:03:22 2453149051
cpp icon.png 87Кб, 960x960
960x960
тестовое задание.png 157Кб, 739x740
739x740
Тестовое задание на РАБоту

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

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

Решение представить нужно на плюсах Может по ним тоже посоветуете как что реализовать.
Аноним 26/04/21 Пнд 21:10:09 2453154042
>>245314905 (OP)
Шли их нахуй с такими приколами и вкатывайся в шарп.
А вообще тут самое на мой взгляд сложное сделать построчное считывание файла.
Аноним 26/04/21 Пнд 21:15:33 2453157693
>>245315404
а логику всего этого?
понимаешь, мне кажется чтио мое решение будет каким-то примитивным аля узбек из деревни что приехал в Россию
ну вот, настолько примитивным, как у узбека который даже в склонение по роду не умеет
Аноним 26/04/21 Пнд 21:17:18 2453158814
Bump
Аноним 26/04/21 Пнд 21:17:47 2453159095
>>245315404
>А вообще тут самое на мой взгляд сложное сделать построчное считывание файла
getline(file, s)
Ахуеть как сложно, да?
Аноним 26/04/21 Пнд 21:20:06 2453160666
>>245315769
Логику чего? Ебашиш класс и все делаешь в нем.
>>245315909
>Ахуеть как сложно, да?
Разве там он предварительно не будет весь файл в память грузить, а потом оттуда линию вытаскивать?
Аноним 26/04/21 Пнд 21:21:43 2453161687
>>245314905 (OP)
просто же? в самом задании написано что нужно делать
Аноним 26/04/21 Пнд 21:22:00 2453161888
>>245315404
Двачую. Какие-то охуевшие мудаки дают задачу, с которой будешь неделю ебаться, пока оно заработает правильно. В качестве тестового, ага, а потом дадут зарплату баксов 500 и будут ездить по ушам "как же тебе повезло работать у нас". Пошли они нахуй.
На собеседовании не только работодатель проверяет тебя, но и ты работодателя. Учись сразу фильтровать долбоебов.
Аноним 26/04/21 Пнд 21:24:56 2453164049
Аноним 26/04/21 Пнд 21:25:04 24531641610
>>245314905 (OP)

Какое то изичевое задание. Я не вижу подьебов.


1. Делаем тип - пара адресов, который имеет тупо 2 поля и позволяет сравнивать их в рандомном порядке.
2. Вытаскиваем хидер пакета, делаем из него пару адресов.
3. Закидываем в лист уникального говна (я забыл как он в STL называется - я инвалид эмбеддер).
4. Так делаем со всем файлом.
5. Берем длинну листа уникального говна.

Где я проебался?
Аноним 26/04/21 Пнд 21:26:21 24531650611
>>245316188
какую нахуй неделю, тут за 2 - 3 часа делается
Аноним 26/04/21 Пнд 21:26:48 24531653112
>>245316066
Нет не будет. Там либо некий дефолтный буфер, либо тот, что ты установил.

Читать можно размерами типов.
Предварительно объявляешь структуру как описано у тебя в ТЗ.

1. Читаешь структуру из файла.
2. Скипаешь пейлоад.
3...
4. Профит.
Аноним 26/04/21 Пнд 21:27:15 24531655813
>>245316416
>Закидываем в лист уникального говна
OutOfMemoryException
Аноним 26/04/21 Пнд 21:27:37 24531658014
>>245316506
А вот и зелетуха из /pr у которой IDE с нуля за месяц пишется.
Аноним 26/04/21 Пнд 21:28:33 24531664115
>>245316404
а ну, кинь номер заданий под которым такие задачи постят

>>245316066
ну сортировки
выборки

Вообщем всего что можно заюзать. Я вообще ноль вот. Я трогал только язык программирования под свои маленькие идейки и хотелки. Там вот вообще не было сортировки и выборки элементов
Аноним 26/04/21 Пнд 21:28:46 24531665516
>>245316416
>Я не вижу подьебов.
А если подумать?
Аноним 26/04/21 Пнд 21:28:55 24531666517
>>245316558

Я бы не стал с этим ебаться, пока в ТЗ явно не сказали, что весь файл может из уникальных адресов состоять.

Аноним 26/04/21 Пнд 21:29:43 24531670518
>>245316641
Если не секрет - сколько они тебе ЗП обещают?
Аноним 26/04/21 Пнд 21:29:49 24531671319
>>245316416
Мэн дай контакты, временами заявляться с нубским вопросом
У нике карантин я хер до препода классного дойду
Аноним 26/04/21 Пнд 21:29:59 24531672320
>>245316641
Не помню, я в 2009м сдавал. Там в части C были похожие
Аноним 26/04/21 Пнд 21:30:39 24531676621
>>245316655
За бесплатно не думается. Лучше покажи где проеб.
Аноним 26/04/21 Пнд 21:31:04 24531679022
>>245316713
Не дам. Хуйни насоветую. Есть конфа С++ в телеге. @it_chats
Аноним 26/04/21 Пнд 21:31:20 24531680923
>>245316665
>Я бы не стал с этим ебаться, пока в ТЗ явно не сказали
А работать ты также собираешься?
Мы вам перезвоним.
Аноним 26/04/21 Пнд 21:32:02 24531686724
>>245316416
>1. Делаем тип - пара адресов, который имеет тупо 2 поля и позволяет сравнивать их в рандомном порядке.
>2. Вытаскиваем хидер пакета, делаем из него пару адресов.
>3. Закидываем в лист уникального говна (я забыл как он в STL называется - я инвалид эмбеддер).
>4. Так делаем со всем файлом.
>5. Берем длинну листа уникального говна.
Нафиг так сложно? В задании говорится об элементарном парсере.
>я инвалид эмбеддер
НУ да, сейчас каждый, кто пишет прошивки для стм32 считает себя "эмбедерром" лол.
Аноним 26/04/21 Пнд 21:32:11 24531687625
>>245316809
А это уже от размера ЗП зависит.
Аноним 26/04/21 Пнд 21:32:20 24531689326
>>245314905 (OP)
> 100 гб фаил
ахахаха, пидараха тупая. ФАЙЛЫ БОЛЬШЕ РАЗМЕРА ОПЕРАТИВКИ! ТЕБЕ ПИЗДА! АХАХАХА! ТОЛЬКО ВРАППЕР К ВИРТУАЛЬНОЙ ПАМЯТИ МАП ВЬЮ ОФ ФАИЛ ПИСАТЬ ЧАСА 4! АХАХА БЛЯДЬ! А ТЫ УТОЧНИЛ КАКАЯ ОС? НА ЛИНУКСЕ ЖЕ ММАП! И ПРОСТОЙ ФСТРИМ НЕ ПОКАТИТ! ЛИБО АПИ ВИНДЫ ЛИБО АПИ ЛИНУКСА!
Аноним 26/04/21 Пнд 21:32:43 24531692227
Построчно читай с офсетом то что существенно, сделай словарь с ключом %адресат;адресат% и клади в него количество бесед.
Аноним 26/04/21 Пнд 21:32:50 24531693628
>>245316705
>>245316188
ВЫ БЛЯТЬ ЕБЕТЕСЬ в глаза??????

>Напросился на стажировку бесплатную, дали задание

Я кайфую учиться практически НО не без базовой теории. И учась практически психологически проще, ты видишь как твои знания воплощаются в мелкие элементы которые работают и может быть даже используются
Аноним 26/04/21 Пнд 21:32:56 24531694229
Аноним 26/04/21 Пнд 21:33:27 24531698030
>>245316641
Задача на душное байтоебство. Небось, вакансия на ждуниор ембедед разработчика? Вкатывайся лучше в джаву, там платят больше и мозги не ебут хуйней.
Аноним 26/04/21 Пнд 21:33:44 24531699831
>>245315909
>getline
В задании сказано, что блоки располагаются последовательно, никаких строк там нет. Если только 0 рандомно не встретится в данных.>>245316066
>Ебашиш класс
кек
Аноним 26/04/21 Пнд 21:33:46 24531700232
Аноним 26/04/21 Пнд 21:34:13 24531704333
>>245316809
Да пусть перезванивают.

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

>>245316867
Че, написал прошивку под СТМ8 и дохуя гордый?
Самое забавное, что под СТМ по работе ни разу не пришлось писать. Каждый раз когда спрашивают, а че СТМ хотяб знаешь приходиться кхекать и мнямкать.
Аноним 26/04/21 Пнд 21:34:59 24531709634
>>245316893
> И ПРОСТОЙ ФСТРИМ НЕ ПОКАТИТ
Почему?
Для решения задачи достаточно одного прохода, знаем тебе мапить файл? Тебе нужен произвольный доступ к данным? Нет.
Аноним 26/04/21 Пнд 21:35:41 24531713835
>>245317043
> годы писать
Ты не умеешь в лаин кавередж и бранч кавередж? Ебать чмо.
мимо 5кк LOC C++ Lead
Аноним 26/04/21 Пнд 21:36:01 24531717036
>>245314905 (OP)
>Решить задачу красиво, не как быдло методом тыка
Ты че ебнутый?
Нахуя?
Въебываешь все в структуру или класс и вообще похуй. Ты кого там удивлять то собрался, девочка? Вы порнухой полной занимаетесь, в реальной жизни никто ебаться даже не будет, можете поверить мне. Ты че ардуину что ли ебешь, что так за ресурсы переживаешь? Бред какой-то.

>>245316506
Ага, по тз делается за 2 часа, по перерасчету ну часов 6, в реальности бы за часов 8 успеть, чтобы потом еще дня 3-4 отлаживать на похуй. Знаем, проходили.
Аноним 26/04/21 Пнд 21:36:49 24531723637
>>245317138
Сорян, не работаю на дядь мань. Разгребай там с ТИМОЙ парашу которую я насру стартапам и не вякай.
Аноним 26/04/21 Пнд 21:37:44 24531729738
>>245317043
>Я не буду кучу ебанутых пограничных кейзов обрабатывать, пока такое не будет в ТЗ.
>Таким образом можно годы писать говно и оно один хуй где-нибудь свалиться.
Ты наверное 15 лет как миддлом работаешь?
Аноним 26/04/21 Пнд 21:37:55 24531731239
Вроде ничего критичного,начни с этого: считывай файл поблочно/построчно/побайтно хз как он сгенерирован (посмотри сам) и ищи начало и конец пакета в итоге у тебя должно получиться колличество пакетов. Потом прикрутишь всё остальное
Аноним 26/04/21 Пнд 21:38:30 24531735040
>>245317297
Не я 3 года фейк-сеньйором работаю. Кроме шуток.
Аноним 26/04/21 Пнд 21:39:10 24531739341
>>245317297
А ты у нас фронтенд девелопер?
Аноним 26/04/21 Пнд 21:40:38 24531749842
>>245317096
fstream на 32 бит ограничен 4гб. На 64 бит 100500Пб. Тоесть не катит. Мапятся куски по 4Kб, а не весь фаил. Зависит от организации виртуальной памяти. Возвращается указатель и чекается каждый ++ по указателю. И если вышел из страницы виртуальной памяти, то брасается исключение и грузятся следующие 4Kб.
Аноним 26/04/21 Пнд 21:41:01 24531752543
>>245317393
Нет, я "инфраструктурщик" это типа бэкэнда, но я кажется превращаюсь в ф
Аноним 26/04/21 Пнд 21:41:23 24531755244
>>245314905 (OP)
Первая глава кормена /тред
Мимо гуманитарий с 9ю классами
Аноним 26/04/21 Пнд 21:41:40 24531756845
Аноним 26/04/21 Пнд 21:43:48 24531771046
>>245317498
>fstream на 32 бит ограничен 4гб
Сейчас не 2007, чтобы на 32 бита ориентироваться.
Я знаю как мапяться файловые проекции, это не влияет на тот факт, что достаточно тупо прочитать файл стандартными средствами.
Аноним 26/04/21 Пнд 21:43:54 24531771947
>>245317043
>Че, написал прошивку под СТМ8 и дохуя гордый?
Когда то давно писал прошивки, но не только под стм8, а и под несколько других семейств микриков.
>Самое забавное, что под СТМ по работе ни разу не пришлось писать. Каждый раз когда спрашивают, а че СТМ хотяб знаешь приходиться кхекать и мнямкать.
Мань, эмбед это линукс, микропроцессоры, плиски, нейросети и маш.об. А если ты считаешь написание говнокода для микриков в какой-то шаражке "эмбедом", то у меня для тебя плохие новости.
Аноним 26/04/21 Пнд 21:44:16 24531775048
>>245317710
>мапяться
Блять, не знаю откуда там взялся Ь
Аноним # OP 26/04/21 Пнд 21:44:40 24531777649
test.png 40Кб, 1281x522
1281x522
>>245317312
>>245316998
>>245316922

Оп на связи. Вот вид файла в notepad++

обнадежьте что достаточно будет построчного чтения без влазивания в то что написал этот >>245316893


>>245317170
Хотел донести, что я как 10 классник, который потрогал плюсы ардуино, починил несколько видюх обнаружив пробитый кондей
Вот знаний ноль вообще
Пришел сюда чтобы тыкнули на что почитать конкретно по решению задачи. Общее теоритическое поле знаний тоже буду качать постепенно
Аноним 26/04/21 Пнд 21:45:19 24531782450
>>245317710
Это можно было бы и уточнить. Или сделать за 2 часа "как есть". И спросить детали.
Аноним 26/04/21 Пнд 21:45:43 24531785551
>>245317719
Жирно.
Иди попердоль за борщ чего.
Большая часть задач - моргание каким говном. В сложном случае - НАДЕЖНОЕ моргание говном.

Нейросети лол. Пиздец. Такие вы ебанутые.
Аноним 26/04/21 Пнд 21:45:49 24531786352
>>245317719
>эмбед
>нейросети и маш.об
У зумеров уже питон стал ембедом
Аноним 26/04/21 Пнд 21:47:13 24531796953
>>245314905 (OP)
Твоя задача прочитать заголовок пакета чтобы найти его размер, прочитать пакет, (тут нужно проверить ключевые байты, но не понятно что делать, если они невалидны), вытащить 2 адреса, отсортировать их, положить в мапу из пар адресов и счётчика (или увеличить счётчик, если такая пара есть), сдвинуть голову файла на начало следующего пакета. Повторять так пока не дойдешь до конца файла. В конце распечатать размер мапы.

Мимо c++ джун за 50к в месяц.
Аноним 26/04/21 Пнд 21:48:06 24531802454
>>245317776
>достаточно будет построчного чтения
Где ты в задании строки увидел, болезный?
Аноним 26/04/21 Пнд 21:48:17 24531803455
>>245317863
Нет, там действительно есть сложные случаи и сорта алгоритмов, которые в широком смысле можно назвать нейросетями.
Но это настолько редкая хуета и столь зачастуя малая по объему от проекта, что можно не брать во внимание.

В фронтенде ты быстрее его найдешь.

Аноним # OP 26/04/21 Пнд 21:48:24 24531804256
>>245317969
мэн
дай контакты тебя подолбить вопросами
совсемь чуть чуть

Аноним 26/04/21 Пнд 21:49:49 24531812757
>>245317824
>Это можно было бы и уточнить
Ящитаю, надо уточнять, если видишь риск. Но в данном случае я вижу больший риск в том, что даже дикшнари пар адресов не влезет в оперативку. Хотя вряд ли авторы задачи сами предлагают такой случай, но если предполагают, непременно засчитают как минус.
Аноним 26/04/21 Пнд 21:49:54 24531813658
>>245317776
Так чел, в этом и прикол, что ебаться не нужно даже с изучениями тем.
Берешь и делаешь. Проблемы которые могут встретиться попутно решаешь. Все.

Ты же учишься, нахуя тебе здесь такие советы, тебе же не до конца жизни подсказывать будут.
мимо >>245317170
Аноним 26/04/21 Пнд 21:50:18 24531815359
>>245317969
Я бы тебя уволил нахуй за такое решение.
Аноним 26/04/21 Пнд 21:51:26 24531823660
Аноним 26/04/21 Пнд 21:51:41 24531826361
>>245318034
Блин, а я хотел всех забайтить типа я не знаю что движки нейросетей под капотом на плюсах или даже на сях пишут. Типа я такой лох, что думаю что матрицы видеокартами умножаются чисто силами питона
Аноним # OP 26/04/21 Пнд 21:52:08 24531828962
>>245318153
почему?

мимо ОП балбес ака будущий джун
Аноним 26/04/21 Пнд 21:52:26 24531830963
>>245318153
На тебя бы никто не работал, бгг.
Аноним 26/04/21 Пнд 21:52:35 24531832164
>>245318153
Но ты просто горбатая гора, вечно бубнящая за своем липком пука в углу офиса.
Аноним # OP 26/04/21 Пнд 21:53:17 24531837665
>>245318236
трэд так долго не проживет

дай тг
или мне напиши @cpp_balbes
Аноним 26/04/21 Пнд 21:53:41 24531840466
>>245318153
Что не так? Не сильно шарю в вашем байтоебстве, но сам бы так решил.
мимокрок
Аноним 26/04/21 Пнд 21:54:53 24531848967
>>245316936
А то есть за нихуя получается. Пусть нахуй пройдут с такими требованиями.
Аноним 26/04/21 Пнд 21:55:10 24531850868
>>245318153
Ты бы на лекции проснулся, обосравшись.
Аноним # OP 26/04/21 Пнд 21:55:55 24531858069
Аноним 26/04/21 Пнд 21:56:20 24531861170
Аноним 26/04/21 Пнд 21:56:31 24531862871
16170111565230.jpg 107Кб, 811x1145
811x1145
>>245316558
Так выходит сразу на диск сохранять надо эти пары? В какую-нибудь БД. Или чего..
Аноним 26/04/21 Пнд 21:57:09 24531867172
Bimp
Аноним # OP 26/04/21 Пнд 21:57:17 24531868273
test.png 40Кб, 1281x522
1281x522
как вынглядит файл в редакторе

Один анон хотел спрсоить за строки
но что это если не строки пустые между []«NULL
Аноним 26/04/21 Пнд 21:57:41 24531870574
>>245318153
На тебя бы никто не работал, лол. Ты думаешь что к тебе за 35к (а больше ты платить не станешь) придут сеньоры-помидоры с красивым кодом?
Аноним # OP 26/04/21 Пнд 21:59:00 24531880175
>>245318611
ну это мне кстати когда-то в универе рассказали про порядок байтов
Аноним 26/04/21 Пнд 21:59:54 24531885176
Аноним 26/04/21 Пнд 22:00:24 24531888777
>>245318628
Вот сам задумался. Сначала про sqlite, а потом, что вообще-то базы предпочитают, чтобы индексы помещались в память целиком. Так что надо ещё их документацию про такое требование почитать.
Аноним 26/04/21 Пнд 22:01:40 24531897478
Бля. Как у вас тут всё понятно. Вкачусь ка в погромирование из курьера еды
Аноним 26/04/21 Пнд 22:03:46 24531909779
>>245318376
У меня нет телеги. Тред проживет достаточно времени, которого мне не жалко.
Аноним 26/04/21 Пнд 22:04:09 24531912980
>>245318682
Это строки в данных пакета, тебе не надо их ситывать. Симолов окончания строки (\n, \r) между пакетами нет.
Аноним 26/04/21 Пнд 22:04:48 24531916681
Аноним 26/04/21 Пнд 22:05:45 24531923682
>>245318974
Ты точно хочешь ебать себе мозг каждый день?
Аноним 26/04/21 Пнд 22:06:31 24531929883
>>245319236
Ну не каждый же день такие задачи будут наверное
Аноним 26/04/21 Пнд 22:06:52 24531932384
>>245318404
Единственный косяк, который я у себя сам щас вижу - не нужно читать весь пакет, тут достаточно прочитать 40 байт, чтобы понять структуру всего пакета.
Аноним 26/04/21 Пнд 22:08:22 24531942885
test2.png 31Кб, 780x167
780x167
>>245319129
но есть перед содержанием блока и после обявления его длины
а в одном блоке один пакет

>Windows использует пару символов для завершения строки: возврат каретки (0x0d), за которым следует перевод строки (0x0a).
Вы можете записать их в C как '\r' и '\n' соответственно.
Аноним 26/04/21 Пнд 22:08:45 24531945786
Аноним 26/04/21 Пнд 22:08:49 24531946687
>>245318628
>>245318887

У тебя в worst case, будут данные размером в 20+гб =)

Там аноны мне не просто так про АутМемори сказали.

ОПа порядком так подъебали для стажерской задачи лол.
ИМХО делай в лоб, не задумываясь о том, что кончиться ОЗУ на адреса, т.к. иным путем там попадаешь на ультраеблю нехилого уровня.

Но можешь заметку про это написать.
Я хз, как подобное КРАСИВО разрешить, ну действительно, не БД же поднимать.
Аноним 26/04/21 Пнд 22:09:00 24531947788
>>245319236
Это был сарказм, если что. Нихуя не понимаю вас. Когда пытался в петухон вкатиться, не мог держать концентрации внимания более 5 минут на этом говне.
Аноним 26/04/21 Пнд 22:09:03 24531948189
>>245319323
>не нужно читать весь пакет, тут достаточно прочитать 40 байт
Но ведь читать последовательно может быть быстрее, чем сикать
Аноним 26/04/21 Пнд 22:09:13 24531949090
Аноним 26/04/21 Пнд 22:10:20 24531956791
>>245319298
Эта задача - тривиальна. Действительно, не каджый день тривиальные задачи попадаются. Чаще адское мозгоебство.
Аноним 26/04/21 Пнд 22:10:41 24531959392
>>245318682
Это двоичный файл, там строк нет. Тебе нужно сделать структуру, в которую помещается нужная инфа, потом в неё из файла читаешь, и идешь дальше. Главная задача составить эту структуру.
Аноним 26/04/21 Пнд 22:11:40 24531966693
>>245319466
>АутМемори сказали
Это я и сказал, подумавший про sqlite

А вот заметку и в самом деле написать надо, в которой указать, при каких условиях твоя программа работает корректно.
Аноним 26/04/21 Пнд 22:11:40 24531966794
>>245319457
Каждый раз по дереву поиска шариться и сравнивать значения каждого ключа? Ну-ну.
Аноним 26/04/21 Пнд 22:12:17 24531970495
>>245319481
Вряд ли. Операционная система не тупая и разложит все куски файла по кешам когда надо.
Аноним 26/04/21 Пнд 22:13:14 24531977796
>>245319567
>Эта задача - тривиальна
Всякая задача по своему тривиальна. Жизнь вообще тривиальная штука. Просто только копии родятся.
Аноним 26/04/21 Пнд 22:13:40 24531980997
>>245314905 (OP)
А за это точно платят больше чем за круды?
Аноним 26/04/21 Пнд 22:13:53 24531982498
>>245319667
Лучше чем считать зачем-то хэш (от двух лонгов), потом линейно бегать по бакету.
Аноним 26/04/21 Пнд 22:14:00 24531983399
>>245314905 (OP)
Притворись сишником и запили конечный автомат с состояниями.
Аноним 26/04/21 Пнд 22:14:40 245319869100
>>245318887
Есть программисты проблем-сольверы, они работают на результат, пользуясь широким арсеналом высокоуровненвых средств. В плюсах ты будешь пердолинг-мастером с узкой спецухой на ебаной галере.
Аноним 26/04/21 Пнд 22:14:40 245319870101
>>245319490
Блять, тебе же сказали, строк нет в твоем файле, забудь про них. Нахуя ты мне пасту про завершение строк в винде пихаешь?
Извини, анончик, за мат, но ведь иногда же надо слушать людей, особенно когда ты только вкатываешься?
Аноним 26/04/21 Пнд 22:15:22 245319913102
>>245319704
>Операционная система не тупая и
Но нужно проверить
Аноним 26/04/21 Пнд 22:15:41 245319938103
>>245319824
Если нормальную хэш функцию подберешь, то и бешать не особо часто будет. В любом случае, не вижу смысла спорить. Нравится тебе std::map - ради бога.
Аноним 26/04/21 Пнд 22:16:37 245319990104
>>245319833
Притворись Тьюрингом и напиши программу для его машины
Аноним 26/04/21 Пнд 22:16:47 245320000105
>>245319466
20 Гигов - хуйня (на деле будет меньше, кста), Виртуальная память пару раз файл подкачки почешет. Да можно замедло хватануть, но чтобы bad_alloc схватить этого не хватит.
Аноним 26/04/21 Пнд 22:17:31 245320050106
>>245319913
Сначала надо сделать, а не преждевременно оптимизировать.
Аноним 26/04/21 Пнд 22:17:51 245320066107
>>245319466
А можно програмно распилить файл и сравнить его куски отдельно?
Аноним 26/04/21 Пнд 22:18:20 245320096108
>>245318974
Главное к своей ЕОТ ночью в квартиру через окно потом не лезь.
Аноним 26/04/21 Пнд 22:18:46 245320121109
Аноним 26/04/21 Пнд 22:18:53 245320129110
>>245319869
>Есть программисты проблем-сольверы
Так я и есть, иначе откуда бы мне знать про sqlite и требование что индексы должны влезать в память.
Только меня так заебало это всё. Я хотел бы быть шаманом королём байтоёбом, но решил что не вывезу и пошёл по с#.
Аноним # OP 26/04/21 Пнд 22:19:30 245320161111
>>245319870
так писал потому что не осозна что файл двоичный, как написал один анон выше
открыл его в hex editore и увидел отсутсвие строк
Аноним 26/04/21 Пнд 22:20:13 245320200112
>>245320000
>Виртуальная память пару раз файл подкачки почешет.
Ой, а почему swap отключен?
Какой-такой контейнер? В смысле не виртуалка?
Аноним # OP 26/04/21 Пнд 22:21:17 245320283113
Аноним 26/04/21 Пнд 22:21:23 245320287114
>>245320050
>Сначала надо сделать, а не преждевременно оптимизировать
Вот поэтому и нехуй сикать, читай всё и не выёбывайся, Аллах своих разберёт.
Аноним 26/04/21 Пнд 22:21:40 245320300115
>>245320200
Ну давай еще на Z80 ебанем решение?
Аноним 26/04/21 Пнд 22:21:46 245320310116
>>245320121
И чем не красивое решение?
Аноним 26/04/21 Пнд 22:22:18 245320348117
Аноним 26/04/21 Пнд 22:23:28 245320431118
>>245320300
А давай! Чур ты первым ходишь
Аноним 26/04/21 Пнд 22:23:53 245320463119
image.png 1053Кб, 1000x750
1000x750
>>245320300
ТЗ придёт - обязательно бахнем.
Аноним 26/04/21 Пнд 22:24:32 245320502120
>>245320000
Хорошая мысль. Спасиб анон, я и забыл с своим пердолингом, что бывает СВОП.

>>245320066
Это конкретно вот эту проблему не решает никак. Если у тебя будет 100гб уникальных разговоров с 0 байт пейлоада, то ты хоть по байтам их разбей. У тебя будет ебическое число данных в которых тебе придется копаться.
Аноним 26/04/21 Пнд 22:24:34 245320505121
>>245320287
Блять, да оно все равно сикать пойдет тебе на лицо, бгг. Нахуя читать 65 536 байт, когда можно 40?
На самом деле, что бы ты там не крутил, винда так и так эти 64 кБайт прочтет, хоть 1 байт читай.
Аноним 26/04/21 Пнд 22:24:48 245320517122
Хуле вы думаете, что схоронение всех уникальных адресов даст аут оф мемори?
Аноним 26/04/21 Пнд 22:25:15 245320543123
>>245320463
>ТЗ придёт
Тз ждать - в джунах до седых мудей ходить. Так мне внучка соседки сказала, когда соску уронила.
Аноним # OP 26/04/21 Пнд 22:25:31 245320565124
>>245319466
анонче

а пишут вот про мап, не пойдет?

и один джун написал про
>сдвинуть голову файла на начало следующего

это типо можно читать файл с какого-то места не загружая его всего в память?
Аноним 26/04/21 Пнд 22:26:10 245320600125
>>245314905 (OP)
Оп, в твоем задании нет никаких совершенно подводных камней, оно рассчитано на то, знаешь ли ты синтаксис, умеешь ли ты внимательно читать, и хватит ли у тебя усидчивости на час работы.
Никаких алгоритмов для этого знать не надо, как написано - так и делай. В цикле проверяешь заголовоки блока, если заголовок норм - проверяешь заголовок пакета, если он тоже норм - то записываешь в словарь откуда и куда идет пакет и отступаешь нужное количество байт для того, чтобы на следующей итерации цикла проверить следующий блок.
С другой стороны, хуй знает насколько этично с их стороны вообще давать бесплатную "стажировку", и насколько этично с твоей стороны клянчить решение в б.
Аноним 26/04/21 Пнд 22:26:47 245320643126
>>245320505
>винда так и так эти 64 кБайт прочтет, хоть 1 байт читай.
Вот именно
Аноним 26/04/21 Пнд 22:27:57 245320728127
>>245320517
8 байт из 19 заголовочных - это 42%, то есть при нулевом пэйлоаде (худший случай) будет около 42Гб уников
Аноним 26/04/21 Пнд 22:28:00 245320731128
>>245314905 (OP)
Залей файл куда нибудь, пробну однострочником решить на питоне
Аноним 26/04/21 Пнд 22:28:03 245320734129
>>245320517
Ёбана спорнём я тебе нагенерирую такой файл? При условии, что у тебя 256 МБ Ram и нет времени на подкачку
Аноним 26/04/21 Пнд 22:28:10 245320741130
image.png 612Кб, 510x440
510x440
>>245320565
Успокойся. У тебя задание на стажера. Сделай в лоб, без обращения внимания на подкачки, 20гб и прочую шизу что тут насрали.

Просто почитай про это, пойми о чем говорят и почему, добавь это как комментарий.
Потому, что ты эти проблемы ты 100% сам не решишь.
Вряд ли от тебя этого ожидают, но во если подметишь - будет большой плюс.
Аноним 26/04/21 Пнд 22:29:22 245320828131
>>245320517
100 гигов = 100 000 000 000 байт
Минимальная валидная посылка 40 байт (пустая).
2 адреса - 8 байт.
Получается 20 Гбайт только на адреса. А еще счетчики, и структуры контейнера.
Аноним # OP 26/04/21 Пнд 22:29:24 245320831132
>>245320600
так эммм
а как иначе, я ведь не пролный листинг кода беру

узнаю про технологии, вот написали тут по маппинг
буду читать это.

Что скажешь про это, использовать в решении?

а еще условие, что файл может быть 100гб. Здесь пошли дебаты про программный распил файла, один джун написл по смещение головы файла я не понял что это значит

Аноним 26/04/21 Пнд 22:29:35 245320845133
>>245320600
>насколько этично с твоей стороны клянчить решение в б.
Для решения задачи трудоустройства все законные средства хороши
Аноним 26/04/21 Пнд 22:29:49 245320854134
>>245314905 (OP)
Ох уж эта байтоебля-байтоеблечка
как они от тебя хотят: нарисуй парсер фаила, нарисуй парсер эзернет пакета, нарисуй парсер ipv4 пакеа, обойди ими весь фаил, заполни сет уникальными парами айпи адресов

Как бы я это решал: tcpdump <хуйня из стаковерфлоу как вычленить src/dst> | awk <хуйня из стаковерфлоу как отсортировать айпи адреса> | sort -u | wc -l
Аноним 26/04/21 Пнд 22:30:54 245320927135
>>245320502
Ну так же они память хотя бы влезут, но я так понимаю это не проблема.
Аноним 26/04/21 Пнд 22:31:03 245320931136
>>245320741
>Сделай в лоб, без обращения внимания на подкачки, 20гб
Да, не важно, что там в задаче отдельно указано. Главное ведь суть.
И пусть у меня не будет конкурентов.
Аноним 26/04/21 Пнд 22:31:16 245320943137
Аноним 26/04/21 Пнд 22:31:25 245320958138
>>245320728
А, бля, неправильно посчитал
8 из 37, 21%, 21Гб
Аноним # OP 26/04/21 Пнд 22:31:37 245320967139

>>245317969
>сдвинуть голову файла на начало следующего пакета

Что это значит анон джун?

ОП хочет узнать что это значит, ПОМОГИТЕ пжл
Аноним 26/04/21 Пнд 22:31:59 245320994140
Тест
Аноним 26/04/21 Пнд 22:32:21 245321009141
Аноним # OP 26/04/21 Пнд 22:32:51 245321043142
Аноним 26/04/21 Пнд 22:32:54 245321049143
>>245317855
>Иди попердоль за борщ чего.
>Большая часть задач - моргание каким говном. В сложном случае - НАДЕЖНОЕ моргание говном.
Маня проецирует.
Иди дальше пердоль свои микрики в нии за борщ и считай это "эмбедедом".
Аноним 26/04/21 Пнд 22:33:00 245321054144
Аноним 26/04/21 Пнд 22:33:13 245321069145
>>245320927
Это исходные данные. Которые ты переведешь в некий список, охуевшего размера.
Его один хуй тебе надо где-то хранить, как то его ворочать и просматривать постоянно.

Разговор про это. Насколько ты исходные данные не разбей - полученные все равно будут огромные.
Аноним 26/04/21 Пнд 22:33:36 245321090146
>>245320283
Go очень мощная хуйня, но тебе нужен полный стэк чтобы решать задачи, то есть базы данных точно надо знать, сам го, библиотеки, чтобы ты реально могу решить бизнес задачу, а не пердолился с байтами, весь этот пердолинг давно выненесен в готовые высокоуровневые функции, тебе надо просто грамотно применять всё это. А все эти задачи с хакерранк можешь тупо решать на досуге, если есть желание.
Аноним 26/04/21 Пнд 22:33:36 245321093147
>>245317863
Что не так? На микро-пк вроде малинки питон и все к нему прилагаемое идет.
Аноним 26/04/21 Пнд 22:34:17 245321139148
>>245321049
>сам такой
Ну ок.

>пердоль свои микрики
Мне нравиться. Буду дальше пердолить.
Аноним 26/04/21 Пнд 22:34:38 245321161149
>>245318705
>Ты думаешь что к тебе за 35к (а больше ты платить не станешь) придут сеньоры-помидоры с красивым кодом?
Да.
Аноним 26/04/21 Пнд 22:34:58 245321182150
15814618993660.jpg 38Кб, 311x315
311x315
>>245320828
А кто сказал, что всё обязателно хранить именно в оперативной памяти?
Аноним 26/04/21 Пнд 22:35:19 245321210151
>>245320600
Анон, как бы справился с условием что файл может быть огромным?
Аноним 26/04/21 Пнд 22:35:56 245321251152
>>245321182
Потому, что хранение не в ОЗУ, усложняет задачу несколько раз и добавляет кучу подводных.

Аноним 26/04/21 Пнд 22:36:47 245321322153
>>245321093
>микро-пк
С какого минимального размера пк программист считается ембеддером?
Я вот для смартфона код писал, хз может 6 дюймов. Я ембеддер?
Аноним 26/04/21 Пнд 22:37:00 245321334154
>>245320967
Представь что твой файл - это лента. По ней ты можешь читать считывающей головкой. Голова файла - то место которое ты собираешься читать. Его можно двигать, например в произвольную точку по адресу, либо на какое-то количество байт вперед-назад.
Аноним 26/04/21 Пнд 22:37:21 245321369155
>>245321322
Эмбеддер пенисов в своем очке
Аноним 26/04/21 Пнд 22:37:26 245321375156
>>245320831
Ну камон, тебе не рассказывали (и ты ни разу сам не слышал) про словари что ли? Их и надо использовать.
>>245320845
Трудоустройство - это когда тебе платят за труд, а ОП устраивается в какой-то анальный цирк клоуном.
>>245320828
Адреса могут (и подразумевается что будут вернуть) совпадать, иначе задачку не решить в принципе (ей надо будет вернуть структуру, которая не помещается в памяти просто). Я так понял, подразумевается что не надо загружать файл в память целиком, а надо читать по одному блоку, вот и всё. Хотя если бы мне на интервью соискатель уточнил бы этот момент, то я бы это хорошо оценил.
Аноним 26/04/21 Пнд 22:37:48 245321400157
Аноним 26/04/21 Пнд 22:38:29 245321448158
>>245321182
>оперативной памяти
Какой ещё оперативной? У меня только лента.
мимо-Тьюринг
Аноним 26/04/21 Пнд 22:38:30 245321450159
>>245314905 (OP)
> заведомо не помещающихся в оперативную память
Аноним 26/04/21 Пнд 22:39:02 245321486160
>>245321210
Так же как и любой свич, который эти 100 Гигов порнухи передает у тебя каждый день на лету.
Аноним 26/04/21 Пнд 22:39:18 245321511161
>>245321251
> заведомо не помещающихся в оперативную память
Аноним 26/04/21 Пнд 22:39:40 245321529162
>>245321450
Что мешает отпарсить файл, хранящийся на харде?
Аноним 26/04/21 Пнд 22:40:08 245321565163
tipichnyy-shkol[...].jpeg 46Кб, 720x610
720x610
>>245321334
>Читать головкой по ленте
Аноним 26/04/21 Пнд 22:40:12 245321573164
>>245321043
Кароче. Открывай файл через fopen(), читай байты заголовков через fread(), перескакивай через данные пакеты (или через пакеты, которые тебе нужно игнорить) через fseek(). В конце не забудь закрыть файл через fclose(). Документацию этих функций смотри на www.cplusplus.com. Всё.

Единственное, могуть приебаться, что fopen/fread/fseek/fclose - это C API, не С++, а в С++ надо файлы читать через потоки. В этом случае отвечаешь им, что ебал ты их всех во все щели вместе с их потоками и съябывай оттуда нахуй.
Аноним 26/04/21 Пнд 22:40:23 245321582165
>>245321210
В реальности просто бы захуярил хешсет на пару src/dst адресов. Если бы не взлетело - прикрутил какой-нить sqlite для того чтоб складировать их туда.
Аноним 26/04/21 Пнд 22:40:24 245321585166
>>245321375
>Адреса могут (и подразумевается что будут вернуть) совпадать
не додумывай
Аноним 26/04/21 Пнд 22:40:37 245321604167
>>245321369
Спасибо, что представился. А теперь ответь на вопросы.
Аноним 26/04/21 Пнд 22:40:38 245321605168
>>245321069
Не понимаю, в чём проблема?
Аноним 26/04/21 Пнд 22:40:49 245321619169
>>245321375
Могут. А можно сказать, мы вам дали файл с уникальными, у вас пограмма не работает мывамперезвоним.

А подразумевается на самом деле то - хочет ли собеседующий анона или нет.
Т.к. если он не душный сишник с двачей, он либо проебался с ТЗ, либо решил что ОП не обратит внимания и хуй сним.

То, что ОПу надо просто в лоб решить и забить хуй - уже сказали в самом начале треда.
Аноним 26/04/21 Пнд 22:41:00 245321630170
Аноним 26/04/21 Пнд 22:41:55 245321699171
>>245321511
Как вы заебали. Разговор не про исходный файл блядь, а про промежуточные данные.

Можно вообще до шизы дойти - по ТЗ даже файл в 1 ГБ не помещается в озу. ЕБИТЕЗЬ!11
Аноним 26/04/21 Пнд 22:42:46 245321757172
>>245321486
>Так же как и любой свич
У тебя в свиче сколько тысяч портов для кабелей?
Аноним 26/04/21 Пнд 22:43:25 245321803173
Аноним 26/04/21 Пнд 22:43:25 245321806174
>>245321699
> ТЗ
> задача на системное программирование
ВОДОПАДОДЕБИЛЫ ИДИТЕ НАХУЙ! У НАС СКРАМ! У НАС ЛЕСС!
Аноним 26/04/21 Пнд 22:44:37 245321880175
>>245321582
> адресов. Если бы не взлетело -
В нашем полку прибыло
Аноним 26/04/21 Пнд 22:45:28 245321931176
>>245321251
Да не особо, никто же не предлагает свой редис с нуля пилить.
Аноним 26/04/21 Пнд 22:45:41 245321955177
>>245321322
>С какого минимального размера пк программист считается ембеддером?
Эмбед все, что кроме телефона и пк, которым пользуется юзверь. При этом никто не мешает встроить куда нибудь полноценный системный блок от пекари, это тоже будет эмбед.
>Я вот для смартфона код писал, хз может 6 дюймов. Я ембеддер?
Нет, ты мобильный разработчик.
Аноним 26/04/21 Пнд 22:46:59 245322048178
>>245321931
>никто же не предлагает свой редис с нуля пилить.
Вчера был тред, где оп хотел дома растить редис с нуля
Аноним 26/04/21 Пнд 22:47:12 245322064179
>>245321619
Если захотят выебываться - то будут выёбываться в любом случае, но тут очевидно что проебались в формулировке задачи.
>>245321585
Ты же понимаешь, что невозможно вернуть структуру (кстати сама структура тоже не определено, но подразумевается словарь), которая теоретически имеет не ограниченный размер.
Аноним 26/04/21 Пнд 22:48:14 245322124180
Аноним 26/04/21 Пнд 22:48:18 245322129181
>>245321955
>При этом никто не мешает встроить куда нибудь полноценный системный блок от пекари, это тоже будет эмбед.
Так я ещё и для серверов пишу, сервисы там работают.
Серверы не для конечного пользователя.
Я всё6 ембеддер?
Аноним 26/04/21 Пнд 22:49:03 245322178182
>>245322124
А в задаче уникальных ойпи может быть много.
Аноним 26/04/21 Пнд 22:49:44 245322220183
>>245319869
>>245321090
Я хуй знает как можно на бизнес работать, это себя не уважать. Столько говна я в жизни не ел.
Аноним 26/04/21 Пнд 22:50:01 245322247184
>>245322064
А у тебя конечное количество возможных пар: 2^64
Аноним 26/04/21 Пнд 22:50:07 245322254185
>>245322064
>Ты же понимаешь, что невозможно вернуть структуру (кстати сама структура тоже не определено, но подразумевается словарь), которая теоретически имеет не ограниченный размер.
Если это api, то можно вернуть стрим, в котором очень большие данные
Аноним 26/04/21 Пнд 22:51:04 245322299186
>>245322178
Что мне мешает связаться со 20 000 0000 000 айпишниками через nmap какой-нибудь? Свич у меня историю хранит, например.
Аноним 26/04/21 Пнд 22:52:59 245322422187
>>245322299
>Что мне мешает связаться со 20 000 0000 000 айпишниками через nmap какой-нибудь? Свич у меня историю хранит, например.
Я не понял, ты доказываешь, что у твоего свича бесконечный объём памяти или что?
Сколько истории он хранит? Какие данные входят в историю?
Аноним 26/04/21 Пнд 22:53:51 245322476188
>>245322178
А мне похуй. Сделаю на крестах ПЬЮР ВИРТУАЛ класс который умеет складировать пары адресов и считать количество уникальных. Имплементирую через анордеред сет, сверху настругаю коммент про то, что можно имплементировать это с помощью базы данных, но мне лень.

Если это не кресты, а Си - то же самое, но только через указатели на функции.
Аноним 26/04/21 Пнд 22:56:45 245322679189
>>245322247
Если отдавать только количество пакетов одного разговора беззнаковым целым (батюшки свет, мы только что ограничили количество пакетов для каждого разговора! В задаче не указано это, надо учесть длинную арифметику!), то всей компьютерной техники Земли не хватит, чтобы хранить вывод этой функции.
Аноним 26/04/21 Пнд 22:57:00 245322697190
>>245322476
>А мне похуй, мне лень.
Мм, ясно. К сожалению мы не можем предложить вам дальнейшее сотрудничество.
Аноним 26/04/21 Пнд 22:58:28 245322787191
>>245322679
>мы только что ограничили количество пакетов для каждого разговора
ТЫ ВООБЩЕ НОРМАЛЬНЫЙ?
Аноним 26/04/21 Пнд 22:58:44 245322804192
>>245322697
И слава богу. Такая мозгоебля в продакшене то не всегда нужна, а тут тестовое на ебанного джуна.
Аноним 26/04/21 Пнд 22:59:54 245322884193
>>245322804
>Такая мозгоебля на ебанного джуна.
Ох, оказалось он ещё и токсичный, хорошо что его не взяли
Аноним 26/04/21 Пнд 23:00:07 245322895194
>>245322697
Вот это потеря! А как же приятный и молодой коллектив? Как же интересные проекты? Получается, у меня теперь не будет доступа к печенькам на кухне?
Ах я совсем забыл! У меня же референц от Николай-Николаича, вот его рекомендательное письмо.
Аноним 26/04/21 Пнд 23:01:09 245322949195
>>245315404
Ох лол, ты серьёзно? Или это какой-то прикол?
>>245316188
Это делается за пару часов, потом ещё пара часов на отладку
Аноним 26/04/21 Пнд 23:01:28 245322971196
бамп
Аноним 26/04/21 Пнд 23:01:44 245322990197
Объясните мимокроку как узнать количество байт равное длине блока?
Аноним 26/04/21 Пнд 23:02:36 245323043198
>>245322895
>Получается, у меня теперь не будет доступа к печенькам на кухне?
И к спортзалу
А ещё ДМС
И курсов повышения квалификации
>У меня же референц от Николай-Николаича, вот его рекомендательное письмо.
Так с этого и надо было начинать. Пойдёте к нам менеджером?
Аноним 26/04/21 Пнд 23:02:58 245323068199
image.png 168Кб, 708x717
708x717
Аноним 26/04/21 Пнд 23:04:05 245323142200
>>245322476
>ВИРТУАЛ
Зачем? Виртуал нужен, когда у тебя рантайм полиморфизм. В этой задаче его вроде не надо. Опять же оверхед от вызова виртуальных функций (да если вызов функций через указатели) - ха это ни один опытный программист тебе спасибо не скажет.
Аноним 26/04/21 Пнд 23:05:03 245323206201
Аноним 26/04/21 Пнд 23:08:32 245323412202
>>245314905 (OP)
>Как посоветуешь решить?
1. Ну во-первых тебе нужен парсер. Это достаточно очевидно и просто, тебе надо будет вытащить dst и src из каждого пакета
2. Тебе надо захуярить хештейбл, у которого ключем будут две пары адресов - если у пакета dst и src, не важно в каком порядке, принадлежат этой паре - кладешь пакет в этот бин. Получается N пакетов ты ебанешь за O ( N ) с некоторой амортизацией на рехеш (но ты можешь быть умным и избежать этого, но это черезчур для джуна).
3. Хуяришь что-то типа map-reduce разметки для данных и запускаешь молотить std::thread::hardware_concurrency тредов, каждый собирает свою хеш мапу с пакетами.
4. Сливаешь результаты всех тредов, складывая сливая все хешмапы в одну.

Я бы делал как-то так.
Аноним 26/04/21 Пнд 23:13:03 245323685203
>>245323412
> Хуяришь что-то типа map-reduce разметки для данных и запускаешь молотить std::thread::hardware_concurrency тредов, каждый собирает свою хеш мапу с пакетами.
Учитывая, что позиция в файле i-того блока известна только после обработки i-1-ого, мап-редьюс тут охуенно поможет, конечно же.
Аноним 26/04/21 Пнд 23:13:48 245323734204
>>245314905 (OP)
Хорошая задачка.
Определяешь структуры для разбора пакетов. Разбор тупо делаешь через преобразование куска байтов к сутрктуре, но помни про POD паддинг и выравнивание. Сперва тебе надо нарезать входящий поток на фреймы, разобрать, потом найти получателя и отправителя, потом закинуть их в мапу (дерево поиска для 1ГБ будет полезно) с счётчиком и структурой из получателя и отправителя (переопределить оператор < не забудь). Конечно надо всё в конвеер превратить и сделать многопоточным.
В идеале mmap поюзать конечно же.
Аноним 26/04/21 Пнд 23:15:03 245323811205
>>245323412
>3. Хуяришь что-то типа map-reduce разметки для данных и запускаешь молотить std::thread::hardware_concurrency тредов, каждый собирает свою хеш мапу с пакетами
voobsche_ohuet.jpg
Аноним 26/04/21 Пнд 23:15:20 245323827206
>>245323685
>5D5B
У тебя коды синхронизации для кого вхуярены, дядь?
Аноним 26/04/21 Пнд 23:16:29 245323897207
>>245319938
Те ебанат, по моему, хэш в любом случае на порядки сложнее операции, блять, сравнения. Одной, если два uint32 на amd64 архитектуре сравнивать. Я не совсем понял как хешмап тебе поможет не ьегать каждый раз ПО ЁБАНОМУ СВЯЗАННОМУ СПИСКУ, БЛЯТЬ, С КЭШМИСАМИ. На мой вкус и мап тут не необходим. Я бы замутил структуру и аллочил бы массивы этих структур, кусками по 4к. Но я сишник, схемотехник вообще.
мимо ахуел как из простой задачи делают сложности
Аноним 26/04/21 Пнд 23:16:57 245323926208
>>245323412
Какие потоки, ебаклак? У тебя узким местом будет fstream и положение в файле. Все потоки тупа будут ждать мютекс на чтение. Лол кекв.
Аноним 26/04/21 Пнд 23:17:33 245323968209
>>245323827
Ты имеешь ввиду те байты, которые могут (и будут) встречаться в содержимом пакета? Для того, чтобы убедиться (с некоторой степенью), что ты вычислил оффсет следующего блока корректно и не более.
Аноним 26/04/21 Пнд 23:18:05 245323994210
>>245323827
>коды синхронизации
Внутри данных то >>245323827
Ты ёбнутый, я не пойму?
Аноним 26/04/21 Пнд 23:18:42 245324033211
>>245323142
Начался байкшеддинг. Я тебе про то и говорю - что эта хуерга вообще не нужна и простого анордеред сета хватит в 99.9% случаев.
Аноним 26/04/21 Пнд 23:19:38 245324093212
>>245323968
>Для того, чтобы убедиться (с некоторой степенью)
С абсолютной степенью вероятности, т.к. дальше у меня идет размер пакета со смещением на который должен (если ты не проебался и это не середина данных) еще один блок синхронизации. Число проверок при входе можешь сделать любым (обычно используют 3), но это нихуя не обязательно, т.к. в нормальных пакетных протоколах примитивы синхронизации исключаются из пейлоада с помощью кодов расширения.
Аноним 26/04/21 Пнд 23:20:46 245324168213
>>245323734
Алсо, забыл сказать что всё должно быть zero-copy, т.е. работаешь с буфером который считал из файла. Считываешь файл в буфер 100мб, например, потом скармливаешь в парсер, парсер возвращает набор структур размещённых на той же памяти что и буфер и это уходит в твою считалочку. Конечно, можно подумать про кэш миссы, переключение поток и т.п., но пох наверное.
Алсо, буфером может быть больше чем 1 на 100 мб.
Аноним 26/04/21 Пнд 23:21:19 245324207214
Аноним 26/04/21 Пнд 23:21:43 245324236215
image.png 805Кб, 800x450
800x450
>>245323926
>мютекс на чтение
Как же я проиграл.


НАХУЙ
ИЗ
ПРОФЕСИИ

БЫСТРО. РЕШИТЕЛЬНО.
Аноним 26/04/21 Пнд 23:21:55 245324255216
Вобще охуеваю с йоба-программистов ИТТ. Потоки, mmap... задачу дали джуну, йопте, ДЖУНУ, который только вкатывается. Решается одним циклом. Похуй, что медленно, простое решение - самое лучшее. Если бы мне студентик без опыта работы решил бы такое с потоками, я б честно засомневался, не "помог" ли ему кто.

>>245323734
>преобразование куска байтов к сутрктуре, но помни про POD паддинг и выравнивание
Чет это ссыкотно. Вряд ли угадаешь паддинг, особенно если прогу компилить под разные архитектуры, особенно если кто-нить ушлый будет компилить программу с ключом компилятора, который поменяет порядок полей в структуре. Вроде как и про endianness надо бы не забывать.
Аноним 26/04/21 Пнд 23:23:07 245324322217
>>245324093
> в нормальных пакетных протоколах примитивы синхронизации исключаются из пейлоада с помощью кодов расширения.
Интересно, не знал про это хуйню. Но это не отменяет конечно же того, что нельзя размечать данные в слепую по идентификатору блока, надеясь что разработчики конкретного формата файла как-то позаботились об этом.
Аноним 26/04/21 Пнд 23:23:11 245324329218
>>245324255
>Вобще охуеваю с йоба-программистов ИТТ. Потоки, mmap... задачу дали джуну, йопте, ДЖУНУ, который только вкатывается. Решается одним циклом.
Это стандартная задача, которую дают дохуя где. Она даже есть на SO в немного измененном виде

Первый вопрос после выполнения "в лоб" - как ее улучшить?
Аноним 26/04/21 Пнд 23:24:27 245324406219
>>245324255
> задачу дали джуну
Вообще-то нет, её дали кандидату на бесплатные стажеры.
Аноним 26/04/21 Пнд 23:24:35 245324418220
>>245322247
Кекус максумис, тогда смело аллоч 8*2^64 байт, проблема решена!
проблем-солюшын программист отряхнул руки, запахнул плащ, и пафосно вышел из треда
Аноним 26/04/21 Пнд 23:24:41 245324425221
>>245324322
>Но это не отменяет конечно же того, что нельзя размечать данные в слепую по идентификатору блока
Можно и нужно, это именно так и работает. Но реально даже если кто-то проебался, ты просто проверяешь до нужной процентили надежности схождение пакетов по размерам пакетов и синхронизационным кодам. Они туда, ВНЕЗАПНО, добавлены не для того чтобы двачеров заебать.
Аноним 26/04/21 Пнд 23:24:51 245324437222
>>245324329
>Первый вопрос после выполнения "в лоб" - как ее улучшить?
проверить на читаемость кода и не трогать. Пуктимизаторы щас тут напуктимизируют до того, что оно вообще компилироваться не будет.
Аноним 26/04/21 Пнд 23:25:56 245324510223
Аноним 26/04/21 Пнд 23:26:10 245324524224
>>245324236
Я НА ПОСИКСАХ ТАКОЕ ПИШУ В ВИМЕ ЗА 15 НАНОСЕК! СОСИ ХУЙ!
Аноним 26/04/21 Пнд 23:26:14 245324527225
>>245322299
Например тот факт что их всего ~4 500 000 000, в ipv4
Аноним 26/04/21 Пнд 23:26:34 245324545226
>>245323897
Хуя ты бомбанул.

> Я бы замутил структуру и аллочил бы массивы этих структур, кусками по 4к.
> мимо ахуел как из простой задачи делают сложности
яснопонятно
Аноним 26/04/21 Пнд 23:27:04 245324580227
>>245324255
>Вряд ли угадаешь паддинг
Я такое на олдовом проекте QIK видел. Так они парсили всё. Паддинг можно через прагмы настроить или опции компилятора, но я сильно сомневаюсь что там будет что-то отличное от гсс или cl. В любом случае, это самая быстрая реализация из удобных. В ином случае, надо дрочить байты руками, накладывать маски, писать считать офсеты. Возможно, последнее от тебя и ждут, т.к. первое может не всем понравится.
Аноним 26/04/21 Пнд 23:27:06 245324584228
>>245324255
Меня попросили отжаться на собеседовании... меня ДЖУНА!
Аноним 26/04/21 Пнд 23:27:52 245324636229
>>245323897
>Я бы замутил структуру и аллочил бы массивы этих структур
Ебать, откуда вы вообще нахуй лезете? Что ты собралось аллоцировать в задаче на подсчет?
Аноним 26/04/21 Пнд 23:28:38 245324677230
>>245324418
Я лет пять назад работал в одной прогнившей конторе, которая как рах подобной хуйней занималась. Местный инженер не смог выделить 2^64 байт памяти. Умелец не унывал: он просто поксорил dst и src и выделил 2^32 байт памяти. Иногда это даже работало.
Аноним 26/04/21 Пнд 23:28:48 245324686231
>>245314905 (OP)
Тут подвох если только на то, что все пары src-dst в память не влезут. Если предположить что не влезают, то тебе нужно отобразить входной файл в промежуточный где лежат пары <min(src, dst), max(src, dst)>. Потом этот файл нужно обработать любым алгоритмом внешней сортировки (mergesort или radixsort первое что на ум приходит). И уже по сорченному выводить ответ.

Но вообще для бесплатной "стажировки" такие подвохи чето слишком жесткие, чувак который сходу такой подьеб видит в задаче на бесплатную стажировку не пойдёт.
Аноним 26/04/21 Пнд 23:29:00 245324697232
>>245324168
Забыл вот ещё что, НИКАКИХ new/delete и сырых указателей, только vector, std::unique_ptr.
Аноним 26/04/21 Пнд 23:29:03 245324704233
>>245324329
>Первый вопрос после выполнения "в лоб" - как ее улучшить?
Скажут улучшить - будешь улучшать. Наворачивать потоки с мутексами и прочей йобой на элементарную задачку на собесеовании для стажера - это такое.
Аноним 26/04/21 Пнд 23:29:04 245324705234
>>245324527
>ipv4
Здарова, дед, картошку посадил уже?
Аноним 26/04/21 Пнд 23:29:39 245324743235
>>245324704
Тут нечего наворачивать, это в современных крестах делается в 5 строчек.
Аноним 26/04/21 Пнд 23:29:39 245324744236
>>245314905 (OP)
Так, оп, а скинуть самих тестовых данных можешь?
Аноним 26/04/21 Пнд 23:29:42 245324747237
С В О П
В
О
П
Аноним 26/04/21 Пнд 23:29:48 245324758238
>>245324510
И я вам тоже не перезвоню.
Аноним 26/04/21 Пнд 23:30:35 245324811239
>>245324584
Надеюсь, послал их нахуй после такой просьбы?
Аноним 26/04/21 Пнд 23:31:05 245324850240
>>245324743
И тут же утыкается в проблемы, которые тут в треде обсуждают: n+1 пакет можно начать парсить только после парсинга n-ого.
Аноним 26/04/21 Пнд 23:31:58 245324900241
лол додики какая многопоточность, это говно в реале будет в диск упираться алло
Аноним 26/04/21 Пнд 23:32:45 245324954242
>>245324850
Это еще с чего вдруг?

Тред после первых пяти шизоидных комментов от соракалетних джунов не читал.
Аноним 26/04/21 Пнд 23:33:11 245324976243
>>245314905 (OP)
Пиздец, как же хорошо что я работаю вед макакой за 300к и вся моя работа заключается в двиганте тасков в джире по 3 часа в день
Аноним 26/04/21 Пнд 23:33:55 245325025244
>>245324580
>QIK
Че за QIK? Не тот, который Skype QIK? Если ты щас мне скажешь, что ты в Зеленограде лет 10 назад работал, а потом в США съебнул я прям охуею... Не знал, что ты на двачах сидишь.
Аноним 26/04/21 Пнд 23:34:01 245325032245
>>245324705
Вам бы не помешало научиться читать задания, молодой человек.
мимо дед
Аноним 26/04/21 Пнд 23:35:28 245325114246
>>245324697
>std::unique_ptr
Ну а это-то здесь нахуа?
Аноним 26/04/21 Пнд 23:35:28 245325115247
>>245324954
размер пейлода пакета хранится в хедере. хедер следующего пакета идет после пейлода первого
Аноним 26/04/21 Пнд 23:35:39 245325123248
>>245324255
>Вроде как и про endianness надо бы не забывать.
У тебя в задаче про это не говорят, значит байты читаются из файла как написано в спеке, т.е. не думай про эндианесс. Если есть тестовый файл, то просто в хекс эдиторе посмотри как там всё лежит и пойми какой там эдианес.
Аноним 26/04/21 Пнд 23:35:52 245325131249
>>245314905 (OP)
> нефиксированный размер пакета
> файлы 1-100Гб
> сопоставить по таким-то полям
Блядь, это пиздец. Тебя выебали в жопу. На проде это целый эпик на 3-4 месяца работы. И да, тебе нужен тут SQLite, как минимум. Читать тебе некуда же. Оперативки не хватит.
Аноним 26/04/21 Пнд 23:35:56 245325134250
16156540700820 [...].png 189Кб, 604x454
604x454
>>245314905 (OP)

Решил задачу в уме. Лоллирую с дебилов в треде.
Аноним 26/04/21 Пнд 23:36:07 245325152251
>>245325114
чтоб можно было std::move написать где-то в коде.
Аноним 26/04/21 Пнд 23:36:52 245325188252
>>245325115
Сканишь рандомную из рандомной точки до кода 5b5d, читаешь размер, читаешь 5b5d через размер, повторяешь пока не заебет. Проблемс?
Аноним 26/04/21 Пнд 23:36:58 245325198253
>>245324743
Ога, еще накатай йоба темплейт с последними модными паттернами метапрограммирования, чтобы уместить в 3 строчки.
Аноним 26/04/21 Пнд 23:37:21 245325214254
>>245324Намекни где плз, я тоже уник кончаю. Мне бы к вам
Аноним 26/04/21 Пнд 23:37:33 245325230255
>>245325131
день работы вчерновую. Три дня на белую. Ты писюн там дрочить 4 месяца собрался?
Аноним 26/04/21 Пнд 23:38:34 245325297256
>>245325188
Ты исходишь из предпосылки, что 5b5d как-то экранируется в пейлоде, но это не определено.
Аноним 26/04/21 Пнд 23:39:09 245325331257
>>245325032
То есть через полгода, когда надо будет включить поддержку 6 придется нового стажёра на собеседование звать?
Аноним 26/04/21 Пнд 23:39:17 245325340258
>>245325025
>Skype QIK
Тот самый. Мне кажется я знаю про кого ты говоришь, чувак с фамилией на Ч. вроде, но я не он.
Аноним 26/04/21 Пнд 23:39:40 245325364259
>>245325152
>где-то в коде
Где? Нахуя std::move? В этом весь С++. Навернут каких-то умных указателей с move semantics, когда можно просто одним raw указателем обойтись.
Аноним 26/04/21 Пнд 23:39:49 245325372260
>>245325297
Ало блять, у тебя размеры указаны между синккодов, ты можешь по ним навигироваться. Пиздец блять, это настолько сложно понять?
Аноним 26/04/21 Пнд 23:40:15 245325392261
>>245325114
почитай саттера или майерса.
Аноним 26/04/21 Пнд 23:40:24 245325402262
>>245325188
я пишу тебе посреди пейлода 5b5d и ты жидко обсираешься
Аноним 26/04/21 Пнд 23:41:08 245325441263
>>245325340
Блять охуеть. Тот самый. Мир тесен. :)
Аноним 26/04/21 Пнд 23:41:21 245325452264
>>245325364
Где захотят там и вставят.
Аноним 26/04/21 Пнд 23:41:41 245325472265
>>245325402
Окей, я пишу тебе 5b5d в начале валидного файла и ты серишь на лекции.
Аноним 26/04/21 Пнд 23:41:47 245325475266
>>245325372
У тебя такая же структура может быть в пейлоде, у которой после 5б5д - размер, после этого размера - опять 5б5д. Нельзя случайно искать это значение, эта задача - DAG.
Аноним 26/04/21 Пнд 23:42:17 245325509267
>>245325392
Нахуя мне их читать? Все что надо, я уних прочитал. Ты мне простым языком скажи, где ты в плевой задачке для джуна собрался всю эту йобу использовать?
Аноним 26/04/21 Пнд 23:43:39 245325584268
>>245325475
>У тебя такая же структура может быть в пейлоде
Окей, тогда ты не можешь вообще читать пакетные файлы, если в них есть паддинги, у тебя ж рекурсивный самовоспроизводящийся пейлоад.
Аноним 26/04/21 Пнд 23:43:40 245325587269
>>245325331
Приходит продакт овнер и спрашивает тебя нахуя ты делаешь то, что не просили. Таску уже другому Васе отдали и он её сделал, а твоя поддержка ipv6 оказалась никому не нужной. Твоя реакция?
Аноним 26/04/21 Пнд 23:44:39 245325641270
>>245325587
Признаю, что дед был прав, а я обосрался выебнувшись про версию ip
Аноним 26/04/21 Пнд 23:45:03 245325666271
>>245325584
Могу, я же знаю из предыдущего блока, где начинается текущий настоящий блок.
Аноним 26/04/21 Пнд 23:45:22 245325691272
image.png 89Кб, 220x220
220x220
>>245325230
Сразу безработного чмоню видно. Итак смотри как работает реальный БИЗНЕС
1) Согласование идеи задачи между отделами разработчиков, QA и продюсером. - 1-2 недели (3 митинга)
2) Передача задачи отделу QA и последующее составление спеков (месяц минимум)
3) Согласование спеков между QA и программистами (+- неделя)
4) Передача задачи на отдел программистов + плановый созвон и выделение кадровых ресурсов на выполнения задачи (3 дня)
5) Собственно решение задачи программистами + откладка и тесты (полтора месяца)
6) Передача задачи обратно отделу QA
7) Тестирование + релизное тестирование (2 недели)
8) Подготовка стейджинга для заказчика/подготовка сторов для релиза (2 недели)
9) Релиз + выделение ресурсов на поддержку (10-15% от команды)

В итоге на реализацию нужно МИНИМУМ 4 месяца, а в идеале хотя-бы пол года. Вот это настоящий БИЗНЕС, а своё говно накостыленное на коленке с тонной багов оставь столетнему преподу до лабы.
Аноним 26/04/21 Пнд 23:45:35 245325699273
>>245325584
чаво? в пейлоде первого уровня сказано, когда будет пейлод второго пакета первого уровня. А что внутри пейлода мне поебать
Аноним 26/04/21 Пнд 23:45:46 245325703274
>>245325666
Нет, потому что в реальности никто тебе не выравнивает пакеты, лол. Нижележащий транспорт не обязан давать тебе цельные не-рваные данные.
Аноним 26/04/21 Пнд 23:46:13 245325722275
>>245325509
А ты ничему не научился как я посмотрю.
Аноним 26/04/21 Пнд 23:47:55 245325809276
>>245325691
Ух, я аж кабанчиком подпрыгнул от такого ВОДОПАДА
Аноним 26/04/21 Пнд 23:49:39 245325912277
>>245325703
Чего? У тебя длина блока определена вторым и третьим байтом блока. То, что внутри ебется само с собой, я так понимаю, размер там тоже определен где-то, где данные помечены как произвольные, но нам до этого никакого дела нет, это никак не поможет определить или не определить где заканчивается блок и начинается новый.
Аноним 26/04/21 Пнд 23:51:23 245326011278
>>245314905 (OP)
>Я уверен что есть готовые алгоритмы
Лол.
1. ты не владеешь синтаксисом родного языка, но пытаешься влезть в неродной с++
2. все, что тебе нужно, написано в задании. Какие еще тебе алгоритмы? как второй байт из пакета отличить от третьего?
Аноним 26/04/21 Пнд 23:51:43 245326032279
>>245314905 (OP)
Какой курс? Я вот на первом думаю через пол-года /год тоже смогу такое решить.
Аноним 26/04/21 Пнд 23:52:08 245326057280
>>245325441
А ты тоже из того проекта? Над серверной частью работал?
Аноним 26/04/21 Пнд 23:52:23 245326073281
>>245315909
>getline
Лол
Хорошо, что современные программисты на питоне все такие умные, что даже не осиливают прочесть задание.
Аноним 26/04/21 Пнд 23:53:15 245326123282
>>245316893
Ты че еблан? Никто не заставляет сразу все читать, можно кусками
Аноним 26/04/21 Пнд 23:53:18 245326126283
>>245316188
>задачу, с которой будешь неделю ебаться, пока оно заработает правильно.
Если тебе на это нужна неделя, то не нужен ты.
Аноним 26/04/21 Пнд 23:54:30 245326199284
>>245325912
>У тебя длина блока определена вторым и третьим байтом блока.
Окей, у тебя link-layer протокол, он вообще нихуя не знает о целостности данных. Через size байт может ничего не лежать, лежать кусок левого пейлоада, лежать валидный старткод следующего пакета.

Ну, это в реальности, в задаче для джуна и в пейлоад никто синкворды пихать не будет. Более того, вопрос тебе как джуну: что для данной задачи важнее - скорость парса или время на валидацию результата? (делается за N сложений после подсчета всех блоков, где N - число блоков на которые разбивают задачу)
Аноним 26/04/21 Пнд 23:55:12 245326240285
>>245318801
>>245323926
>>245323412
>>245323734
Давайте замажемся, я сейчас в дороге с домофона пишу, через полтора часа дома буду. Каждый напишет свою реализацию, оп скинет кусок файла на обменник, и через пару часов сравним. И опу помощь, и мы письками померяемся, друг друга хуями пообкладываем, можт кто чё новому научится? Оп, я не понял, длинна и тип в каком эндиане?
Чё батл, посоны?
Аноним 26/04/21 Пнд 23:56:44 245326331286
>>245316558
>>245316942
Лол, сразу видно изобретателей ИИ на питоне:
ни прикинуть размер нужной памяти (пара адресов - 8байт, количество пакетов - еще 4 - сколько у тебя памяти, если тебе ее не хватит?),
ни 120 байт из произвольного места файла прочесть.

Доволен тредом.
Аноним 26/04/21 Пнд 23:56:57 245326344287
.
Аноним 26/04/21 Пнд 23:57:10 245326356288
>>245316416
>Где я проебался?
В том месте, где тебя учили, что в слове "длина" только одна Н
Аноним 26/04/21 Пнд 23:58:26 245326418289
>>245326240
Давай в пятницу, на вечернем ты создашь тред и мы замажемся. Надо только файл на 10Гб сгенерировать.
Аноним 27/04/21 Втр 00:02:43 245326638290
>>245325691
взвизгнул
мимо пиздошу говно накостыленное на коленке с тонной багов
Аноним 27/04/21 Втр 00:02:45 245326640291
После прочтения задания я задумался о том, кто в действительности может называться программистом, а кто нет. Это же просто какой-то пиздец: то, что написано в задании, и то, чем занимается веб-разработчик средней руки, это же просто небо и земля.
Двач, охуевать от таких заданий-это нормально?
Аноним 27/04/21 Втр 00:04:05 245326714292
>>245326640
В какую сторону ты охуеваешь?
Аноним 27/04/21 Втр 00:04:36 245326742293
>>245325722
Если у тебя такой ответ на вопрос по существу, то ок.
Аноним 27/04/21 Втр 00:05:16 245326778294
>>245326640
>таких
В нормальном вебе просто задачи другие, но они не легче. Бытовой фронт для мелкобиза к программированию относится постольку-поскольку, это да.
Аноним 27/04/21 Втр 00:05:36 245326796295
>>245326714
В сторону того, что это какая-то гигазадача.
Аноним 27/04/21 Втр 00:05:44 245326804296
>>245326057
Не, я там не работал. Я работал вместе с тем челом на другой работе.
Аноним 27/04/21 Втр 00:06:57 245326868297
>>245326796
А, не, это совершенно типовая задача. Я подобное решал в лайв-моде на собесах в Nvidia и Huawei. Просто нужно немного попрактиковаться.
Аноним 27/04/21 Втр 00:07:04 245326874298
>>245326778
Приведи пожалуйста примеры нормальных задач в вебе не легче той, что в оп-посте.
Аноним 27/04/21 Втр 00:07:17 245326883299
>>245319457
Чем лучше?
Если заявляешь что-то, аргументируй.

Впрочем, очевидно, что ты не осилишь аргументировать.

Видно же, что ты не умеешь в асимптотическую сложность.
Тем более, не знаешь ее для элементарнейших реализаций стандартных вещей.
Аноним 27/04/21 Втр 00:08:01 245326930300
>>245326874
Организовать пуш-уведомления на клиент через свой CDN на 1кк пользователей, например.
Аноним 27/04/21 Втр 00:08:10 245326940301
>>245326868
Как и на чём практиковаться, чтобы не охуевать от подобных задач?
27/04/21 Втр 00:08:50 245326969302
Аноним 27/04/21 Втр 00:09:10 245326992303
Аноним 27/04/21 Втр 00:09:14 245326996304
Аноним 27/04/21 Втр 00:09:26 245327004305
Аноним 27/04/21 Втр 00:09:33 245327009306
>>245326940
1. Изучить как работают основные системы компьютера.
2. Работать в индустрии (лол), можно всякие квизы решать, от Яндекса или Гугла часто подобное бывает.
Аноним 27/04/21 Втр 00:09:37 245327011307
>>245326640
У каждого своя специализация. Работаю программером лет 15 уже, и то полез в гугел вспомнить, как там из файлов читать. Хоть я и С++ в довольно низком уровне (йоба графон), но и то нечасто приходилось с файловой системой работать (может пару лет назад, когда писал сериализацию ассетов).
Аноним 27/04/21 Втр 00:09:51 245327031308
>>245326874
Проверить валидность СНИЛС в поле ввода.
Уверен, что для тех, для кого ОП-пост - гигазадача, СНИЛС станет вовсе кладбищем.
Аноним 27/04/21 Втр 00:10:16 245327050309
го решать обратную задачу! генератор говна к задаче с оп-пика на плюсах
вот мое решение
https://pastebin.com/JA9pM16m
Аноним 27/04/21 Втр 00:11:06 245327101310
>>245327011
Да ясен хер, что почти никто не помнит все на свете наизусть.
Просто есть программисты, а есть макаки.
Программист знает, что и где ему надо посмотреть, и на что обратить внимание.
Макака - просто охуевает.
Аноним 27/04/21 Втр 00:11:11 245327103311
>>245327009
Ты забыл добавить "без задней мысли"...
Аноним 27/04/21 Втр 00:11:18 245327111312
>>245326868
>Huawei
Если ты там работаешь, передай им там, що они там все питарасы, кек. Мутят они хуйню какую-то подозрительную.
Аноним 27/04/21 Втр 00:12:00 245327150313
>>245327004
Валидация данных на аналогичных масштабах ввода (100k - 1kk), интерактивные компоненты во всяких редакторах, да много чего - все что нужно скалировать на большое число людей. Задача из оп-поста тоже на это, только она "вертикальная" по скалированию, а не "горизонтальная".
Аноним 27/04/21 Втр 00:12:33 245327178314
>>245326868
собесы в невидию, лол, да ты же пиздишь, они в рашке не занимаются разработкой - только маркетингом и саппортом
Аноним 27/04/21 Втр 00:12:41 245327185315
>>245326883
Проблема с тем, что на гб мы не знаем сколько там разговоров будет. Хэш довольно быстро заполнится до лоад фактора или как оно там называется, после чего попрут коллизии которые увеличат сложность, а с деревом всё просто достаточно logN и нормально, даже на 1кк пар адресов перфоманс будет нормальный.
Аноним 27/04/21 Втр 00:13:09 245327208316
Аноним 27/04/21 Втр 00:13:10 245327209317
>>245314905 (OP)
Ебать, какая глупость. Кто является целевой аудиторией этого задания?
Джун его не вывезет, а мидл и выше просто не будут этой дрочью заниматься, есть миллиард работ, куда тебя заберут без тестовых.
Аноним 27/04/21 Втр 00:13:45 245327241318
>>245326331
>сколько у тебя памяти, если тебе ее не хватит?),
Памяти у меня чуть чуть меньше, чем нужно, чтобы все влезло.
Аноним 27/04/21 Втр 00:14:07 245327260319
>>245327150
Ты не про веб рассказываешь. А про бэк-енд.
От того, что у тебя к бэку подвязана вебморда, он не становится вебом.
А в вебе тебе нечего скалировать на миллиарды пользователей.
Хотя, очевидно, и там достаточно интересных задач, к которым надо подходить с умом. А не просто формы клепать "все на реакте, и я на реакте"
Аноним 27/04/21 Втр 00:14:16 245327273320
>>245327208
За ссылку на стрим. Я решил игрушку пройти, показывая её анонам. Меня и забанили.
Аноним 27/04/21 Втр 00:14:33 245327293321
>>245326796
Задача совершенно рядовая. Для меня сложнее какой-нить css написать, чем парсер пакетов.
Аноним 27/04/21 Втр 00:14:37 245327299322
>>245327209
>Джун его не вывезет
Почему? Если он это не сможет, то нахуй он тогда вообще нужен?
Аноним 27/04/21 Втр 00:15:11 245327334323
>>245327111
Не, я ща в финтехе работаю, в хуйвее какие-то охуительные правила мол в 2к21 нужно 24/7 в офисе жить.

>>245327178
Это еще схуяли вдруг? Российскому офису лет 20 уже, там больше 200 человек работает. Практически все хардварное кодирование видео у нас пилилось.

https://www.linkedin.com/jobs/view/senior-software-engineer-at-nvidia-2347383641/?utm_source=google_jobs_apply&trackingId=UGUliuoR4GPTZ8fMJtjL7A%3D%3D&refId=d3191806-5bf2-4e32-af87-fe375ba9b3f6&pageNum=0&utm_campaign=google_jobs_apply&position=8&trk=public_jobs_job-result-card_result-card_full-click&utm_medium=organic&originalSubdomain=ru
Аноним 27/04/21 Втр 00:15:31 245327350324
>>245327050
хтонс зачем? мы не шатаем эндиансе.
Аноним 27/04/21 Втр 00:16:05 245327384325
что за младший и старший байты длины блока? то есть дина блока записана в двух байах задм наперед?
Аноним 27/04/21 Втр 00:16:06 245327386326
>>245327260
>Ты не про веб рассказываешь. А про бэк-енд.
Я как-то не отделяю "бек" от веба. Фронт без бека не работает.
Аноним 27/04/21 Втр 00:16:16 245327396327
>>245327350
чтобы было понятно что это адрес, лол.
Аноним 27/04/21 Втр 00:16:30 245327410328
>>245318236
Может в реале подолбимся, сладкий?

МимоС++Стажёр
Аноним 27/04/21 Втр 00:17:14 245327441329
>>245327396
зачем? условия задачи-то вполне прямолинейны.
Аноним 27/04/21 Втр 00:18:02 245327493330
что мешает файл потоком считывать и по ходу считать количество?
мимо читал по диагонали
Аноним 27/04/21 Втр 00:18:40 245327528331
Аноним 27/04/21 Втр 00:18:51 245327537332
>>245314905 (OP)
Лол, а какой объем оперативы? Если надо заниматься этим на 64 метрах, то это сложно, а если 32ГБ, то getline c std::map и в путь
Аноним 27/04/21 Втр 00:19:01 245327547333
>>245327050
бля, обсер, редекларейшон низя, ебаните там скобочек в уме {int ... write ... ); } посоны
Аноним 27/04/21 Втр 00:19:09 245327555334
>>245327101
Реально? Я думал макака это тот который копирует.
Аноним 27/04/21 Втр 00:19:38 245327583335
>>245327528
то есть изьебнуться нужно, лол?
Аноним 27/04/21 Втр 00:19:50 245327594336
>>245327493
Для стажёра так и требуется, но мы тут все взрослые люди и хотим чтобы всё было быстро, а лучше - очень быстро.
Аноним 27/04/21 Втр 00:20:54 245327648337
>>245327583
Ага. Захуярить сикьюлайт или редис, навернуть многопоточности, уложиться в 640 килобайт.
Аноним 27/04/21 Втр 00:21:30 245327673338
>>245327334
>финтехе работаю
Алготрейдинг? Не ДБ?
Аноним 27/04/21 Втр 00:21:33 245327677339
>>245327594
в реальности так бы и реализовали по простому
никто бы хуйни не городил без надобности
файл то тебе так или иначе прочитать хоть раз придётся, сразу и посчитаешь, время вычисления ничто по сравнению с чтением с диска
Аноним 27/04/21 Втр 00:21:51 245327701340
Кстати, ОП, а как ты планируешь работать если тебя примут? Я сам бы эту задачу не решил, но просто, если тебя внатуре возьмут и поставят примерно такую же задачу, а может и посерьёзнее, че делать буш?
Аноним 27/04/21 Втр 00:21:55 245327709341
>>245327185
Search, insertion, and removal of elements have average constant-time complexity.
vs
Search, removal, and insertion operations have logarithmic complexity

Все, что тебе надо знать.
Над реализацией ты не властен, поэтому у тебя есть два варианта:
1. тыкать пальцем в документацию
2. приводить конкретные примеры (после замеров), где твой вариант быстрее

все твои догадки, что там будут коллизии, никого не ебут.
Аноним 27/04/21 Втр 00:22:08 245327721342
>>245327648
при этом сам редис кушать будет нормально
Аноним 27/04/21 Втр 00:22:14 245327727343
>>245327673
Технический анализ рисков, equity trading. Не дойч.
Аноним 27/04/21 Втр 00:22:21 245327735344
>>245327594
Поувольнял бы всех взрослых людей к хуям, будь моя воля.
Аноним 27/04/21 Втр 00:22:22 245327736345
>>245327493
в теории там могут быть пакеты на 1 байт с уникальными каждый раз парами src-dst. И весь словарь разговоров в память не влезет.

В реальности такое правда 99.5% не будет встречено но всё же
Аноним 27/04/21 Втр 00:22:29 245327742346
>>245327299
Не считаю нужным джуну уметь эту хуйню выдрачивать.
Хах, помню я устраивался работать в укр.нет на косарь баксов джуномидлом. Задали мне реализовать что-то вроде memcached упрощенного, дрочил его неделю, так и в итоге и не взяли.
Я плюнул и пошёл в другую компанию, поотвечал на вопросики на собесе и меня взяли на 2к баксов, лол. Годы прошли, теперь я синьёр 4500 баксов в месяц, и до сих пор не уверен, что моё новое решение понравилось бы тем упырям из укр.нета.
Аноним 27/04/21 Втр 00:22:40 245327752347
>>245327384
Смотря для кого задом наперед. Для многобайтовых значений в нетворк пакетах и в процах порядок байтов может быть разным. Гугли endianness.
Аноним 27/04/21 Втр 00:23:03 245327770348
>>245327386
Бек зато без фронта работает.
Сегодня у тебя на фронте веб, а завтра какая-нибудь другая хуйня.
Пора бы начать отделять одно от другого.
Аноним 27/04/21 Втр 00:23:31 245327789349
>>245327721
положи его в черную коробку в AWS.
Аноним 27/04/21 Втр 00:23:39 245327798350
>>245326418
Я? картинка с бабкой на телефоне
Пусть ОП и создаёт, и какое-нибудь слово использует для простого поиска на б . Например ТИСИПИКАЦИЯ, я понему в пятницу вечером поищу
Аноним 27/04/21 Втр 00:23:41 245327800351
>>245327736
загнать в бд с нормальными индексами и не ебать мозги
посчитать каунтами
Аноним 27/04/21 Втр 00:24:04 245327822352
>>245327555
Но когда ему неоткуда скопировать, что ему остается?

Копируют, кстати, все.
Программисты не самые тупые люди.
А кто, кроме самых тупых, будет заново херачить то, что можно скопировать?
Аноним 27/04/21 Втр 00:24:06 245327825353
>>245327677
Если это анализатор реал тайм трафика, то как раз бы делали всё быстро, да ещё и AVX2 впихнули, и кэш толерантно было бы всё и потоки бы гвоздями к ядрам прибивали.
Аноним 27/04/21 Втр 00:24:16 245327836354
Аноним 27/04/21 Втр 00:24:47 245327861355
>>245327701
На двачах на работе сидеть, лол.
Аноним 27/04/21 Втр 00:25:02 245327873356
>>245327770
>Бек зато без фронта работает.
Да не, там тоже заеб хватает, бек в конечном счете частично перетекает во фронт чтобы разгрузить серваки, тот же GraphQL вроде как пилили ровно за этим. Но если мы говорим о чистом фронтенде - это да, к программированию это имеет не больше чем какие-нибудь игры на unity или на блюпринтах в unreal engine. То есть вроде как идейно где-то близко, но по сути не пересекается.
Аноним 27/04/21 Втр 00:25:37 245327910357
>>245327742
чем меньше платят тем больше дрочат, суть - сбить цену, посеять в тебе неуверенность в себе
Аноним 27/04/21 Втр 00:25:50 245327917358
>>245327825
Таки да. Это поди задание для какого-нить СОРМа. Путину докладывать о том, кто на какую порнуху дрочит.
Аноним 27/04/21 Втр 00:26:09 245327936359
>>245327299
Потому что этот джун - макака-неосилятор.

Блядь, прочесть файл кусками по Х байт, вынуть из Х байт нужные 10, по нехитрому условию сложить в счетчик.

Пиздец гигазадача, охуеть можно. Джун не вывезет, лол.
Аноним 27/04/21 Втр 00:26:31 245327955360
>>245327825
там было про файлы а не про реалтайм
Аноним 27/04/21 Втр 00:26:36 245327957361
>>245327825
>AVX2
ключи коньпелятора для этого есть, на любом коде можно
>всё и потоки бы гвоздями к ядрам прибивали
очень полезное занятие при кручении осью ~1000 потоков в системе
Аноним 27/04/21 Втр 00:27:03 245327979362
>>245327709
Я проводил эксперименты и пожертвовал О(1) ради предсказуемости роста на больших объёмах.
Аноним 27/04/21 Втр 00:27:14 245327985363
Аноним 27/04/21 Втр 00:27:23 245327996364
Можно результаты сразу в файл писать, а не запоминать. Тогда с потреблением оперативной памяти всё нормально.
Аноним 27/04/21 Втр 00:27:52 245328014365
>>245327936
это нужно уметь:
1) читать фаил
2) читать структуру
3) уметь проинкрементировать счетчик

Не каждый такое сможет
Аноним 27/04/21 Втр 00:28:01 245328023366
Аноним 27/04/21 Втр 00:28:15 245328044367
>>245327936
>Потому что этот джун - макака-неосилятор.
Какие-то низкие требования к джунам сегодня. А какие тогда задачи он должен решать? Или это сарказм?
Аноним 27/04/21 Втр 00:28:23 245328052368
>>245327957
>ключи коньпелятора для этого ест
В автоматическую векторизацию пока нормально умеет только icc, но и то попердывая и таща за собой waterfall-рантайм на полтора гига. Пока такие вещи чаще пилятся ручками.
Аноним 27/04/21 Втр 00:28:54 245328083369
>>245328014
это и есть суть задания по сути
тут навыдумывали кэшей и алгоритмов, лол
Аноним 27/04/21 Втр 00:29:08 245328093370
>>245327910
Угу. Чисто стратегия Яндекса.
Советую слать нахуй таких петухов, в айти нехватка спеицалистов, наших готовы с руками отрывать
Аноним 27/04/21 Втр 00:29:28 245328118371
>>245327996
Ну записал ты все пары src/dst в фаил, а считать уникальные как будешь?
Аноним 27/04/21 Втр 00:29:30 245328122372
Аноним 27/04/21 Втр 00:30:01 245328149373
>>245328093
согласен, местные идут нахуй
Аноним 27/04/21 Втр 00:30:52 245328199374
>>245328083
ну так ёпта, нужно же как-то дырки в стуле оправдать
Аноним 27/04/21 Втр 00:31:03 245328210375
>>245328118
Тебе никто не запрещает реализовать тот же хеш с помощью файла, но от осознания подобного у местных сеньеров со скиллами джуна может пердочело потечь.
Аноним 27/04/21 Втр 00:31:14 245328217376
>>245327979
Ты нарушил правила оптимизации:
Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.

Мы тебе не перезвоним
Аноним 27/04/21 Втр 00:31:22 245328226377
>>245328093
ещё кстати обычно самый мразотный уебок собеседует, это скорее он себя показывает чем пытается разобраться как человек думает
Аноним 27/04/21 Втр 00:31:48 245328247378
>>245328052
Да, увы. Я вообще хуею, что для создания лоадера, который чекнет проц и запустит бинарник, скомпилированный под соответствующие расширения нужно сидеть и делать всё ручками, хотя можно было автоматизировать на уровне студии.
Аноним 27/04/21 Втр 00:32:01 245328260379
>>245327800
Не, это же алгоритмическая задача. Как реализовать контейнер с частичной выгрузкой?
Аноним 27/04/21 Втр 00:32:02 245328262380
Screenshot20210[...].png 199Кб, 720x1280
720x1280
Аноним 27/04/21 Втр 00:32:27 245328284381
>>245328014
Нет.
Не нужно уметь.
Нужно НАУЧИТЬСЯ.
Для этого и дали ОПу задание.

Я, например, на плюсах не умею этого всего.
Но при нужде найду, куда посмотреть.
Аноним 27/04/21 Втр 00:32:29 245328287382
>>245328199
все о чем говорили бывает оправдано но лучший код это тот которого у тебя нет, простой вариант - самый лучший 99.99 случаев
Аноним 27/04/21 Втр 00:32:39 245328296383
>>245328210
>Тебе никто не запрещает реализовать тот же хеш с помощью файла
мешает нелюбовь к самоизобретенным велосипедам. Прикрути sqlite если уж так надо тебе в фаил писать - и дело с концом
Аноним 27/04/21 Втр 00:32:44 245328298384
>>245328247
Можно было бы просто в стандарт это уже давно ебануть. Но они сук 20 лет std::launder в него тащили.
Аноним 27/04/21 Втр 00:33:01 245328319385
>>245327957
Очень полезное, чел. 20% прерфоманса даёт из-за кэш хитов.
Аноним 27/04/21 Втр 00:33:33 245328347386
>>245328287
ты не поверишь, но я с тобой согласен.
Аноним 27/04/21 Втр 00:33:35 245328352387
image.png 298Кб, 503x711
503x711
>>245328296
>Прикрути sqlite
Пиiмав джависто-петуха поцоны
Аноним 27/04/21 Втр 00:34:26 245328383388
вы бабу-то нюхали хоть?)
Аноним 27/04/21 Втр 00:35:00 245328413389
>>245328044
Да какой же это сарказм, если тебе этот самый джун рассказал, что задачу не решил, а пошел говно разгребать за большую зарплату.
Т.е. он доволен тем, что денег дали больше (справедливо доволен) , и тем, что думать и учиться не надо (тут ты сам решай, справедливо, или нет).

Вот ОП, например, не зассал, пришел хотя бы в /б вопросы задавать.
У него, думаю, потенциал побольше, чем у неосилятора из укр.нет.
Аноним 27/04/21 Втр 00:35:58 245328458390
>>245328217
Не нарушил, а взял контейнер под задачу. Я один раз напишу оптимальный код, а ты будешь рефаторить 2-3 раза, ковырять профайлером и переделывать архитектуру.
Аноним 27/04/21 Втр 00:36:18 245328476391
>>245328352
согласен, решение не может считаться нормальным пока мы не переизобретем как минимум две трети стандартной библиотеки.
крестобог
Аноним 27/04/21 Втр 00:36:40 245328493392
>>245327209
> куда тебя заберут без тестовых.
Хуй знает, анон.
Без связей с нуля я только такие перспективы вижу.
Аноним 27/04/21 Втр 00:37:26 245328532393
>>245328298
Я дальше 11 даже не смотрел, испоганили язык вконец. Единственно, притащили restricted, но надо было наоборот, вводить какой-нибудь overlapped для перекрывающихся указателей, а по дефолту считать перекрытия нет.
Аноним 27/04/21 Втр 00:37:58 245328553394
>>245328476
Конечно, проще ебануть реляционную базу данных для двухмерного счетчика лол.

нативные хештаблицы есть даже в позиксе, лол
Аноним 27/04/21 Втр 00:39:11 245328613395
>>245319824
В unordered_map бакеты устроены как RB дерево
Аноним 27/04/21 Втр 00:39:34 245328629396
>>245328458
Лол, нет.
Я сделаю и забуду.
И мой вариант будет работать быстрее твоего, потому что ты полез в оптимизацию там, где она не нужна.
На этом заканчиваю бессмысленный разговор.
Аноним 27/04/21 Втр 00:39:56 245328654397
>>245328319
Возможно, но тогда уж нужно ядро пигвинукса пересобирать, оставив 1 ядро на систему, а остальные под обработчик.
Аноним 27/04/21 Втр 00:40:39 245328680398
>>245328553
куда проще ебануть unordered_set и не заниматься изобретением колёс
Аноним 27/04/21 Втр 00:41:35 245328720399
>>245328680
Ну у него типа как она в память не влазит. Это вполне нормальный вариант такой задачки, мне ее один раз предлагали сделать на 64 mb
Аноним 27/04/21 Втр 00:44:07 245328846400
>>245319824
>считать зачем-то хэш (от двух лонгов)
Ага. 4 байта это теперь лонг.
Сразу видно спеца по скоростям и объемам.

Аноним 27/04/21 Втр 00:44:21 245328860401
Аноним 27/04/21 Втр 00:44:35 245328876402
>>245328413
Просто я сам только учусь в ВУЗе, 3 курс, даже не джун, но такие задачки как у ОПа вообще проблем не вызывают. В свободное время книги по компиляторам и системщине читаю, пытаюсь свою йобу написать. Вот кстати, спасибо ВУЗу, что математикой и физикой на начальных курсах задрачивал, все лабы по прогерсту так или иначе были связаны с этим, отсюда неплохо знаю численные методы. Вот я и думаю, после выпуска у меня есть какие-то шансы на бытрое нахождение вакансии? Что вообще нужно знать?
Аноним 27/04/21 Втр 00:44:53 245328890403
>>245328720
А чо, своп не изобрели еще в твоей архитектуре?
Аноним 27/04/21 Втр 00:45:16 245328903404
>>245328629
Будет не так. После поставки или развёртывания оно будет вставать колом и ладно бы не рушить систему, после чего к тебе придут с кажут что надо разбираться.
Аноним 27/04/21 Втр 00:45:51 245328938405
>>245328890
Что быстрее: своп с пейджволкером, или вручную прописанный файл с declare-командой?
Аноним 27/04/21 Втр 00:46:16 245328958406
>>245315404
>бинарный файл
>построчное считывание файла
Просто в ахуе с долбоебов задание делается за часа 4 если торопиться, часов за 8 с тестами и документацией.
Аноним 27/04/21 Втр 00:46:30 245328970407
>>245328890
Залезание в своп будет тормозить всю систему даже если своп на ссд.
Аноним 27/04/21 Втр 00:46:42 245328980408
>>245328876
Нервы нужно крепкие иметь.
И никто не знает, чем ты хочешь заниматься.
Лендинги на вордпрессе клепать, п2п видеоконференции, или расчет белков.
Аноним 27/04/21 Втр 00:46:58 245328991409
>>245314905 (OP)
А вообще если ты такую простую задачу как разбор пакетов решить не можешь то может тебе не в айти а на кассу мака нужно?
Аноним 27/04/21 Втр 00:47:02 245328994410
Аноним 27/04/21 Втр 00:47:14 245329006411
>>245328846
long - target type will have width of at least 32 bits.

ну а вообще, нахуй лонги и инты в с++. только int32_t, только хардкор
Аноним 27/04/21 Втр 00:48:08 245329050412
>>245328938
Что быстрее будет работать?
Или что быстрее будет написать и собрать?

1. не знаю. Проверяется только практикой
2. очевидно, первое. Требований к скорости я в задании не обнаружил.
Аноним 27/04/21 Втр 00:48:09 245329054413
>>245328876
Кормен, многопоточка, клинкод, и книги по своему языку, ну и фремворки если нужны всё что тебе надо.
Аноним 27/04/21 Втр 00:48:36 245329076414
>>245328970
Почему ОПа это должно ебать?
Аноним 27/04/21 Втр 00:49:04 245329101415
>>245329076
Если ты не заметил, на ОПа уже похуй всем.
Аноним 27/04/21 Втр 00:49:15 245329107416
>>245328980
>Нервы нужно крепкие иметь.
Как и везде.
>И никто не знает, чем ты хочешь заниматься.
Вот это сложно, но точно не веб и тырпрайз.

Аноним 27/04/21 Втр 00:49:39 245329123417
>>245329050
>1. не знаю. Проверяется только практикой
Хуево, тех. собес на мидла ты уже завалил. Занимайся.

>Или что быстрее будет написать и собрать?
Одинакого, лол. Ну, в случае в unordered_set тебе еще придется ебаться с лоадфактором и нормальной хешфункцией для пар адресов.
Аноним 27/04/21 Втр 00:50:02 245329141418
anon-2094920.jpeg 72Кб, 736x1014
736x1014
>>245328970
надо хранить своп на рамдиске
Аноним 27/04/21 Втр 00:50:03 245329142419
>>245314905 (OP)
я все пропустил и тред не читал, но тут
1. из стандартной библиотеки берется функция
openfile : file -> stream byte
2. руками пишутся функции
parseBytes : stream byte -> stream block
parseL1 : block -> ethernetblock
parseL2 : ethernetblock -> ipblock

3. собирается труба openfile -> parseBytes -> map (parseL2 . parseL1)
4. делается reduce по minmax (ip.from, ip.to) и считается count

что тут делать неделю - непонятно.
Аноним 27/04/21 Втр 00:50:13 245329153420
>>245329101
Мне похуй на то, что всем похуй.
Я профессионал. Я решаю ту задачу, которая поставлена.
Аноним 27/04/21 Втр 00:50:32 245329172421
>>245329054
>Кормен, многопоточка, клинкод, и книги по своему языку, ну и фремворки если нужны всё что тебе надо.
А какие вакансии искать, примерно, с таким "стеком"?
Аноним 27/04/21 Втр 00:51:12 245329195422
>>245329123
Проиграл с дауна, который еще ничего не написал, ничего не скомпилил, ничего не запустил, но у него уже одно работает медленнее другого.
Такие сразу посылаются на хуй на должность полотера.
Аноним 27/04/21 Втр 00:52:55 245329267423
какие вы злые, коллеги
Аноним 27/04/21 Втр 00:54:02 245329312424
image.png 1862Кб, 1280x960
1280x960
>>245329195
>Проиграл с дауна, который еще ничего не написал, ничего не скомпилил, ничего не запустил, но у него уже одно работает медленнее другого.
Это называется базовые знания, братишка. Ваннаби-сеньеры-архитехтуры-за-100к вроде тебя и хуярят счетчики имплементированные поверх SQL баз данных. Подобные вопросы не зависят от стека/языка/оси/etc. Если ты на них не можешь ответить - тебе просто ссут на ебало и отправляют обратно в твои сельские перди, где ты сможешь вдоволь компейлировать.
Аноним 27/04/21 Втр 00:54:07 245329320425
>>245329267
Повышаем порог вкатывания
27/04/21 Втр 00:54:12 245329321426
>>245314905 (OP)
Что за пидорасы так задание составляют? Что значит младший байт длины блока, что значит кол-во байт равное длине блока.

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

Просто харкнуть в ебало долбоёбам давшим тебе это тестовое задание и идти в нормальную контору, где люди работают, а не хуесосы которые будут тебя дрючить за копейки.
Аноним 27/04/21 Втр 00:55:39 245329390427
>>245329312
>счетчики имплементированные поверх SQL баз данных.
1. придумал какую-то хуйню
2. приписал ее анону
3. навыебывался
4. профит

Понял алгоритм твоих выступлений.
Так ты и на должности полотера недолго просидишь.
Аноним 27/04/21 Втр 00:55:55 245329408428
16014823753471.png 317Кб, 512x512
512x512
Аноним 27/04/21 Втр 00:56:33 245329434429
>>245329321
>Что значит младший байт длины блока, что значит кол-во байт равное длине блока.
Вы не прошли первую фазу собеседования - понимание базового письменного русского.
Попробуйте вкатиться в ИТ в Кыргызстане.
Аноним 27/04/21 Втр 00:57:15 245329472430
>>245329390
Так если б я таких долбоебов как ты через день не выгонял на мороз, охуевая от днищности СНГ-it - вопросов бы к тебе и не было. Так-то понятно, что ты ваннаби-джун-вкатун, но нахуя лезть если у тебя так от этого больно?
Аноним 27/04/21 Втр 00:57:21 245329477431
>>245329172
это если ты в С++ как тут обсуждают. Если JS, то сам смотри, там другие требования, а из "конкуренси" асинкавейт и фьючи.
Аноним 27/04/21 Втр 00:57:47 245329499432
>>245329321
>младший байт длины блока, что значит кол-во байт равное длине блока.
во втором-третьем байте живет длина, длина равна ptr[2]+(ptr[3]<<8), что непонятного.
Аноним 27/04/21 Втр 00:59:05 245329559433
напишу на qt за косарь
Аноним 27/04/21 Втр 00:59:15 245329567434
>>245329321
>младший байт длины блока
Да это стандартная хуйня в сетях хранить в 2 байтах длину, да ещё и перевернуть это всё.
Аноним 27/04/21 Втр 00:59:49 245329585435
image.png 280Кб, 800x400
800x400
>>245329141
Коллега, я бы предложил другой подход:
реализовать микросервис с очередью для счетчика
и
залить его куда-нибудбь на AWS - у Безоса до хуя памяти
а уж закидать этот микросервис результатами нашего парсинга - дело ерундовое, любой питонист справится

Аноним 27/04/21 Втр 01:00:30 245329619436
>>245329477
>асинкавейт и фьючи
Ни слова не понял.
>это если ты в С++ как тут обсуждаю
Конечно С/С++
Ты так и не ответил на вопрос
>А какие вакансии искать?
Аноним 27/04/21 Втр 01:00:42 245329630437
>>245329472
Мммм... эти фантазии...
Выгоняет он кого-то.
Ты через день только с двача вылазишь каклет мамкиных пожрать, выгонятель.
Иди кетчуп с пола подтирай, мизерабль
Аноним 27/04/21 Втр 01:01:11 245329653438
>>245329499
ЯСКОЗАЛ ПИДАРАСЫ!!!1111
ЯНИПОНЯЛ!!!!
ЗНАЧИТ ПИДОРАСЫ!!!111
Аноним 27/04/21 Втр 01:01:46 245329682439
Аноним 27/04/21 Втр 01:02:10 245329705440
Аноним 27/04/21 Втр 01:02:24 245329712441
>>245329619
Любые вакансии по плюсам не от НИИ/ФГУП и прочей параши. Можешь в хуяндекс завернуть.
>Ни слова не понял.
погугли же. в 20 плюсах тоже завезено.
27/04/21 Втр 01:03:31 245329771442
>>245329434
Да нахуй проследуй, тралятина малолетняя. Никто из погромистов так не выражается: младший байт длины блока. Это что за высер поехавшего из ума один-эссника.

>>245329499
>что непонятного.
Вот тебе код обычного рейкастера, что тут непонятного?
#include <stdlib.h> // card > aek.ppm
#include <stdio.h>
#include <math.h>
typedef int i;typedef float f;struct v{f x,y,z;v operator+(v r){return v(x+r.x,y+r.y,z+r.z);}v operator(f r){return v(xr,yr,zr);}f operator%(v r){return xr.x+yr.y+zr.z;}v(){}v operator^(v r){return v(yr.z-zr.y,zr.x-xr.z,xr.y-yr.x);}v(f a,f b,f c){x=a;y=b;z=c;}v operator!(){returnthis(1/sqrt(this%this));}};i G[]={247570,280596,280600,249748,18578,18577,231184,16,16};f R(){return(f)rand()/RAND_MAX;}i T(v o,v d,f&t,v&n){t=1e9;i m=0;f p=-o.z/d.z;if(.01<p)t=p,n=v(0,0,1),m=1;for(i k=19;k--;)for(i j=9;j--;)if(G[j]&1<<k){v p=o+v(-k,0,-j-4);f b=p%d,c=p%p-1,q=bb-c;if(q>0){f s=-b-sqrt(q);if(s<t&&s>.01)t=s,n=!(p+dt),m=2;}}return m;}v S(v o,v d){f t;v n;i m=T(o,d,t,n);if(!m)return v(.7,.6,1)pow(1-d.z,4);v h=o+dt,l=!(v(9+R(),9+R(),16)+h-1),r=d+n(n%d-2);f b=l%n;if(b<0||T(h,l,t,n))b=0;f p=pow(l%r(b>0),99);if(m&1){h=h.2;return((i)(ceil(h.x)+ceil(h.y))&1?v(3,1,1):v(3,3,3))(b.2+.1);}return v(p,p,p)+S(h,r).5;}i main(){printf("P6 512 512 255 ");v g=!v(-6,-16,0),a=!(v(0,0,1)^g).002,b=!(g^a).002,c=(a+b)-256+g;for(i y=512;y--;)for(i x=512;x--;){v p(13,13,13);for(i r=64;r--;){v t=a(R()-.5)99+b(R()-.5)99;p=S(v(17,16,8)+t,!(t-1+(a(R()+x)+b(y+R())+c)16))*3.5+p;}printf("%c%c%c",(i)p.x,(i)p.y,(i)p.z);}}

Ты пойми что задачу нужно ставить максимально просто и понятно, а не таким образом как будто я подобные вещи каждый день 24/7 пишу. Я забыл например little-big endianess например потому что давно байты не ковырял.

Или же я могу в 200 строк написать софтварный 3д рендерер со светом, тесселяцией и свистоперделками с минимумом стандартных с++ библиотек. Потому что я их десятки написал, но ты нихуя не поймешь, если у тебя нет такого же опыта.
Аноним 27/04/21 Втр 01:05:40 245329869443
>>245329771
>Никто из погромистов так не выражается: младший байт
Лол.
Никто из погромистов твоего класса, конечно.
Аноним 27/04/21 Втр 01:05:42 245329870444
>>245329771
>Никто из погромистов так не выражается: младший байт длины блока.
Открой любой телеком стандарт где описывается протоколы, low/high byte там как грязи.
Аноним 27/04/21 Втр 01:05:43 245329872445
>>245329771
задача поставлена просто и понятно. на каждую простую задачу найдется ленивый тупой исполнитель, которому сложно. его на работу не возьмут. чтобы не объяснять про сетевой порядок байт русским языком написано где какой байт. что тебе еще не нравится. ты все равно эту задачу делать не будешь.
Аноним 27/04/21 Втр 01:06:08 245329897446
>>245328413
>У него, думаю, потенциал побольше, чем у неосилятора из укр.нет.
так я вышел на синьйорскую зарплату, мне хватает.
Аноним 27/04/21 Втр 01:07:18 245329951447
>>245329771
>Или же я могу в 200 строк написать
Не удивлен.
Характерный признак дауна - оценивать код по количеству строк.
Ты уже достаточно о себе написал, можешь не продолжать.
Аноним 27/04/21 Втр 01:07:49 245329975448
Аноним 27/04/21 Втр 01:07:55 245329985449
>>245329705
Нету. Лучше бы сразу нафиг послал :(
Аноним 27/04/21 Втр 01:07:58 245329989450
>>245329897
Да тут все вышли, кроме ОПа и 3-курсника.
У всех 300 к/нс
Так что не обольщайся.
Аноним 27/04/21 Втр 01:08:46 245330032451
>>245329975
ЯСКОЗАЛ НИКТО ТАК НЕ ПИШЕТ!!!1111
Я МОГУ ТРЕЙСИНГИХУЕЙСИНГИ НА 200 СТРОК!!!111
ЗНАЧИТ МНЕ ВИДНЕЕЕ!!!!111
Аноним 27/04/21 Втр 01:09:31 245330070452
>>245329989
Всегда знал, что двач - это борда успешных людей.
3-курсник
Аноним 27/04/21 Втр 01:09:41 245330078453
>>245329989
Так я же не с двачерами пытаюсь соревноваться, лол, если у тебя писька длинее, меня это не огорчит.
Я пытаюсь обьяснить анонам, что тестовые задания - хуйня для лохов, смело говорите, что времени на них у вас нет, и вас все зауважают.
Ну это конечно после опыта работы хотя бы на одном месте, до этого вы пыль на сапогах
Аноним 27/04/21 Втр 01:09:58 245330094454
>>245329985
Сорян, мне показалось смешным
Аноним 27/04/21 Втр 01:11:03 245330146455
Аноним 27/04/21 Втр 01:12:17 245330203456
>>245329771
и чего? у меня сосед по общаге 20 лет назад на асме в 256 байт писал демки с камерой, сценой, мандельбротами летающими, x ^ y, вот этим всем. оно конечно хорошо, но в твоем примере очевидный minified код, который если написать в нормальном стиле и с разумными комментариями то а) занимать он будет нормально, б) будет вполне понятно. не исходники J, евпочя. к понятности постановки задачи опа отношения не имеет.
Аноним 27/04/21 Втр 01:15:28 245330334457
>>245330203
этот даун не знает про "младший/старший байт"
зато пользует
typedef int i

Это чтобы в строках поменьше вышло, лол
Аноним 27/04/21 Втр 01:16:01 245330359458
>>245330203
> у меня сосед по общаге 20 лет назад на асме в 256 байт писал...
Респект соседу, чем он сейчас занимается?
27/04/21 Втр 01:19:04 245330480459
>>245330334
>этот даун не знает про "младший/старший байт"
Если ты погромист, то ты априори не используешь пидорашкинский хохлосрач объявляю открытым новояз. Младший/старший байт не парсится в моей голове в принципе. Энивей тред почти в бамплимите и ни одного решения кроме вялого попукивания нет.

Я вижу в принципе что это простая задача, тебе нужно распарсить бинарный файл и реализовать простейшую логику. Если бы задача была написана на нормальном языке, а не пидорахинском новоязе, я бы накатал решение за 15 минут. А так сосите хуй, я все сказал.
Аноним 27/04/21 Втр 01:19:38 245330508460
>>245330359
живет в тайланде, судя по всему работает на удаленке
Аноним 27/04/21 Втр 01:20:33 245330552461
>>245330480
>Младший/старший байт не парсится в моей голове в принципе.
наверное ты и про младшие разряды/старшие разряды у чисел не слышал
Аноним 27/04/21 Втр 01:21:02 245330575462
>>245330480
>не осилил русский язык
>что-то пердит на остальных
Вы совсем там ебанулись, русофобы? Даже язык уже в штаны насрал.
27/04/21 Втр 01:22:23 245330626463
>>245330575
Все языки погродристанья написаны не на срусском. Кроме адин-эсса, на котором погромируют подскакивающие кабанчики. Поэтому если ты не кабанчик, то пишешь не на срусском, проблемс?
Аноним 27/04/21 Втр 01:22:59 245330650464
>>245330480
>Младший/старший байт не парсится в моей голове в принципе.
Потому что ты не программист, а говно.
Это уже давно понятно.
Аноним 27/04/21 Втр 01:23:26 245330670465
>>245330552
Да он и старшего брата называет Большим Братом.
Аноним 27/04/21 Втр 01:24:14 245330717466
>>245330626
Тебе же уже написали - пиздуй обратно в свой Кыргызстан, хули ты до сих пор тут ртом срешь?
Аноним 27/04/21 Втр 01:24:21 245330727467
>>245330626
>Все языки погродристанья написаны не на срусском
Хорошо, синтаксис на английском написан, но как синтаксис относится к нашему вопросу? Как блядь синтаксис на английском, мешает тебе понимать информацию на русском?
Аноним 27/04/21 Втр 01:36:42 245331186468
>>245330727
>Как блядь синтаксис на английском, мешает тебе понимать информацию на русском?
Ну, просто я тупой.
Аноним 27/04/21 Втр 01:37:57 245331232469
>>245331186
Ты бы сажу поставил, тогда я бы поверил еще.
Аноним 27/04/21 Втр 01:38:33 245331246470
bump
Аноним 27/04/21 Втр 01:40:04 245331291471
Аноним 27/04/21 Втр 01:54:32 245331806472
ОП, тебе уже тут накидали кучу решений через парсинг по структурам и хештаблицам, на стажеровку не в ебацца топ000.1%ании тебе этого хватит. По поводу памяти и больших файлов, как я понимаю, там замечание именно о чтении всего файла, так что не парься о краевом случае, где все адрса уникальны, а пейлоад около нулевый. Просто опиши, что на такой случай все будет не ок, а ещё можешь свои мысли к разруливанию данной проблемы написать.
Если хочешь красиво, то поработай над историей коммитов, прикрути адекватное read me документашку на доксигене, можешь ещё либы типа gtest и boost для параинга опций, хотя это излишне.
Это тестовое даже не на джуна, не парься так.
Как вариант можешь почитать по подробнее про сети и OSI и тд.
Тут много людей, кто тешит свое самолюбие знаниями в той или иной области. Это не всегда применимо к тем проектам, над которыми ты будешь работать, так что не забивай себе голову.
Ну и самое главное пожалуй, отсылай то решение, которое сам отлично понимаешь, успехов !
Аноним 27/04/21 Втр 01:58:29 245331956473
>>245327209
>Джун его не вывезет,
Почему? Что за уровень, блядь, у джунов?

Ну реально не смешно. Эта задача не должна вызывать затруднений, если вызывает, то к программированию значит ещё пока не готов.

Надо понимать что такое бинарные данные, но если не мыслишь этими категориями, то наверное просто направление конкретное не для тебя.

Ещё надо уметь пользоваться чем-нибудь вроде std::map или std::set, вот на голом си эту задачу без прикручивания библиотек или изобретения велосипедов будет сложно сделать.

Читаешь поток, сначала 6 байт, по ним вычисляешь длину пакеты и читаешь пакет. Дальше проверяешь тип пакета и вычленяешь адреса.

Адреса записываешь в виде пары "младший адрес"-"старший адрес", и сохраняешь это в std::map или std::set. Всё. Когда прочитал весь поток, выводишь результат куда надо, у тебя как раз будут уникальные пары.

Это реально лабораторная работа, ещё не тот уровень, чтобы в коммерческое программирование лезть.
Аноним 27/04/21 Втр 01:59:45 245332012474
>>245331806
>не парься о краевом случае, где все адрса уникальны
а в чем проблема, допустим ты потоково распарсил файл и сгенерил поток from to адресов, вызываешь sort обычный из терминала, а потом читаешь подряд и считаешь штуки и опять у тебя поток ответов.
Аноним 27/04/21 Втр 02:18:06 245332747475
>>245332012
Не понял о чем ты и что за стримы.
А про краевой случай - допустим нагрузка очень маленькая (порядка дестяка байт), тогда пакеты, допустим будут по 40Б. Размер пары адресов 6Б. т.е. около 16% (тут очень примерно). Допустим у нас 100 ГБ файл, тогда 16% это 16 гигов уникальных данных. Не факт что у тебя столько оперативы с подкачкой найдется.
Сортировать уже после парсинга так себе идея. Можно прямо в процессе распихивать в хеш таблицу (либо инкремент зеркальной пары либо добавление новой и потом итерация по все хеш мапе с подсчеьами) к тому же сортировка большого объема данных да еще и по нестандартному сравнению может занять прилично времени.
Аноним 27/04/21 Втр 02:22:45 245332930476
>>245314905 (OP)
Хз как на плюсах но на джаве я представляю как это реализовать.
Аноним 27/04/21 Втр 02:25:09 245333017477
>>245332747
Если ты не делаешь олимпиадные задачки, где тебя специально ловить будут, на такую херню не нужно отвлекаться.

Лучше понимать, откуда берутся задачи и что там за проблемы.

Задача очевидная. Я даже сам когда-то давно такое делал, похожее.

Есть провайдер, он дампит весь проходящий трафик. Это делается через специальную команду управляемого свича. Дальше этот трафик надо анализировать. Например узнать, насколько много разных соединений идёт, широта использования сети.

По факту, скорее всего у тебя ограниченное количество IP адресов в твоей сети, и относительно много во внешней. Но при этом всё-таки очень много длительных соединений с большим общим трафиком, скажем пользователи на ютубе ролики смотрят, даже торрент трафик подразумевает, что там куски по 2-8мб в среднем.

То есть реально количество таких пар будет не очень большим, по крайней мере для 100Гб трафика. Десятки тысяч, максимум миллион уникальных пар, это грубая прикидка.

Аноним 27/04/21 Втр 02:26:06 245333053478
>>245332747
Проебался с адресами. 8 байт там в сумме. 20% пакета - размеры пары адреса. Тогда получаем на 100ГБ 20гб адресов
Аноним 27/04/21 Втр 02:32:08 245333239479
>>245333017
Я в курсе, что в реальности такое маловероятно, что и написал первым сообщениием ОПу, а потом просто пояснил подробнее за этот случай. Просто тут пол треда кулибиных, которые всякий хентай выдумывают, ОПа пугают и друг перед дружкой выпендриваются (двачи, что уж). Поэтому и написал сначала, что типа забей на этот случай.
Аноним 27/04/21 Втр 02:34:11 245333298480
>>245333053
В практической задаче надо скорее думать, как это дело по скорости оптимизировать. Потому что вряд ли будет история, что все адреса уникальные.

А вот что надо очень много файлов читать и быстро - очень даже.

Но на стажировку с оптимизациями может и не нужно заморачиваться, это уже продвинутый уровень.

То есть по-хорошему надо делать специальный бинарных буфер, подгружать в него, сканировать в нём.

fread(), это, сколько помню, системный вызов. Внутри ОС там конечно всё буферизуется, но сам по себе системный вызов штука дорогая и их надо минимизировать.

Всё можно оптимизировать, но это уже довольно сложный код будет. И надо понять, нужно ли реально в данной задаче это или и так сойдёт.
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов