Re[3]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 23.06.23 08:39
Оценка: 15 (1) +3 :))) :))) :))) :))) :))) :)
Здравствуйте, Qt-Coder, Вы писали:

QC>Я думал на RSDN такой каждый второй.


На RSDN каждый второй, дополнительно к этому, знает все про собак и кошек, владеет навыками медицины и психологии, досконально разбирается в устройстве автомобиля и в кулинарии, дает верные политические прогнозы и знает, как с прибылью инвестировать деньги.
Re: О собеседованиях на 700к/месяц
От: JacobR  
Дата: 23.06.23 06:56
Оценка: 12 (1) +18
Здравствуйте, Qt-Coder, Вы писали:

Либо это какая-то хитрая реклама Яндекс школы, либо человек невероятно уникальный, фактически единственный в стране, а может и мире. Поскольку большой стек практических знаний С/С++, знание архитектур x86/ARM, GPU. FPGA, по мимо этого глубокое знание работы виртуальной памяти, менеджера памяти, многопоточки и пр. Потом отдельно математика, мат.анализ университетского курса, следом машинное обучение, диплернинг и автору всего 33 года (согласно его комментариям на пикабу).
По сути автор в себе совместил как минимум трех сильных программистов/специалистов: системного/ низкоуровневый, прикладного и специалиста по машинному обучению в принципе такое, наверное, может быть, но скорее всего в общем случае этот опыт не масштабируем.
Re: О собеседованиях на 700к/месяц
От: qqqqq  
Дата: 23.06.23 21:52
Оценка: +3 :))) :))) :))) :))) :))
Здравствуйте, Qt-Coder, Вы писали:
QC>Выбрал я в итоге Яндекс[/q]


О собеседованиях на 700к/месяц
От: Qt-Coder  
Дата: 23.06.23 05:55
Оценка: 65 (12) +4
Перепост с пикабу.

Думаю, не секрет, что айтишники гребут деньги лопатой. Но вот что именно нужно сделать, чтобы получить такую работу — пишут редко. В марте этого года я решил сменить работу и весь апрель занимался прохождением собеседований, в итоге получил несколько предложений на зарплаты около 700к/месяц. Об этом и хотел бы рассказать.

Немного о себе: занимаюсь коммерческим программированием 13 лет, ещё несколько лет работал в других сферах. Основной язык С++, достаточно хорошо знаю Python и ML. Есть опыт работы как в мелких фирмах на 5 человек, так и в ИТ-гигантах.

Искал работу программистом, строго не руководителем. Это добавляло некоторых особенностей, т.к. существует мнение, что большие деньги можно получать только на руководящихся должностях. Это не всегда верно (но на руководящих должностях получать большие деньги проще, т.к. руководителей нужно больше, чем топовых специалистов).

Первым делом, когда я решил менять работу — я обновил профиль в linkedIn и на hh.ru, уже на следующий день мне начали писать рекрутеры. Меня стали звать на разные секции — как технические, так и "пообщаться". Про свои ответы либо не буду писать, либо очень коротко, т.к. ответы можно легко найти гуглением (а там, где не получится — спрашивайте в комментах), иначе пост совсем разрастётся.

Huawei
Одна интересная секция была на собесе в Хуавей. Я там шёл на должность ML-разработчика, который будет не модельки обучать, а писать сами библиотеки для обучения моделей. На собесе было человек 5 и они по очереди спрашивали меня каждый по своей теме (всё это длилось в сумме часа два):

— Сначала знание С++. Зачем нужны умные указатели, зачем нужен виртуальный деструктор, как устроен vtable, ещё какая-то муть. Я отвечал на всё легко и уверенно, интервьюер быстро "кивнул" и мы перешли к следующему.

— Аппаратура и программирование на С. Какие есть архитектуры помимо x86? Рассказал про ARM. Дальше спрашивали про вычисления на GPU — рассказал про примерную архитектуру и принципиальные отличия от CPU. "Что ещё можно использовать для вычислений?" Назвал FPGA, немного рассказал про особенности. Дальше этот же чел расспрашивал про особенности С. Разные вопросы про отличие между int *a =malloc(20); и int a[5];, про устройство менеджера памяти, про страницы памяти и виртуальную память (почему номера новых страниц всегда больше, чем номера старых? чтобы происходит с номерами удалённых страниц?), про механизм работы extern, union, volatile.

— Дальше были вопросы по математике. Как посчитать синус и косинус без соответствующей функции? Рассказал про ряды Тейлора. Что-то спросили про градиенты, попросили посчитать производную для |x| (модуль икса), а потом вторую производную. Дальше какие-то вопросы про градиенты. Перешли к аффинным преобразованиям и способам их описания. Рассказал про кольцо матриц, собственные вектора и их связь с геометрическим смыслом преобразования. Дальше спросили про Якобианы и Гессианы. Меня этот вопрос позабавил, но я рассказал и заодно упомянул, что эти штуки полезны для определения сходимости некоторых численных методов.

— Многопоточка. Тут всё было как-то быстро, видимо после первых трёх частей народ уже заскучал. Базово про примитивы синхрониазции (мьютексы, семафоры), про атомарность, заодно про атомарность на уровне процессора. Это ответил, рассказал про контаминацию кэша и методы разрешения конфликтов в кэше процессора — достаточно.

— Собственно, ML. Какие бывают слои у сеток, какие сейчас есть популярные архитектруры, почему 20 лет назад это не взлетало, хотя многие знания уже тогда были. Как инференсится дропаут, зачем нужна батч-нормализация, почему L1-регуляризация позволяет увидеть значимость фичей. Как построить эмбеддинги для слов, почему это вообще работает?

Собеседование оказалось очень разносторонним. Но это ещё не всё, после этого был ещё созвон на час, на котором мы обсуждали (уже с другими людьми) мой прошлый опыт. В каких крупных проектах участвовал, какие продуктовые фичи сам делал, какие решения сам принимал, как это отражалось на бизнесе. Несмотря на то, что я шёл разработчиком — ожидалось, что я буду очень автономным и иногда даже смогу как-то помогать в управлении/организации процессов. Технические вопросы почти не задавали.

В итоге мне предложили оклад 480к (после вычета налогов) и премии, которые зависят от разных факторов (мои показатели, общие финансовые показатели фирмы и т.п.), которые в среднем должны были добить мой доход до 685к/месяц.

Сбер
В Сбере было несколько секций с написанием кода и одна на "поболтать". Секции про общение везде проходят примерно одинаково, так что повторять тут не буду. Про написание кода:

— Чистый С++. Тут была секция на проверку моих знаний по самому языку. Мне показали код, в котором есть несколько классов, где-то виртуальные методы, какой-то класс наследуется от другого, где-то в конструкторах и деструкторах что-то нетривиальное написано. И вопрос был "что выведет программа?" Суть была в том, что там в родителе была функция print (которая что-то базовое пишет) и в наследнике она была переопределена. Небольшой gotсha момент был в том, что функция не была объявлена виртуальной. Дальше там эти принты возникали в конструкторе и десрукторе. В общем и целом — вопрос был о том, что в каком порядке вызывается. Я почти справился, но проглядел один вызов из-за невнимательно. Но это был простой момент (а на сложные я ответил), так что интервьюер кажется поверил, что это просто невнимательность, а не незнание. После этого спросили "а что задумывал автор кода?" и попросили исправить. Такие вопросы будут очень сложны для джунов, потому что "а откуда я знаю чего он хотел?" и относительно легки для опытных разрабов, потому что понимаешь, какие есть расхожие подходы и что "вот так обычно пишут, а вот так — не пишут". В общем, вопрос крутой для определения опытности человека. Потом дали ещё кусок кода с многопоточкой и надо было сказать, есть ли в нём баги. Был потерян lock_guard (типичная ошибка работы с мьютексом), попросили исправить и объяснить, как именно раскручивается стек в многопоточке при обработке исключений.

Отличительной особенностью этой секции было то, что весь код писался в онлайн-трансляторе и каждый раз, когда я отвечал на вопрос "что выдаст код" мы просто запускали и смотрели. Особенно круто это было когда я ответил "упадёт с std::terminate" и оно действительно падало с std::terminate.

— Алгоритмы. Задачи, которые можно писать на любом языке (но я писал на С++).

Есть датчики. Один датчик сначала выдаёт нули, а потом, с определённого момента, начинает выдавать единицы. Есть синхронные показания N датчиков (в виде набора массивов, каждый содержит M значений). Нужно найти номер датчика, который сработал первым. Сделать надо эффективно, я реализовал за O(N + log(M)).

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

Была ещё какая-то задача, но уже не помню, что-то мелкое и скучное.

Про эту секцию могу сказать, что на высоком уровне тут уже обращают внимание не только на то, решил ты или нет, но ещё и как быстро, и какой код ты пишешь. У меня на каждую задачу уходило не больше 15 минут в сумме с выслушиванием условия и обсуждением моего решения, т.е. чистое написание кода занимало минут 5-10.

— Секция про ML. Тут были разные вопросы о том, как подходить к экспериментированию с моделями (зачем нужны отдельно валидационные и отдельно тестовые выборки?), что такое аб-тесты и т.п. Достаточно много вопросов про ранжирующие системы (какие бывают, какие есть особенности) — рассказывал про коллаборативную фильтрацию и эмбеддинги. Много каких-то технических подробностей спрашивали, например, почему разложение матрицы делают через SVD. Но в целом ничего особого. Типичная ML-секция с обязательными вопросами типа "как понять, что модель переобучилась, что делать? Как понять, что данных мало, что делать?"

— Общая секция. Я шёл в СберДевайсы, поэтому было важно ещё понимание каких-то "железных" вопросов. Рассказал про архитектуру процессора, кэши, ядра, конвейер, о том что внутри процессора есть отдельный компьютер и за один такт выполняется несколько микро-кодов, про TLB и прочее. Дальше про видюхи, их особенности относительно процов, про взаимодействие с памятью. Был вопрос типа "вам надо ускорить перемножение матриц, как бы вы это сделали с помощью видеокарты?" или, например, "можно ли ускорить поиск кратчайшего пути на графе с помощью видеокарты?".

Сбер предложил оклад 455к и премии разные, в сумме выходило 675к в месяц.

Яндекс
Я уже раньше работал в Яндексе и даже успел провести больше сотни собеседований, так что достаточно хорошо понимал, что меня ждёт. А ждали меня несколько секций с написанием кода "в блокноте", т.е. без возможности запуска. И ещё одна секция по ML.

— Алгоритмы.

Удалить нули из массива. Тут всё просто, проверка на совсем новичка.

Написать свою реализацию shared_ptr. Уныло, но хорошо проверяет понимание внутренней структуры языка.

Написать условный рейт-лимитер. Есть функция, которая на вход принимает timestamp события и максимально допустимое число таких событий за последние 600 секунд. Нам надо на каждый вызов этой фукнции ответить, хороший ли это запрос или уже "лишний", т.е. за последние 600 секунд было больше запросов, чем пороговое значение. Гарантируется, что timestamp не убывают.

Есть названия программ (по сути, просто набор строк), и для каждой есть набор зависимостей (т.е. массив строк на каждую программу). Зависимости только из того же списка, т.е. если у нас есть программы a, b, c, то программа b может зависеть от a, но не может зависеть от f (потому что нет в списке программы f). Надо вывести эти названия программ в "корректном" порядке для установки, т.е. чтобы если пакет шёл в списке — все его зависимости были раньше него в данном списке.

Были и другие задачи, но я точно уже условия не помню. Здесь опять же важна скорость написания и наличие багов. Если посадить хотя бы один баг (и не отловить самому) — это достаточно критично.

— ML. Эту секцию мне не очень хочется подробно описывать, т.к. она была почти "по учебнику". Если есть желание подготовиться — HR присылает ссылку на youtube с видосами от Яндекса. Видосы очень крутые (можно искать по ключевым словам "Лекции по машинному обучению, Воронцов ШАД").

— Общая секция. Вот тут была основная "соль". Просто хорошо решать алгоритмические задачки — дело полезное, но не на 700к. Тут было общение с будущим руководителем и обсуждение потенциальных задач. Мне назвали примеры задач (увы, разглашать не могу, т.к. они сейчас в работы) и я с ходу предложил какие-то идеи по решению этих проблем. Дабы не быть голословным, приведу примеры того, что могли бы спросить. Это гео-сервисы, поэтому вопросы вполне тематичные:

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

Мы запускаем бизнес (например, Такси) в новом городе. У нас есть примерная карта дорог, но нет статистики проездов по этим дорогам. Как предсказывать время проезда чтобы честно оценивать стоимость поездки? Опять же, вопрос про бизнес, а не про технологии. Да, тут надо обязательно проявить знание технологий, но этого мало. Типичный программист "в теме" скажет, что надо найти поставщиков данных, можно поездить самим по этим дорогам чтобы насобирать статистику и т.п. Но все эти этапы занимают как минимум недели, а в реальности — месяцы. А для бизнеса запуститься с плохими данными на полгода раньше — это зачастую выгоднее, чем запуститься спустя полгода, но с хорошими и точными данными. Поэтому хороший кандидат должен сам сказать о том, что вот, мол "можно купить данные — но это плохо и долго. А мы с вами сделаем вот так и вот так, тогда будет качество хуже, но зато быстро. Насколько именно качество будет хуже — считать будем вот так. А на бизнесовых метриках (которые человек сам должен предложить) это отразится вот эдак. А потом мы спросим стейкходлеров сервиса, готовы ли они запускать сервис с вот таки вот (относительно плохим) качеством, но на полгода раньше".

Это тоже не всё, но суть, думаю, ясна.

Яндекс предложил мне оклад 490к и ещё разные премии, в сумме с которыми вышло 720к в месяц.

Другие фирмы

Помимо этого я проходил собеседования ещё в Тинькофф, Вк, 1С и некоторые мелкие фирмы. Но общение с ними выкладывать уже день, да и в целом получилось достаточно чтобы сформировать понимание того, какого плана вопросы мне задавали. Если будут вопросы или нужны какие-то уточнения — пишите в комментах.

Выбрал я в итоге Яндекс, но текущий размер зарплаты лучше не буду озвучивать во избежание казусов. Он больше, чем мне изначально предлагали.

pikabu
Re[2]: О собеседованиях на 700к/месяц
От: Qt-Coder  
Дата: 23.06.23 07:14
Оценка: +2 :))) :))) :))) :)))
Я думал на RSDN такой каждый второй.
Re[3]: О собеседованиях на 700к/месяц
От: JacobR  
Дата: 23.06.23 08:10
Оценка: +11 :)
Здравствуйте, CreatorCray, Вы писали:

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


JR>> стек практических знаний С/С++

JR>> знание архитектур x86/ARM
JR>> глубокое знание работы виртуальной памяти
JR>> менеджера памяти
JR>> многопоточки

CC>Это всё нормальный системщик знает просто по определению



Что бы все это знал нормальный системщик он должен с этим работать, не просто в условной википедии прочитать про x86 и ARM, а иметь коммерческий опыт разработки под обе архитектуры на низком урвоне, и более того даже нормальному системщику может “не повести” и он весьма ограниченно будет касаться к примеру, многопоточности в проекте, кешей памяти и пр.
А GPU и особенно FPGA это вообще отдельный мир, опять же что бы нормально разбираться недостаточно купить кид и поморгать светодиодом, нужны годы в коммерческом проекте и так по всем пунктам.
Что бы не быть неправильно понятым я не утверждаю, что в посте на пикабу фейк я вполне допускаю что в 33 года всего этого можно достичь, но в общем случае в ущерб другой жизни (семьи, путешествия, отдыху, друзьям и пр)
Re[4]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 23.06.23 10:31
Оценка: -7 :))
Здравствуйте, JacobR, Вы писали:

JR>Что бы все это знал нормальный системщик он должен с этим работать

НЕМОЖЕТБЫТЬ!!! (tm)

JR>более того даже нормальному системщику может “не повести” и он весьма ограниченно будет касаться к примеру, многопоточности в проекте, кешей памяти и пр.

Шта?

JR>А GPU и особенно FPGA это вообще отдельный мир

GPU не очень уж и отдельный с появлением Cuda.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 23.06.23 08:37
Оценка: 17 (2) +3
Здравствуйте, Qt-Coder, Вы писали:

QC>

QC>Как строить маршрут так, чтобы водитель доезжал быстрее? это вопрос-бомба, вопрос-убийца. Потому что большинство программистов начинают рассказывать про прекрасные алгоритмы, а потом спотыкаются на вопросе "а как вы измерите тот факт, что водитель стал доезжать быстрее? Как вы докажете, что вы что-то заметно улучшили для клиента?" Суть вопроса в том, что надо думать не только про техническую составляющую, но и про конечного пользователя. Недостаточно написать алгоритм, который работает быстрее или точнее предсказывает маршрут. Надо ещё чтобы это было полезно для клиента, а программисты про это часто забывают.


Надо сказать, получается это у Яндекса весьма паршиво. Яндекс любит потоки по магистралям "ускорять", заманивая часть водителей на дублер. А потом, в том месте, где дублер назад вливается в основную дорогу, образуется пробка. Которую Яндекс и организовал — все же по евонному навигатору едут.
Re[4]: О собеседованиях на 700к/месяц
От: Ip Man Китай  
Дата: 23.06.23 19:27
Оценка: 13 (2) +1
Здравствуйте, cppguard, Вы писали:

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


Это очень, очень верное замечание. Почти всегда корень проблем вроде "меня не взяли в Амазон " кроется в том, что на работе мозг не выполняет тех задач, которые задают на интервью. Поэтому единственный способ — прокачивать мозг всё время (всё время! а не за три недели до интервью). Конечно, это напряжно, и когда после восьмичасового рабочего дня стоит выбор "попить пива", "пойти поспать" и "покодить задачки", тяжело выбрать последний вариант. Ну и понятно, мы всё же люди, а не роботы.

Поэтому я настоятельно рекомендую не упахиваться на работе, которую вы планируете сменить через пару лет. Идеально будет работать часов 5 в день, а остальное время посвящать решению задач, изучению ЯП, итп — то есть, того, что вам необходимо знать и уметь, чтобы найти следующую работу и повысить доход.

Касаемо спектра знаний в посте — действительно, выглядит как хороший программист; я не знаком с ML, но в остальном — всё актуально, и меня так собеседуют, и я других тоже
Re[2]: О собеседованиях на 700к/месяц
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 23.06.23 10:42
Оценка: 12 (3)
Здравствуйте, JacobR, Вы писали:

JR>По сути автор в себе совместил как минимум трех сильных программистов/специалистов: системного/ низкоуровневый, прикладного и специалиста по машинному обучению в принципе такое, наверное, может быть, но скорее всего в общем случае этот опыт не масштабируем.


Кажется, что такой опыт вполне можно получить после сильного технического вуза. Я знаю некоторых похожих товарищей, которые уже выходили из вуза с сильными знаниями математики, потом начинали писать какие-нибудь кроссплатформенные платформы и движки на С++. А на волне хайпа в нейросетях на существующую базу довольно легко уставалвивали надстройку в виде ML и DL.

Например, Alexey Bochkovskiy. Можно зайти к нему на сайт, посмотреть статьи на Хабре, который сначала подхватил и очень сильно развил Darknet, создав новую архитектуру YOLOv4 на С/С++, а потом уже с азиатскими коллегами реализовал YOLOv7 на Питоне.
Его путь примерно такой же: низкоуровневое программирование на С/С++, многопоточность, участие в разработке нейросетевого фреймворка, GPU, авторство в одних из самых популярных архитектур нейросетей в мире вместе с публикациями.

Близко к нему ещё один достаточно публичный человек — Ашот Варданян. У него и программисткий плюсовый стек довольно широкий, и разработка прикладного ПО для нейросетей.

Знаю ещё несколько таких товарищей, как публичных, так и не очень. Их история успеха — это очень глубоко и системно разбираться в предмете по вполне определённому пути от более фундаментального к менее: математика в техническом вузе -> программирование на С/С++ как наиболее подходящего к железу -> прикладная область типа ML.
Re[2]: О собеседованиях на 700к/месяц
От: mtnl  
Дата: 23.06.23 09:35
Оценка: 5 (1) +2
Здравствуйте, cppguard, Вы писали:

C>По мне так самое вероятное — замануха с курсов. Я в последнее время заметил, что ютуберы предлагают скидку 50% на эти курсы, а значит уже не тот поток клиентов. Менее вероятное — пиар Яндекса. Тут сложно сделать какие-то выводы, потому что мало информации. Но моё личное мнение — Яндекс превращается во что-то MS-подобное, где уже давно нет нормальных спецов, а только индус индусом погоняет.


Ненене.
ШАД — это норм тема, для поступления в которую люди готовы год и больше зубрить матаны и оно бесплатное. Воронцов — крутой, преподает в МФТИ и МГУ и воспитал очень заметную часть индустрии (ну и немножко предсказуемо, что воспитанные им и спрашивают на собесе примерно то же, чему их учили). И материалы упомянутого курса лежат официально и бесплатно.
А блогеры рекламируют штуки типа Практикума, которые уже чисто проекты ради зарабатывания бабла.
Отредактировано 23.06.2023 9:40 mtnl . Предыдущая версия . Еще …
Отредактировано 23.06.2023 9:36 mtnl . Предыдущая версия .
Re: О собеседованиях на 700к/месяц
От: syrompe  
Дата: 24.06.23 13:52
Оценка: 2 (1) +2
Ну для начала манипуляция с заголовком, в котором заявлено 700к, а в тексте 450к+- (что уже более менее правдоподобно) и "премии разные".
Re[3]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 23.06.23 10:02
Оценка: 1 (1) +2
Здравствуйте, mtnl, Вы писали:

M>У них вообще-то есть подразделение, которое пишет саму платформу и там есть, где плюсовику развернуться.


Плюсовику. Но автор — какой-то убер специалист, который и за математику скажет, и прикладное машинное обучение знает (а это прям такой нормальный навык). И тут вдруг он идёт в 1С пилить их платформу? Большие сомнения.
Re: О собеседованиях на 700к/месяц
От: gyraboo  
Дата: 23.06.23 08:11
Оценка: :)))
Здравствуйте, Qt-Coder, Вы писали:

Очень интересно, но н*%@я не понятно!
Re: О собеседованиях на 700к/месяц
От: Dair Россия https://dair.spb.ru
Дата: 23.06.23 08:19
Оценка: +3
Здравствуйте, Qt-Coder, Вы писали:

QC>Перепост с пикабу.


Ничего так. Я знаю наверно 3/4 из перечисленного — не знаю ML совсем и про расчёты на GPU и низкоуровневое не могу сказать нормально, надо как-то изучать вопрос, практики не было никогда.

Могу позавидовать столь разностороннему опыту
Re[3]: О собеседованиях на 700к/месяц
От: JacobR  
Дата: 23.06.23 10:17
Оценка: +3
Здравствуйте, mtnl, Вы писали:

M>Вполне серийный человек, обычно у таких образование — радиофизика или мехмат нормального вуза — дальше как опция пару лет в оборонном НИИ близко к железу — дальше работа в ЦРТ, конторах, делающих DPI или ныне ушедних Нокиа или Интеле, Хуавей их тоже активно зарплатами из регионов к себе перетаскивает. Я прямо несколько таких знаю.


Был бы серийный человек то ни кто бы не предлагал 700к, работа в оборонном НИИ скорее портит чем идет на пользу, но суть даже не в этом, все что вы перечислили это галопом по Европам получается. Плюс должно быть большое везение, что бы попасть на удачный проект у меня как раз такой пример есть я после института попал в системное низкоуровневое программирование в команду занимающеюся реализацией стека TCP/IP и у меня было много работы с железом, алгоритмами, многопоточностью все как низком уровне так и прикладном, а мой коллега попал в команду занимающейся разработкой bios/UFFI и там тоже вроде низкоуровневое системное программирование, но задачи не особо “прокачивающие” все по сути заключалось в работе с регистрами с минимум многопоточности, без каких то префомансных проблем и пр.

Вот и считайте, чтобы в среднем быть сильным специалистом в своей области, нужно (по моим прикидкам) не меньше пяти лет работы в продакшене в хорошем проекте (элемент везения), на ведущей роли (тоже элемент удачи) с имплементацией фичей, разбора сапортных кейсов которые дошли до дева, и пр., в том же проекте DPI кто то сетевые фильтры пишет и занимается перехватыванием трафика и анализом, а кто то бизнес логику прикручивает и т.д. Так же иметь особенность не забывать не используемое, потому что после пяти лет работы с DPI, следующие пять лет работы в ЦРТ могут полностью “выместить” предыдущие знания у среднего человека у которого кроме работы, еще личная жизнь, семья, дети, школа и пр.

По моему опыту человек именно, что уникальный, что компания готова платить ему 700 тысяч рублей на руки.
Re[2]: О собеседованиях на 700к/месяц
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 24.06.23 21:41
Оценка: +3
Здравствуйте, JacobR, Вы писали:

JR>Либо это какая-то хитрая реклама Яндекс школы, либо человек невероятно уникальный, фактически единственный в стране, а может и мире.

Либо он просто приукрашивает. Видел людей которые пишут много чего в резюме, но как только задаёшь им вопросы по теме немного глубже чем написано в резюме — они сливаются или показывают непонимание вопроса. ML-щик и системщик вряд ли хорошо знает С++ потому что не писал сложны систем и решений на С++, плюсовик, вряд ли хорошо знает ML. Вопрос в том, может ли человек начать работать и разбираться здесь и сейчас в теме или нужно чтобы он был погружён в тему.
Sic luceat lux!
Отредактировано 24.06.2023 21:44 Kernan . Предыдущая версия .
Re[7]: О собеседованиях на 700к/месяц
От: SkyDance Земля  
Дата: 27.07.23 22:36
Оценка: +3
CC>Просто муки ацкие для современных "погромистов".

Ровно наоборот, современные программисты и хотели бы поковыряться в прикольных заковыристых штуках, но такую роскошь им никто не даст. Знаешь ли, сделать дорого и за долго — ничего сложного. А вот чтоб сделать быстро (не в плане асимптотики алгоритма, а чтоб продукт вышел вчера) — это сложная задача.

CC>Это ты скорее какой то backend описываешь.


Дык ядро это и есть бэкенд бекенда В ядре многое куда проще, чем выше уровнями. Потому что слоев абстракции меньше.
Re[11]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 27.06.23 11:02
Оценка: 18 (2)
Здравствуйте, Sharov, Вы писали:

S>А почему, мы же можем аппроксимировать для любой точки?


Потому что у нас не аппроксимация, а разложение в бесконечный ряд. Это первая проблема — мы не можем бесконечно вычислять члены этого ряда. Для аппроксимирующей функции мы всегда знаем погрешность. Для ряда Тейлора мы ограничиваем последовательность первыми N членами и можем посчитать погрешность как сумму оставшихся членов. Но не факт, что этот ряд будет сходиться, а значит суммы вообще может не существовать. Вторая проблема — нужно знать значение самой функции в точке разложения. Допустим, что для sin/cos это будет чередующиеся нули и единицы, но тогда чем дальше мы от точки разложения вычисляем значение исходной функции, тем больше растёт ошибка. Третья проблема — ограничивая члены ряда, мы получаем полином k-ой степени, а значит у нас может быть не более k-1 экстремумов, но изначальная функция может быть гораздо сложнее, а значит мы не только получаем непонятную прогрешность и но и вообще рискуем получить не то, что планировали при вычислениях. Например, тот же sin/cos имеют бесконечное число локальных экстремумов, а значит для использования ряда Тейлора нужно учитывать цикличность и приводить аргумент к виду [0; pi/2] (если sin) или [-pi/2; pi/2] (если cos). Четвёртая проблема — ручные аппроксимации функций нам нужны в системах на кристалле, которые не умеют конвееризацию и out-of-order execution, поэтому часто аппроксимации не только расчитываются исходя из погрешности, но и исходя из того, какие операции выполняются быстрее на целевой системе.
Re[5]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 23.06.23 21:41
Оценка: 13 (2)
Здравствуйте, Ip Man, Вы писали:

IM>Касаемо спектра знаний в посте — действительно, выглядит как хороший программист; я не знаком с ML, но в остальном — всё актуально, и меня так собеседуют, и я других тоже


Насколько глубоко можно знать все те темы одновременно? Я уже привёл пример, что ряды Тейлора и аппроксимация синуса это из области "что-то слышал", и для меня такой ответ был бы сродни "ничего не знаю". Другие вопросы тоже выглядят так, словно собеседующие прошли по верхам. Нужны ли такие вопросы поверхностные вопросы на собеседовании? — Это уже тема отдельного поста. Меня буквально недавно спрашивали про устройство красно-чёрных деревьев. А правда не знаю, зачем нужно это знать. Мои знания оканчиваются на "если при операциях соблюдать красно-чёрное свойство для всех узлов, то деревов остаётся сбалансированным", собеседующий же хотел узнать алгоритмы добавления и удаления. При этом он не знал, скажем, про существование декартова дерева, которое и написать с нуля проще, и код получается компактнее, и у которого интересные побочные эффекты. И получается, что по его мнению я не знаю про деверья поиска, по моему — он не знает =) Возможно, у автора и его собеседователей этот момент совпал. Я честно пытался в началее года поставить похожий эксперимент и запросил 450К на hh.ru, но никто не писал от слова совсем.
Re[8]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 28.06.23 21:15
Оценка: 12 (1) +1
Здравствуйте, sergey2b, Вы писали:

S>я спросил может ищут на C а потом генерируют отчет на Python

S>нет говорят мы в облака загружаем логи а там мощи до дури так что на Python все

Это пока облака не начнут заряжать за перерасход электричества в датацентрах.
То есть, примерно до послезавтра.
www.blinnov.com
Re[2]: О собеседованиях на 700к/месяц
От: mgu  
Дата: 26.06.23 22:20
Оценка: 3 (1) +1
Здравствуйте, syrompe, Вы писали:

S>Ну для начала манипуляция с заголовком, в котором заявлено 700к, а в тексте 450к+- (что уже более менее правдоподобно) и "премии разные".


- Хаим, я слышал вы выиграли миллион в лотерею! Это правда?
— Не совсем.
— Что значит не совсем?
— Ну во-первых не миллион, а тысячу. Во-вторых, не в лотерею, а в карты. И в третьих, не выиграл, а проиграл.

Re[5]: О собеседованиях на 700к/месяц
От: MaximVK Россия  
Дата: 03.03.24 23:41
Оценка: 2 (1) +1
Здравствуйте, Ip Man, Вы писали:

IM>Поэтому я настоятельно рекомендую не упахиваться на работе, которую вы планируете сменить через пару лет. Идеально будет работать часов 5 в день, а остальное время посвящать решению задач, изучению ЯП, итп — то есть, того, что вам необходимо знать и уметь, чтобы найти следующую работу и повысить доход.


Я использую принцип, что часть времени я трачу на повышение эффективности собственной работы. Типа лучше день потерять, а потом за пять минут долететь.
Во-первых, это формирует полезный навык находить "неэффективности" в своей и чужой работе.
Во-вторых, начинаешь обрастать набором инструментов и практик.
И в-третьих, внезапно находишь самые неожиданные и порой нетривиальные задачи, которые расширяют кругозор и не дают замкнуться на узком домене основной работы.
Re[2]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 23.06.23 07:56
Оценка: +2
Здравствуйте, JacobR, Вы писали:

JR> стек практических знаний С/С++

JR> знание архитектур x86/ARM
JR> глубокое знание работы виртуальной памяти
JR> менеджера памяти
JR> многопоточки

Это всё нормальный системщик знает просто по определению
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: О собеседованиях на 700к/месяц
От: Артём Австралия жж
Дата: 23.06.23 08:14
Оценка: :))
Здравствуйте, CreatorCray, Вы писали:

JR>> стек практических знаний С/С++

JR>> знание архитектур x86/ARM
JR>> глубокое знание работы виртуальной памяти
JR>> менеджера памяти
JR>> многопоточки

CC>Это всё нормальный системщик знает просто по определению


Ты перечислил уровень кодерка вульгариса и удачно забыл упомянуть математику с нейросетками.
Re: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 23.06.23 08:31
Оценка: +2
Здравствуйте, Qt-Coder, Вы писали:

QC>Перепост с пикабу.


Не, ну если Пикабу, то верняк 100%. Не отрицаю что история могла иметь место, но есть несколько "но".

1. Если я правильно понял первую задачу, то алгоритм там O(N*log(M)) должен быть, а не как он написал. Спишем на описку.
2. Совмещать столько знаний и поддерживать их актуальность невероятно сложно, это нехилая когнитивная нагрузка. Без шуток. Тут нужно либо на веществах сидеть плотно, либо прямо жёстко следить за питанием, сном, распорядком дня. Либо автор просто умудрился нахватать по верхам. На это косвено указывает упоминание рядов Тейлора, которое насколько же полезно для аппрокцимации, насколько и предел (1+1/x)^x — ни на сколько. Никто в реальной жизни так не делает, потому что проблемы со сходимостью и с точностью — чем дальше от нуля (или в какой точке идёт разложение), тем хуже точность.
3. При озвученом уровне знаний и опыта оставаться в России очень странно. Ну, допустим есть причина. Но чел пишет, что он в 1С собеседовался
4. Снакомый в Сбере, которому я склонен верить, говорил, что 600-700К это реальность, но нужно нести какую-то ответственность: ведущий программист, руководитель проекта и т.д. Просто так говнокодить за эти деньги никто не даст.
5. Да, из России кто-то уехал, но кто-то и остался. Да и новое поколение подрастает. Это к тому, что выгоднее и безопаснее (с точки зрения успеха проекта) взять 3 х 200К, чем одного за 600. Возможно, что это даже и продуктивнее.
6. Я полгода назад выставил на hh.ru своё резюме на 450К — никто не писал, хотя резюме у меня неплохое (там и FAANG, и стартапы всякие интересные). Потом начал опускать ценник. Где-то на отметке 250К начали писать. Яндекс спамил, Касперский, всякие noname-ы.

По мне так самое вероятное — замануха с курсов. Я в последнее время заметил, что ютуберы предлагают скидку 50% на эти курсы, а значит уже не тот поток клиентов. Менее вероятное — пиар Яндекса. Тут сложно сделать какие-то выводы, потому что мало информации. Но моё личное мнение — Яндекс превращается во что-то MS-подобное, где уже давно нет нормальных спецов, а только индус индусом погоняет.
Re[3]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 23.06.23 10:01
Оценка: +1 :)
Здравствуйте, m2user, Вы писали:

M>И какой же по вашему должен быть объем курсов в часах, чтобы освоить все эти знания и умения (пусть без опыта решения олимпиадных задач) ?

M>

Так а кто говорит о том, что на курсах дают все те навыки, которыми автор бравирует? На курсах денежку берут, этого достаточно.
Re[3]: О собеседованиях на 700к/месяц
От: Артём Австралия жж
Дата: 23.06.23 10:56
Оценка: :))
Здравствуйте, Nuzhny, Вы писали:

N>Кажется, что такой опыт вполне можно получить


N>Например, Alexey Bochkovskiy. Можно зайти к нему на сайт, посмотреть статьи на Хабре, который сначала подхватил и очень сильно развил Darknet, создав новую архитектуру YOLOv4 на С/С++, а потом уже с азиатскими коллегами реализовал YOLOv7 на Питоне.

N>Его путь примерно такой же: низкоуровневое программирование на С/С++, многопоточность, участие в разработке нейросетевого фреймворка, GPU, авторство в одних из самых популярных архитектур нейросетей в мире вместе с публикациями.

N>Близко к нему ещё один достаточно публичный человек — Ашот Варданян. У него и программисткий плюсовый стек довольно широкий, и разработка прикладного ПО для нейросетей.


N>Знаю ещё несколько таких товарищей, как публичных, так и не очень. Их история успеха — это очень глубоко и системно разбираться в предмете по вполне определённому пути от более фундаментального к менее: математика в техническом вузе -> программирование на С/С++ как наиболее подходящего к железу -> прикладная область типа ML.


Ну это суперзвёзды же. А вот Крейтор влез с "любой нормальный системщик знает многопоточку". Да знает, но таких за десятку пучок! А "с азиатскими коллегами реализовал YOLOv7 на Питоне"- это не писюн собачий.
Я может быть, со временем, смогу асилить, но пока ниасилил эти ваши ML на уровне "натренировать нейросетку" для продакшена. Потому, думаю, у многих подгорело- это не типичный C++ а нечто совсем другое.
Re[3]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 23.06.23 11:30
Оценка: +2
Здравствуйте, Nuzhny, Вы писали:

N>Кажется, что такой опыт вполне можно получить после сильного технического вуза. Я знаю некоторых похожих товарищей, которые уже выходили из вуза с сильными знаниями математики, потом начинали писать какие-нибудь кроссплатформенные платформы и движки на С++. А на волне хайпа в нейросетях на существующую базу довольно легко уставалвивали надстройку в виде ML и DL.


Вся соль не в получении знаний, а в их удержании. У меня был одногруппник — въезжал в темы гораздо шустрее меня, что в математику, что в программирование. Но после выпуска он довольно быстро стал управленцем. И вот через 12 мы встретились, поговорили, и я понял, что у него мало что сохранилось в голове с универской поры. У меня так же тема — 10 лет назад мог легко сказать за распознавание речи, с лёгкостью проходил собеседования по этой теме. Сейчас кое-что помню, но собеседование уже не пройду. Пока я ещё не встречал людей, которые единожды изучив какую-то тему, легко бы ориентировались в ней годы спустя. К сожалению, так работает мозг — ослабляет нейронные связи до тех участков, которые редко используются. Возможно, что по какой-то счастливой случайности автору задавали поверхностные вопросы, а он сохранил поверхностные знания. Например, с линейной алгеброй в чистом виде я давно не работаю, и не скажу с ходу, что лучше — BLAS или LAPACK, но на вопрос, который задали автору про SVD, отвечу. Или вот какие есть архитектуры — ну ARM есть, ну MIPS. Но там ведь тысячи нюансов!
Re[5]: О собеседованиях на 700к/месяц
От: Codealot Земля  
Дата: 23.06.23 16:45
Оценка: +1 :)
Здравствуйте, CreatorCray, Вы писали:

CC>GPU не очень уж и отдельный с появлением Cuda.


Сразу видно нахватавшегося по верхам.
Ад пуст, все бесы здесь.
Re[6]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 23.06.23 23:31
Оценка: :))
Здравствуйте, Codealot, Вы писали:

CC>>GPU не очень уж и отдельный с появлением Cuda.

C>Сразу видно нахватавшегося по верхам.
Дада, так нахватался что в своё время писал под nVidia Tesla когда они наконец появились с поддержкой 1.3.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[7]: О собеседованиях на 700к/месяц
От: Codealot Земля  
Дата: 24.06.23 05:41
Оценка: :))
Здравствуйте, CreatorCray, Вы писали:

CC>Дада, так нахватался что в своё время писал под nVidia Tesla когда они наконец появились с поддержкой 1.3.


Главное, чтобы лохи верили, а мне можешь не рассказывать.
Ад пуст, все бесы здесь.
Re[6]: О собеседованиях на 700к/месяц
От: opfor  
Дата: 27.06.23 08:15
Оценка: +1 :)
Здравствуйте, Sharov, Вы писали:

S>По этой логике вкалывать вообще не надо-- работай вполсилы, без особого погружения.


так и делают
Re[6]: О собеседованиях на 700к/месяц
От: Ip Man Китай  
Дата: 27.06.23 22:29
Оценка: +2
Здравствуйте, Sharov, Вы писали:

S>По этой логике вкалывать вообще не надо-- работай вполсилы, без особого погружения, прыгай через 2 года на другую работу и так по кругу.


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

А зачем, собственно, работать в полную силу в компании, которая недоплачивает и с которой не планируешь растить детей долгую карьеру?
Re: О собеседованиях на 700к/месяц
От: Worminator X Россия #StandWithPalestine 🖤🤍💚
Дата: 26.07.23 14:18
Оценка: +1 :)
Здравствуйте, Qt-Coder, Вы писали:

QC>Перепост с пикабу.


Типичный заказной пост. Что вполне ожидаемо от этой помойки, пропагандирующей нацизм и феминизм.
В реале есть статистика, согласно которой в России лидируют Java, .NET и Go разработчики, а C++-ники плетутся в хвосте, наряду с PHP'шниками и 1C'никами.
А Яндекс давно печально известен своими зарплатами ниже рынка.
Как запру я тебя за железный замок, за дубовую дверь окованную,
Чтоб свету божьего ты не видела, мое имя честное не порочила…
М. Лермонтов. Песня про царя Ивана Васильевича, молодого опричника и удалого купца Калашникова
Re[3]: О собеседованиях на 700к/месяц
От: RonWilson Россия  
Дата: 27.06.23 08:54
Оценка: 10 (1)
Здравствуйте, Sharov, Вы писали:

S>Кажется, что логично, если нам надо что-то считать, то посл-ть будет увеличиваться. Не понял подвох или суть вопроса.

S>А вот что происходит с удаленными номерами -- . Ничего, наверное. Нету же там како-то пула страниц.

Наверное, имелся ввиду вот этот случай
Re[2]: О собеседованиях на 700к/месяц
От: m2user  
Дата: 23.06.23 09:33
Оценка: :)
C>По мне так самое вероятное — замануха с курсов. Я в последнее время заметил, что ютуберы предлагают скидку 50% на эти курсы, а значит уже не тот поток клиентов.

И какой же по вашему должен быть объем курсов в часах, чтобы освоить все эти знания и умения (пусть без опыта решения олимпиадных задач) ?
Re[4]: О собеседованиях на 700к/месяц
От: T4r4sB Россия  
Дата: 23.06.23 21:08
Оценка: -1
Здравствуйте, Pzz, Вы писали:


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


А ещё хранит дома коллекцию оружия, разбирается в батт-плагах, трахает чёрных лесбиянок и прыгнул с парашюта
Re[6]: О собеседованиях на 700к/месяц
От: T4r4sB Россия  
Дата: 23.06.23 21:49
Оценка: +1
Здравствуйте, cppguard, Вы писали:

C> Я честно пытался в началее года поставить похожий эксперимент и запросил 450К на hh.ru, но никто не писал от слова совсем.


Мне кажется, люди с таким уровнем не на хх побираются, а их знают в лицо директора крутых фирм и время от времени приглашают на проекты. То есть они уже даже не составляют резюме.
Re[8]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 24.06.23 09:51
Оценка: :)
Здравствуйте, Codealot, Вы писали:

C>а мне можешь не рассказывать.

Дада, конечно!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: О собеседованиях на 700к/месяц
От: denisko http://sdeniskos.blogspot.com/
Дата: 26.06.23 20:12
Оценка: +1
Здравствуйте, JacobR, Вы писали:

JR>Здравствуйте, Qt-Coder, Вы писали:


JR>Либо это какая-то хитрая реклама Яндекс школы, либо человек невероятно уникальный, фактически единственный в стране, а может и мире.

Это стандартные вопросы в ХВ для человека без явной глубокой специализации, там таких 1000 человек, которые них уже ответили. По части (якобиан и гессиан) он просто херню нес.
<Подпись удалена модератором>
Re[2]: О собеседованиях на 700к/месяц
От: Sharov Россия  
Дата: 26.06.23 20:24
Оценка: +1
Здравствуйте, JacobR, Вы писали:

JR>Здравствуйте, Qt-Coder, Вы писали:


JR>Либо это какая-то хитрая реклама Яндекс школы, либо человек невероятно уникальный, фактически единственный в стране, а может и мире. Поскольку большой стек практических знаний С/С++, знание архитектур x86/ARM, GPU. FPGA, по мимо этого глубокое знание работы виртуальной памяти, менеджера памяти, многопоточки и пр. Потом отдельно математика, мат.анализ университетского курса, следом машинное обучение, диплернинг и автору всего 33 года (согласно его комментариям на пикабу).

JR>По сути автор в себе совместил как минимум трех сильных программистов/специалистов: системного/ низкоуровневый, прикладного и специалиста по машинному обучению в принципе такое, наверное, может быть, но скорее всего в общем случае этот опыт не масштабируем.

Не скажите, про железо вопросы более-менее простые, если проходил какой-нибудь курс на курсере про
процессоры или читал Хеннеси и Паттерсона. Чисто кругозорные вопросы обещго плана "что-то слышал".
Единственное, где бы я потерялся это тут

(почему номера новых страниц всегда больше, чем номера старых? чтобы происходит с номерами удалённых страниц?

Кажется, что логично, если нам надо что-то считать, то посл-ть будет увеличиваться. Не понял подвох или суть вопроса.
А вот что происходит с удаленными номерами -- . Ничего, наверное. Нету же там како-то пула страниц.

Что касается ML, вопросы, как он их описал, совсем несложные. Т.е. про железо и ml я бы мог поговрить,
но у меня стек .net, а не цпп или си. Из того что он описал не понятно как глубоко копали то же железо.
Скорее всего общие вещи поспрашивали про RISC vs CISC, что человек что-то слышал и хорош. Математика тоже
1-2 курсов тех вуза или ml учебника или соотв. курсов. Наибольшую сложность, если абстрагироваться от языка,
у меня вызвали бы гномики, но это Яндекс, никуда не денешься.
Кодом людям нужно помогать!
Отредактировано 26.06.2023 21:56 Sharov . Предыдущая версия .
Re[4]: О собеседованиях на 700к/месяц
От: mgu  
Дата: 26.06.23 21:56
Оценка: :)
Здравствуйте, Pzz, Вы писали:

QC>>Я думал на RSDN такой каждый второй.


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


И ещё рассуждает о высоких материях, путаясь в "тся" и "ться".
Re[3]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 26.06.23 22:48
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

L>Нет, там можно (и нужно) получить именно O(N+log(M))

L>Имхо это может быть сложно увидеть сразу, но при попытке реализовать алгоритм станет очевидно.

Я задачу понял так: даны N последовательностей, каждая состоит из M значений. В каждый последовательности сперва идут нули, потом в какой-то момент начинают идти единицы. Нужно определить номер последовательности, в которой индекс первой единицы — наименьший. Если всё верно, то я бы очень хотел посмотреть на алгоритм O(N+log(M)) для этой задачи.
Re[7]: О собеседованиях на 700к/месяц
От: syrompe  
Дата: 27.06.23 08:56
Оценка: +1
L>А дальше получаем, что имеем дело с O(log(1)) + O(log(2)) + .. + O(log(N-1)) + O(log(N)) = O(log(N))

Ох
O(N*log(N)) получается как ни крути

По вашей логике выходит тогда
1+2+3+...+N=O(N) — что сильно не так
Re[9]: О собеседованиях на 700к/месяц
От: syrompe  
Дата: 27.06.23 10:39
Оценка: +1
S>>Ох
S>>O(N*log(N)) получается как ни крути

L>Нет. Сумма асимптоматик (коей является О большое) — это max() (хотя бы тут.)

Из вашей же ссылки:

If the function f can be written as a finite sum of other functions, then the fastest growing one determines the order of f(n).

Ключевое выделил.



L>Тут сразу бросается в глаза, что

L>O(1)+O(2) = O(1)
Т.е. вы таки утверждаете что:
1+2+3+...+N=O(N)

Тогда сложность классического алгоритма сортировки вставками (да и пузырек тоже) O(N)
Re[9]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.07.23 21:38
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:

Аё>>Под Тесла какая-то премиальная CUDA, или что?

CC>Нет, просто тесла никогда не была видеокартой, она сразу исключтельно на вычислительные задачи затачивалась.

У нее видеовыходов даже нет. Специальная такая графическая карта без дырки для подключения монитора
Re[5]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.07.23 21:56
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

Аё>>А вот Крейтор влез с "любой нормальный системщик знает многопоточку".

CC>Вперёд, напиши что нить в современном кернеле без понимания multithreading.

Ну во-первых, чтобы писать в ядре, вполне можни обойтись весьма поверхностным пониманием многопоточки. На уровне, что если связанно модифицируем несколько переменных (полей структуры) то неплохо бы чем-то критическую секцию прикрыть (ну и на уровне понимания разницы между spin lock-ом и mutex-ом). В многопоточном user space все то же самое, кстати.

А во-вторых, я не уверен, что программирование в режиме ядра — это прям вершина сложности программистской мысли. Все это ваше ядрёносистемное программирование в среднем сводится к тому, чтобы взять кусок данных в одном месте, положить в другое место, пнуть заинтересованные стороны и сделать все это вовремя.
Re[9]: О собеседованиях на 700к/месяц
От: SkyDance Земля  
Дата: 28.07.23 04:06
Оценка: :)
CC>Скорее не хотят вообще нихрена думать, если смотреть в массе.

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

CC>Формально да, вот только если у бэкендеров надо сходить "на базу" то в ядре ты как раз весь движок этой базы пишешь полностью сам, а уж "ходилки" в неё пишутся не приходя в сознание.


Все наоборот, если ты в ядре или любом другом низком уровне, тебе нужно знать только то, что ниже уровнями. А если ты работаешь над высокоуровеневыми сервисами... в общем, я могу похвастаться, что и в BIOS ошибку находил. Копая с самого что ни на есть высокого уровня (иногда подскакивала latency сетевого сервиса).

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


Это-то как раз и делает задачу проще. Не надо делать выборы в условиях неопределенности. Надо вписаться, и решить простую задачу, работая над стабильным кодом. А ты вот попробуй напиши что-то надежное, если под тобой 20 слоев кривых фреймворков. Вот это — challenge!

CC>Т.е. банально помойки меньше, просто потому что там такое приводит к обрушению крыши куда быстрее что давит всех тараканов, кто пытается разводить такую помойку.


Вот и я про то же. Все куда проще, если тебе не требуется обходить грабли, заботливо разложенные на всех уровнях. И затыкать дыры текущих отовсюду абстракций. Я б вообще в embedded пошел, кабы там денег платили. Лафа — почти никаких уровней под тобой нет!
Re[10]: О собеседованиях на 700к/месяц
От: so5team https://stiffstream.com
Дата: 28.07.23 04:39
Оценка: +1
Здравствуйте, SkyDance, Вы писали:

SD>А тех, кто может сделать быстро — раз-два и обчелся.


А сколько среди них тех, кто сделает еще и хорошо?
Re[11]: О собеседованиях на 700к/месяц
От: SkyDance Земля  
Дата: 28.07.23 22:44
Оценка: :)
CC>Ну давай, расскажи мне!

Толку-то. У тебя однобокий опыт, все равно не поймешь.

CC>И постоянно какую то дичь творят.


Именно! И твоя задача — даже со всей этой дичью уметь работать.

CC>Ага, проще, щас! Когда задача звучит примерно так: надо чтоб бегемот полетел своими силами, без привлечения всего того что есть в авиации, ограничения не делают её проще.


Делают, конечно. Если у тебя одна степень свободы — не надо беспокоиться о всех других. Неспроста же тесты (и билды) должны быть reproducible, чтоб ограничить степень свободы единицой — твоим кодом. А теперь представь, что под тобой — 20 слоев фреймворков, и каждый вносит неопределенность (потому что не reproducible, — один подтаскивает конфиги откуда-то с удаленного сервера, другой вообще на дату-время завязан, третий — на геолокацию).

CC>К нам чужие грабли сверху падают.


Я достаточно отработал на всех уровнях инфры (вплоть до того самого embedded, но тогда был молод-зелен и не понимал, какой это был кайф, когда все ограничения понятны и очевидны, а код ведет себя так, как написано, причем каждый раз одинаково).
Re[2]: О собеседованиях на 700к/месяц
От: mtnl  
Дата: 23.06.23 09:17
Оценка:
Здравствуйте, JacobR, Вы писали:

JR>Здравствуйте, Qt-Coder, Вы писали:


JR>Либо это какая-то хитрая реклама Яндекс школы, либо человек невероятно уникальный, фактически единственный в стране, а может и мире. Поскольку большой стек практических знаний С/С++, знание архитектур x86/ARM, GPU. FPGA, по мимо этого глубокое знание работы виртуальной памяти, менеджера памяти, многопоточки и пр. Потом отдельно математика, мат.анализ университетского курса, следом машинное обучение, диплернинг и автору всего 33 года (согласно его комментариям на пикабу).

JR>По сути автор в себе совместил как минимум трех сильных программистов/специалистов: системного/ низкоуровневый, прикладного и специалиста по машинному обучению в принципе такое, наверное, может быть, но скорее всего в общем случае этот опыт не масштабируем.

Вполне серийный человек, обычно у таких образование — радиофизика или мехмат нормального вуза — дальше как опция пару лет в оборонном НИИ близко к железу — дальше работа в ЦРТ, конторах, делающих DPI или ныне ушедних Нокиа или Интеле, Хуавей их тоже активно зарплатами из регионов к себе перетаскивает. Я прямо несколько таких знаю.
Отредактировано 23.06.2023 9:45 mtnl . Предыдущая версия .
Re[2]: О собеседованиях на 700к/месяц
От: mtnl  
Дата: 23.06.23 09:25
Оценка:
Здравствуйте, cppguard, Вы писали:

C>3. При озвученом уровне знаний и опыта оставаться в России очень странно. Ну, допустим есть причина. Но чел пишет, что он в 1С собеседовался


У них вообще-то есть подразделение, которое пишет саму платформу и там есть, где плюсовику развернуться.
Re[3]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 23.06.23 10:03
Оценка:
Здравствуйте, mtnl, Вы писали:

M>ШАД — это норм тема, для поступления в которую люди готовы год и больше зубрить матаны и оно бесплатное.


Так я имел в виду гикбрейнсы и прочие скиллбоксы. К ШАДу никаких вопросов.
Re[5]: О собеседованиях на 700к/месяц
От: JacobR  
Дата: 23.06.23 10:43
Оценка:
Здравствуйте, CreatorCray, Вы писали:


CC>НЕМОЖЕТБЫТЬ!!! (tm)

В том то и дело что нормально ассказать про особенности x86 и ARM можно, когда как следует поработаешь с этими платформами на низком уровне, когда сутками посидишь под JTAG и разберёшься что это реально не баг в программе, а аппаратный баг чипа и который потом производитель подтвердит.


CC>Шта?


Я уже выше приводил пример, как мы с моим коллегой после института попали в разные проекты я в команду реализации стека TCP/IP и меня это очень сильно прокачало, потому что задачи были от работы с железом в ядре до создания api прикладного уровня с кучей различных алгоритмических задача, работы в многопоточной среде и пр, а коллега попал в команду bios/uefi и вроде тоже работы у него было много и низкий уровень, а задачи не особо сложные в плане алгоритмов, перфомонса, многопоточки и пр

CC>GPU не очень уж и отдельный с появлением Cuda.


Ну опять же на каком уровне разговор идет и кого собеседуют джуниора или как минимум сеньора, одно дело скачать книгу/доку по CUDA и реализовать примеры из нее и совсем другое работа в реальном продакшене с реальными кастомерами.
Re: О собеседованиях на 700к/месяц
От: prakop  
Дата: 23.06.23 11:51
Оценка:
Норм ЗП в РФ для хайповой темы типа ML. Не знаю как сейчас, но 2 года назад мне около 500к предлагали почти что все перечисленные в посте конторы, а я ж простой бэк.
Re[4]: О собеседованиях на 700к/месяц
От: AmSpb  
Дата: 23.06.23 16:09
Оценка:
Здравствуйте, JacobR, Вы писали:

JR>Что бы все это знал нормальный системщик он должен с этим работать, не просто в условной википедии прочитать про x86 и ARM, а иметь коммерческий опыт разработки под обе архитектуры на низком урвоне, и более того даже нормальному системщику может “не повести” и он весьма ограниченно будет касаться к примеру, многопоточности в проекте, кешей памяти и пр.

JR>А GPU и особенно FPGA это вообще отдельный мир, опять же что бы нормально разбираться недостаточно купить кид и поморгать светодиодом, нужны годы в коммерческом проекте и так по всем пунктам.
JR>Что бы не быть неправильно понятым я не утверждаю, что в посте на пикабу фейк я вполне допускаю что в 33 года всего этого можно достичь, но в общем случае в ущерб другой жизни (семьи, путешествия, отдыху, друзьям и пр)

Ну или книжки соответствующие почитать, и законспектировать, дабы отложилось в памяти
Например относительно кэшей процов, есть очень хорошая книга "A Primer on Memory Consistency and Cache Coherence Second Edition"
Re[4]: О собеседованиях на 700к/месяц
От: Codealot Земля  
Дата: 23.06.23 16:46
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Плюсовику. Но автор — какой-то убер специалист, который и за математику скажет, и прикладное машинное обучение знает (а это прям такой нормальный навык). И тут вдруг он идёт в 1С пилить их платформу? Большие сомнения.


Да, отчетливо пахнет фуфлом.
Ад пуст, все бесы здесь.
Re[6]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 23.06.23 21:16
Оценка:
Здравствуйте, JacobR, Вы писали:

JR>В том то и дело что нормально ассказать про особенности x86 и ARM можно, когда как следует поработаешь с этими платформами на низком уровне, когда сутками посидишь под JTAG и разберёшься что это реально не баг в программе, а аппаратный баг чипа и который потом производитель подтвердит.

И столько лично ты аппаратных багов нашёл в x86?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 23.06.23 21:16
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>А вот Крейтор влез с "любой нормальный системщик знает многопоточку".

Вперёд, напиши что нить в современном кернеле без понимания multithreading.

Аё> Да знает, но таких за десятку пучок!

Если бы.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 23.06.23 21:17
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>прыгнул с парашюта

... в результате чего на данный момент существует только в виде записей в DB
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: О собеседованиях на 700к/месяц
От: T4r4sB Россия  
Дата: 23.06.23 21:27
Оценка:
Здравствуйте, CreatorCray, Вы писали:

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


TB>>прыгнул с парашюта

CC>... в результате чего на данный момент существует только в виде записей в DB

И никто не может доказать, что он есть. Есть только стариковские байки, которым никто не верит.
Re[7]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 23.06.23 23:08
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Мне кажется, люди с таким уровнем не на хх побираются, а их знают в лицо директора крутых фирм и время от времени приглашают на проекты. То есть они уже даже не составляют резюме.


Так автор поста с пикабу пишет, что он просто обновил резюме на хх.
Re[5]: О собеседованиях на 700к/месяц
От: Codealot Земля  
Дата: 24.06.23 05:39
Оценка:
Здравствуйте, Ip Man, Вы писали:

IM>Поэтому я настоятельно рекомендую не упахиваться на работе, которую вы планируете сменить через пару лет. Идеально будет работать часов 5 в день, а остальное время посвящать решению задач, изучению ЯП, итп — то есть, того, что вам необходимо знать и уметь, чтобы найти следующую работу и повысить доход.


То есть, перейти на темную сторону силы и вместо прокачивания работы прокачивать собеседования.
Ад пуст, все бесы здесь.
Re[5]: О собеседованиях на 700к/месяц
От: Артём Австралия жж
Дата: 25.06.23 08:04
Оценка:
Здравствуйте, CreatorCray, Вы писали:

Аё>>А вот Крейтор влез с "любой нормальный системщик знает многопоточку".

CC>Вперёд, напиши что нить в современном кернеле без понимания multithreading.

Зачем ты с ядром влез?
Re[7]: О собеседованиях на 700к/месяц
От: Артём Австралия жж
Дата: 25.06.23 08:06
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Дада, так нахватался что в своё время писал под nVidia Tesla когда они наконец появились с поддержкой 1.3.

Под Тесла какая-то премиальная CUDA, или что?
Re[8]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 25.06.23 08:49
Оценка:
Здравствуйте, Артём, Вы писали:

CC>>Дада, так нахватался что в своё время писал под nVidia Tesla когда они наконец появились с поддержкой 1.3.

Аё>Под Тесла какая-то премиальная CUDA, или что?
Нет, просто тесла никогда не была видеокартой, она сразу исключтельно на вычислительные задачи затачивалась.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 25.06.23 08:49
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Зачем ты с ядром влез?

А какой системщик без ядра?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: О собеседованиях на 700к/месяц
От: mmu  
Дата: 26.06.23 00:46
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Насколько глубоко можно знать все те темы одновременно? Я уже привёл пример, что ряды Тейлора и аппроксимация синуса это из области "что-то слышал", и для меня такой ответ был бы сродни "ничего не знаю".


Про синус — это самый попсовый пример. Синус первым приводят в качестве примера разложения.
Re[7]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 26.06.23 05:09
Оценка:
Здравствуйте, mmu, Вы писали:

mmu>Про синус — это самый попсовый пример. Синус первым приводят в качестве примера разложения.


Дело не в синусе. Ряд Тейлора используется в математике как инструмент для разных доказательств, а для численных методов есть другие инструменты, более точные.
Re[2]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 26.06.23 21:31
Оценка:
Здравствуйте, cppguard, Вы писали:


C>1. Если я правильно понял первую задачу, то алгоритм там O(N*log(M)) должен быть, а не как он написал. Спишем на описку.


Нет, там можно (и нужно) получить именно O(N+log(M))
Имхо это может быть сложно увидеть сразу, но при попытке реализовать алгоритм станет очевидно.
www.blinnov.com
Re[2]: О собеседованиях на 700к/месяц
От: mgu  
Дата: 26.06.23 21:47
Оценка:
Здравствуйте, cppguard, Вы писали:

C>6. Я полгода назад выставил на hh.ru своё резюме на 450К — никто не писал, хотя резюме у меня неплохое (там и FAANG, и стартапы всякие интересные). Потом начал опускать ценник. Где-то на отметке 250К начали писать. Яндекс спамил, Касперский, всякие noname-ы.


И в этом вся суть. Скажу больше: за 200К уже берут без экзаменов.

C>По мне так самое вероятное — замануха с курсов. Я в последнее время заметил, что ютуберы предлагают скидку 50% на эти курсы, а значит уже не тот поток клиентов. Менее вероятное — пиар Яндекса. Тут сложно сделать какие-то выводы, потому что мало информации. Но моё личное мнение — Яндекс превращается во что-то MS-подобное, где уже давно нет нормальных спецов, а только индус индусом погоняет.


При том что "Окна" уже давно превратились в "Очко" (дверной глазок), Яндексу до них ещё далеко: они до сих пор не могут нанять дизайнера (технического художника, а не того, который "так видит"). Где-то полгода тому назад в Яндексе наконец-то появился первый грамотный специалист, который сообщил коллективу, что английскому Zen соответствует русский "дзен".

А по поводу интервью: товарищ обмолвился о прежних ста проведённых собеседованиях. У меня есть подозрение, что бумажка с вопросами (и ответами!) с тех пор не менялась.
Re[4]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 06:38
Оценка:
Здравствуйте, cppguard, Вы писали:

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


L>>Нет, там можно (и нужно) получить именно O(N+log(M))

L>>Имхо это может быть сложно увидеть сразу, но при попытке реализовать алгоритм станет очевидно.

C>Я задачу понял так: даны N последовательностей, каждая состоит из M значений. В каждый последовательности сперва идут нули, потом в какой-то момент начинают идти единицы. Нужно определить номер последовательности, в которой индекс первой единицы — наименьший. Если всё верно, то я бы очень хотел посмотреть на алгоритм O(N+log(M)) для этой задачи.


Дело в том, что нет никакой необходимости проводить N поисков по M:
В первой последовательности бинарным поиском в интервале [0,M) находим индекс K первой единицы.
Проверяем значение, находящемся по этому индексу K в следующей последовательности. Если там 0, то берем следующую последовательность, если тоже 1, то ищем индекс K в этой последовательности на отрезке [0, K]. Повторяем (N раз), пока последовательности не закончатся.
www.blinnov.com
Отредактировано 27.06.2023 6:57 landerhigh . Предыдущая версия . Еще …
Отредактировано 27.06.2023 6:56 landerhigh . Предыдущая версия .
Re[5]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 27.06.23 07:17
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Дело в том, что нет никакой необходимости проводить N поисков по M:

L>В первой последовательности бинарным поиском в интервале [0,M) находим индекс K первой единицы.
L>Проверяем значение, находящемся по этому индексу K в следующей последовательности. Если там 0, то берем следующую последовательность, если тоже 1, то ищем индекс K в этой последовательности на отрезке [0, K]. Повторяем (N раз), пока последовательности не закончатся.

Ага, и сложность вышеописанного алгоритма — O(N * log(M)) в худшем случае:

0 0 ... 0 0 1
0 0 ... 0 1 1
.............
1 1 ... 1 1 1
Re[5]: О собеседованиях на 700к/месяц
От: Sharov Россия  
Дата: 27.06.23 08:06
Оценка:
Здравствуйте, Ip Man, Вы писали:

IM>Поэтому я настоятельно рекомендую не упахиваться на работе, которую вы планируете сменить через пару лет. Идеально будет работать часов 5 в день, а остальное время посвящать решению задач, изучению ЯП, итп — то есть, того, что вам необходимо знать и уметь, чтобы найти следующую работу и повысить доход.


По этой логике вкалывать вообще не надо-- работай вполсилы, без особого погружения, прыгай через 2 года на другую работу и так по кругу.
Кодом людям нужно помогать!
Re[8]: О собеседованиях на 700к/месяц
От: Sharov Россия  
Дата: 27.06.23 08:10
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Дело не в синусе. Ряд Тейлора используется в математике как инструмент для разных доказательств, а для численных методов есть другие инструменты, более точные.


В ml используется для линеаризации, например. Чем не вариант?
Кодом людям нужно помогать!
Re[3]: О собеседованиях на 700к/месяц
От: JacobR  
Дата: 27.06.23 08:25
Оценка:
Здравствуйте, Sharov, Вы писали:

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

S>процессоры или читал Хеннеси и Паттерсона. Чисто кругозорные вопросы обещго плана "что-то слышал".



если обо все поговорить так по верхам от железа до гауссианов, то тогда не понятно за что компания (тем более Яндекс) собираются платить (пусть и с премиями) 700к рублей на руки.
Re[4]: О собеседованиях на 700к/месяц
От: Sharov Россия  
Дата: 27.06.23 08:42
Оценка:
Здравствуйте, JacobR, Вы писали:


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

S>>процессоры или читал Хеннеси и Паттерсона. Чисто кругозорные вопросы обещго плана "что-то слышал".
JR>если обо все поговорить так по верхам от железа до гауссианов, то тогда не понятно за что компания (тем более Яндекс) собираются платить (пусть и с премиями) 700к рублей на руки.

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

Как я понял, у человека неплохой алг. бэкграунд+ml (в Я работал), а знания железа -- курсы+кругозор+глубокие копания в цпп.
Кодом людям нужно помогать!
Re[6]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 08:48
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Ага, и сложность вышеописанного алгоритма — O(N * log(M)) в худшем случае:

  Скрытый текст
C>
C>0 0 ... 0 0 1
C>0 0 ... 0 1 1
C>.............
C>1 1 ... 1 1 1
C>

Позволю себе не согласиться:

0 0 ... 0 0 1
0 0 ... 0 1 1
.............
0 1 ... 1 1 1
1 1 ... 1 1 1


Мы никогда не повторяем поиск по M, т.к. на каждом шаге M уменьшается.

А дальше получаем, что имеем дело с O(log(1)) + O(log(2)) + .. + O(log(N-1)) + O(log(N)) = O(log(N))
www.blinnov.com
Re[6]: О собеседованиях на 700к/месяц
От: so5team https://stiffstream.com
Дата: 27.06.23 08:56
Оценка:
Здравствуйте, cppguard, Вы писали:

L>>В первой последовательности бинарным поиском в интервале [0,M) находим индекс K первой единицы.

L>>Проверяем значение, находящемся по этому индексу K в следующей последовательности. Если там 0, то берем следующую последовательность, если тоже 1, то ищем индекс K в этой последовательности на отрезке [0, K]. Повторяем (N раз), пока последовательности не закончатся.

C>Ага, и сложность вышеописанного алгоритма — O(N * log(M)) в худшем случае:


C>
C>0 0 ... 0 0 1
C>0 0 ... 0 1 1
C>.............
C>1 1 ... 1 1 1
C>


Мне кажется, что вот такая последовательность должна быть хуже:
0 0 ... 0 0 1
0 0 ... 0 0 1
.............
0 0 ... 0 0 1

Ведь тогда на шагах со второго по последний нам придется делать одинаковые поиски со сложностью O(log(M-1)). Разве нет?
Re[5]: О собеседованиях на 700к/месяц
От: PM  
Дата: 27.06.23 09:08
Оценка:
Здравствуйте, landerhigh, Вы писали:

C>>Я задачу понял так: даны N последовательностей, каждая состоит из M значений. В каждый последовательности сперва идут нули, потом в какой-то момент начинают идти единицы. Нужно определить номер последовательности, в которой индекс первой единицы — наименьший. Если всё верно, то я бы очень хотел посмотреть на алгоритм O(N+log(M)) для этой задачи.


L>Дело в том, что нет никакой необходимости проводить N поисков по M:

L>В первой последовательности бинарным поиском в интервале [0,M) находим индекс K первой единицы.
L>Проверяем значение, находящемся по этому индексу K в следующей последовательности. Если там 0, то берем следующую последовательность, если тоже 1, то ищем индекс K в этой последовательности на отрезке [0, K]. Повторяем (N раз), пока последовательности не закончатся.

Очень хочется надеяться, что это всего лишь бесполезная задачка с собеседования. И что в продакшене для выделенного выше все-таки используется нормальная реализация bitset с каким-нибудь clz
Re[6]: О собеседованиях на 700к/месяц
От: Ip Man Китай  
Дата: 27.06.23 09:18
Оценка:
Здравствуйте, PM, Вы писали:

PM>Очень хочется надеяться, что это всего лишь бесполезная задачка с собеседования.


Это отличная задачка с собеседования.
Re[6]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 09:25
Оценка:
Здравствуйте, PM, Вы писали:

PM>Очень хочется надеяться, что это всего лишь бесполезная задачка с собеседования. И что в продакшене для выделенного выше все-таки используется нормальная реализация bitset с каким-нибудь clz


В продакшене, когда речь идет о датчиках, используется КА, который срабатывает, как только один датчик меняет состояние.
Если нужно анализировать данные в офлайне, уже когда-нибудь потом, то на сложность по большому счету пофиг.
www.blinnov.com
Re[7]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 09:27
Оценка:
Здравствуйте, so5team, Вы писали:

S>Ведь тогда на шагах со второго по последний нам придется делать одинаковые поиски со сложностью O(log(M-1)). Разве нет?


В этом случае, в шагах, начиная со второгшо по последний, поиски проводить вообще не требуется.
www.blinnov.com
Re[8]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 09:34
Оценка:
Здравствуйте, syrompe, Вы писали:

S>Ох

S>O(N*log(N)) получается как ни крути

Нет. Сумма асимптоматик (коей является О большое) — это max() (хотя бы тут.)

S>По вашей логике выходит тогда

S>1+2+3+...+N=O(N) — что сильно не так

Тут сразу бросается в глаза, что

O(1)+O(2) = O(1)

Согласен, что это неинтуитивно, но можно хоть на питоне накорябать тест и проверить асимптоматику.
www.blinnov.com
Re[8]: О собеседованиях на 700к/месяц
От: so5team https://stiffstream.com
Дата: 27.06.23 09:40
Оценка:
Здравствуйте, landerhigh, Вы писали:

S>>Ведь тогда на шагах со второго по последний нам придется делать одинаковые поиски со сложностью O(log(M-1)). Разве нет?


L>В этом случае, в шагах, начиная со второгшо по последний, поиски проводить вообще не требуется.


Э...

если тоже 1, то ищем индекс K в этой последовательности на отрезке [0, K]


На втором шаге вы обнаруживаете 1 по индексу K (при этом K==(M-1)). Вы знаете, что по индексу K единица, но не знаете, первая ли это единица в строке или нет. Чтобы это узнать, вам нужно сделать поиск единиц слева от K (т.е. в диапазоне [0, (K-1)]).

И, поскольку K у вас не меняется, на каждой следующей итерации вы должны будете проделывать тоже самое.
Отредактировано 27.06.2023 9:47 so5team . Предыдущая версия .
Re[9]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 09:53
Оценка:
Здравствуйте, so5team, Вы писали:

S>На втором шаге у вас K==(M-1). Вы знаете, что по индексу K единица, но не знаете, первая ли это единица в строке или нет. Чтобы это узнать, вам нужно сделать поиск единиц слева от K (т.е. в диапазоне [0, (K-1)]).

S>И, поскольку K у вас не меняется, на каждой следующей итерации вы должны будете проделывать тоже самое.

Мне просто лень было уже детали описывать.

Дело в том, что мы не ищем 1 или 0. Мы ищем позицию K, где sensor[0][K] != sensor[0][K-1].
И соответственно, когда мы ее нашли в первом датчике, мы проверяем значение sensor[1][K]. Если оно равно 1, то выполняем также и сравнение sensor[1][K] == sensor[1][K-1]. Если оно true, то этот датичк сработал раньше, чем датчик 0 и нужно вести поиск по sensor[1][0, K] (на самом деле sensor[1][0, K) )
www.blinnov.com
Re[10]: О собеседованиях на 700к/месяц
От: so5team https://stiffstream.com
Дата: 27.06.23 10:08
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Дело в том, что мы не ищем 1 или 0. Мы ищем позицию K, где sensor[0][K] != sensor[0][K-1].

L>И соответственно, когда мы ее нашли в первом датчике, мы проверяем значение sensor[1][K]. Если оно равно 1, то выполняем также и сравнение sensor[1][K] == sensor[1][K-1]. Если оно true, то этот датичк сработал раньше, чем датчик 0 и нужно вести поиск по sensor[1][0, K] (на самом деле sensor[1][0, K) )

Соответственно, первоначальное описание, содержащие:

В первой последовательности бинарным поиском в интервале [0,M) находим индекс K первой единицы.
Проверяем значение, находящемся по этому индексу K в следующей последовательности


следовало бы переформулировать так:

В первой последовательности бинарным поиском в интервале [0,M) находим индекс K первой единицы.
Проверяем значение, находящемся по этому индексу (K-1) в следующей последовательности

.

ибо смысл проверять сперва sensor[i+1][K] и только затем, если там 1, делать сравнение c sensor[i+1][K-1], не видно. Можно же сразу сравнивать sensor[i][K] с sensor[i+1][K-1].
Re[9]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 27.06.23 10:30
Оценка:
Здравствуйте, Sharov, Вы писали:

S>В ml используется для линеаризации, например. Чем не вариант?


Речь шла о том, как расчитать косинус без доступа к math.h. Для этих целей TE не подходит.
Re[7]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 27.06.23 10:32
Оценка:
Здравствуйте, so5team, Вы писали:

S>Мне кажется, что вот такая последовательность должна быть хуже:

S>
S>0 0 ... 0 0 1
S>0 0 ... 0 0 1
S>.............
S>0 0 ... 0 0 1
S>

S>Ведь тогда на шагах со второго по последний нам придется делать одинаковые поиски со сложностью O(log(M-1)). Разве нет?

Можно и так. В любом случае, N+logM не получить.
Re[9]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 27.06.23 10:39
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Нет. Сумма асимптоматик (коей является О большое) — это max() (хотя бы тут.)


L>Тут сразу бросается в глаза, что


L>O(1)+O(2) = O(1)


Чувак, ты смешал в кучу коней и людей. Почитай КМП на тему того, как правильно считать сложность алгоритмов. По твоей логике insertion sort тоже должен иметь сложность O(N), потому что там O(N) + O(N-1) + ... + O(N-N+1).

L>Согласен, что это неинтуитивно, но можно хоть на питоне накорябать тест и проверить асимптоматику.


асимптоматика это то, что считается в голове или на бумаге. Нельзя запустить программу, увидеть там какие-то числа и сделать из этого вывод про сложность алгоритма.
Re[10]: О собеседованиях на 700к/месяц
От: Sharov Россия  
Дата: 27.06.23 10:42
Оценка:
Здравствуйте, cppguard, Вы писали:

S>>В ml используется для линеаризации, например. Чем не вариант?

C>Речь шла о том, как расчитать косинус без доступа к math.h. Для этих целей TE не подходит.

А почему, мы же можем аппроксимировать для любой точки?
Кодом людям нужно помогать!
Re[7]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 27.06.23 10:45
Оценка:
Здравствуйте, Ip Man, Вы писали:

IM>Это отличная задачка с собеседования.


Это неплохая задачка для кандидата в сортировщики гномиков, но нелепая задача для инженера, потому что реализация алгоритма предполагает, что данные целиком находятся в памяти, а чтобы их туда положить, нужно... сюрприз-сюрприз! — N*M операций. То есть уже на стадии формирования структуры мы можем посчитать нужную нам информацию. Но даже если мы этого не делаем, то даже простой перебор N*M никак не отразится на работе всей программы, так как подготовка данных + вычисления всё равно будут иметь общую сложность O(N*M). А вот если двоичный поиск будет реализовывать совсем юный сортировщик гномиков, который не знает, как правильно вычислять границу, чтобы не было переполнения, или как правильно формировать условие выхода из цикла (типичная ошибка в реализации BS), то программа будет весьма падучая.
Re[8]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 11:05
Оценка:
Здравствуйте, cppguard, Вы писали:

S>>Ведь тогда на шагах со второго по последний нам придется делать одинаковые поиски со сложностью O(log(M-1)). Разве нет?


C>Можно и так. В любом случае, N+logM не получить.


Тут как раз получается один log(M) и дополнительно N сравнений.
www.blinnov.com
Re[9]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 27.06.23 11:35
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Тут как раз получается один log(M) и дополнительно N сравнений.


Мы уже начинаем говорить о тонкостях реализации. Если на очередном шаге искать K в промежутке [0; K), то будет одно количество шагов, если в [0; K], то другое, но тогда граничные условия будут разными. Сложность алгоритма из-за этого не меняется.
Re[10]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 27.06.23 15:44
Оценка:
Здравствуйте, cppguard, Вы писали:

L>>Тут сразу бросается в глаза, что

L>>O(1)+O(2) = O(1)
C>Чувак, ты смешал в кучу коней и людей. Почитай КМП на тему того, как правильно считать сложность алгоритмов.

Я читал Кнута. Правда, все забыл

C>По твоей логике insertion sort тоже должен иметь сложность O(N), потому что там O(N) + O(N-1) + ... + O(N-N+1).


Не надо за меня додумывать.

В принципе, очевидно думаю, что можно показать, что в "хорошем" случае мы получим сложность, близкую к O(M+log(N)).
"Плохой" случай вынуждает нас для каждого датчика вести бинарный поиск.

Но вообще, даже в худшем случае получается не совсем M(log N). Из-за того, что на каждом шаге N уменшьается на 1, там появляется некий множитель в районе 0.8 (посчитал на коленке в экселе), что наводит на мысли, что можно что-то хитрое придумать, чтобы "плохой" случай оптимизировать.

L>>Согласен, что это неинтуитивно, но можно хоть на питоне накорябать тест и проверить асимптоматику.

C> асимптоматика это то, что считается в голове или на бумаге. Нельзя запустить программу, увидеть там какие-то числа и сделать из этого вывод про сложность алгоритма.

Рассказать, как пишутся такие программы?
www.blinnov.com
Re[7]: О собеседованиях на 700к/месяц
От: mgu  
Дата: 27.06.23 20:39
Оценка:
Здравствуйте, opfor, Вы писали:

S>>По этой логике вкалывать вообще не надо-- работай вполсилы, без особого погружения.


O>так и делают


На трёх работах по 120К неинтересно. Круче пинать на одной в приличной компании(тм).
Re[8]: О собеседованиях на 700к/месяц
От: Ip Man Китай  
Дата: 27.06.23 22:24
Оценка:
Здравствуйте, cppguard, Вы писали:


C>Это неплохая задачка для кандидата в сортировщики гномиков, но нелепая задача для инженера, потому что ... blah blah


Ну вот это и скажешь на интервью в каком-нибудь гугле, когда такую задачу зададут
Re[7]: О собеседованиях на 700к/месяц
От: sergey2b ЮАР  
Дата: 27.06.23 23:03
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>В продакшене, когда речь идет о датчиках, используется КА, который срабатывает, как только один датчик меняет состояние.

L>Если нужно анализировать данные в офлайне, уже когда-нибудь потом, то на сложность по большому счету пофиг.

я собеседовался в одну уважаему секюрети компанию
у них у клиента за сутки несколько тыс терабайт логов
и они на Python их парсят и ищут всяике события

я спросил может ищут на C а потом генерируют отчет на Python
нет говорят мы в облака загружаем логи а там мощи до дури так что на Python все
Re[9]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 28.06.23 03:37
Оценка:
Здравствуйте, Ip Man, Вы писали:

IM>Ну вот это и скажешь на интервью в каком-нибудь гугле, когда такую задачу зададут


Зачем? В Риме поступай по-римски. Но если заниматься наймом в небольшой компании, где вклад каждого сотрудника важен, то точно уж не стоит просить сортировать гномиков.
Re[4]: О собеседованиях на 700к/месяц
От: landerhigh Пират  
Дата: 28.06.23 21:24
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Я задачу понял так: даны N последовательностей, каждая состоит из M значений. В каждый последовательности сперва идут нули, потом в какой-то момент начинают идти единицы. Нужно определить номер последовательности, в которой индекс первой единицы — наименьший. Если всё верно, то я бы очень хотел посмотреть на алгоритм O(N+log(M)) для этой задачи.


В общем, я не математик, такие вещи сразу не вижу.
Там есть очевидный, как мне кажется, O(M+N) алгоритм, и O(N*log(M))

Фишка в том, что при определенных значениях M и N первый алгоритм выгоднее. Можно даже посчитать границы, когда какой лучше использовать.

Но, если есть предположения, что "плохие" случаи вроде "ступеньки" маловероятны, то можно, наверное, совместить первый и второй подходы, получив нечто, что может быть не совсем O(N+log(M)), но что-то между O(N+log(M)) и O(N*log(M))
www.blinnov.com
Re[2]: О собеседованиях на 700к/месяц
От: alzt  
Дата: 29.06.23 21:08
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Надо сказать, получается это у Яндекса весьма паршиво. Яндекс любит потоки по магистралям "ускорять", заманивая часть водителей на дублер. А потом, в том месте, где дублер назад вливается в основную дорогу, образуется пробка. Которую Яндекс и организовал — все же по евонному навигатору едут.


А ещё любит находить маршруты, которые на 1 минуту короче при поездке более 5 часов.
Либо вообще предлагать маршрут, который короче на 7 минут, но если его выбираешь, то время увеличивается на 10 минут. Если попросить построить назад, то вернётся прежнее время.
Re[3]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.06.23 21:47
Оценка:
Здравствуйте, alzt, Вы писали:

A>А ещё любит находить маршруты, которые на 1 минуту короче при поездке более 5 часов.

A>Либо вообще предлагать маршрут, который короче на 7 минут, но если его выбираешь, то время увеличивается на 10 минут. Если попросить построить назад, то вернётся прежнее время.

Я никогда не ведусь на его предложения сократить маршрут на две минуты путем заезда в задний двор местного сельского туалета. Но это в тех местах, где я и без него, в принципе, ориентируюсь. А вот в совсем незнакомое место ехать — приходится доверять бездушной железяке.
Re[7]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 30.06.23 06:37
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>>>прыгнул с парашюта

CC>>... в результате чего на данный момент существует только в виде записей в DB

TB>И никто не может доказать, что он есть. Есть только стариковские байки, которым никто не верит.


У меня с ним есть живой общий знакомый.
Re[3]: О собеседованиях на 700к/месяц
От: Skorodum Россия  
Дата: 30.06.23 08:15
Оценка:
Здравствуйте, mtnl, Вы писали:

M>Вполне серийный человек, обычно у таких образование — радиофизика или мехмат нормального вуза — дальше как опция пару лет в оборонном НИИ близко к железу — дальше работа в ЦРТ, конторах, делающих DPI или ныне ушедних Нокиа или Интеле, Хуавей их тоже активно зарплатами из регионов к себе перетаскивает. Я прямо несколько таких знаю.

Работал и в ЦРТ, и в НИИ, и на многие упомянутые вопросы ответил бы так себе просто за давностью лет
У условных "радиофизиков" и "мехматовцев" очень часто свои слабые стороны есть.
Re[2]: О собеседованиях на 700к/месяц
От: LaptevVV Россия  
Дата: 27.07.23 06:15
Оценка:
JR>Либо это какая-то хитрая реклама Яндекс школы, либо человек невероятно уникальный, фактически единственный в стране, а может и мире. Поскольку большой стек практических знаний С/С++, знание архитектур x86/ARM, GPU. FPGA, по мимо этого глубокое знание работы виртуальной памяти, менеджера памяти, многопоточки и пр. Потом отдельно математика, мат.анализ университетского курса, следом машинное обучение, диплернинг и автору всего 33 года (согласно его комментариям на пикабу).
Ну, на конкретный момент времени этого в памяти всего одновременно нет.
Но опыт жеж не пропьешь.
Если специально готовиться к такого рода интервью, то вполне можно все освежить и проблем-то не будет.
Я вот еще в кодах восьмеричных писал, операционную систему писал, на ассемблере писал для нескольких архитектур — так мне пофиг, какая архитекутура.
Вы мне дайте документацию, я через пару дней вам нужную программу наваяю.
При том, что я уже более 30 лет не занимался специально писанием подобных программ.

Собственно, и с другими вопросами аналогично.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: О собеседованиях на 700к/месяц
От: andyp  
Дата: 27.07.23 11:35
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Ага, и сложность вышеописанного алгоритма — O(N * log(M)) в худшем случае:


Ага, у квиксорта тоже сложность будет квадратичная в худшем случае, когда ты хреново выбираешь пивотов. Можно ж о сложности в среднем говорить.
Re[6]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 27.07.23 22:08
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>А во-вторых, я не уверен, что программирование в режиме ядра — это прям вершина сложности программистской мысли.

Скорее одна из вершин геморности при полном отсутствии подушек безопасности. Что либо ухандохать очень просто. Требования к производительности и потреблению ресурсов тоже повышенные.
Никто за тобой насраное не приберёт потому просто exit(1) при ошибке низя, срать json-ами низя, скриптоту низя, новомодный framework по ссылке с stackoverflow не скачаешь.
Просто муки ацкие для современных "погромистов".

Pzz> Все это ваше ядрёносистемное программирование в среднем сводится к тому, чтобы...

Это ты скорее какой то backend описываешь.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[10]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.07.23 22:36
Оценка:
Здравствуйте, cppguard, Вы писали:

IM>>Ну вот это и скажешь на интервью в каком-нибудь гугле, когда такую задачу зададут


C>Зачем? В Риме поступай по-римски. Но если заниматься наймом в небольшой компании, где вклад каждого сотрудника важен, то точно уж не стоит просить сортировать гномиков.


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

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

Их позиция была совершенно непробиваема: "у нас всё работает, и не мешай нам со своими теоретическими советами".

Может оно даже и вправду у них все работало: при определенном везении ихние потоки вполне могли работать по-очереди, а не одновременно. Но это ни из чего не следовало, чистое везение. И пока не стрельнуло, они об этом даже думать не хотели.

В принципе, мне с людьми с таким подходом работать крайне неуютно. Моя карма устроена таким образом, что если что-то может стрельнуть, оно всегда стреляет именно в меня. Закон Мерфи всегда работает против меня, поэтому я не готов допускать такое раздолбайство.

Навык сортировки гномиков каким-то волшебным образом прививает гражданам привычку если и не избегать со 100% гарантией такого рода ошибок (ошибиться-то может каждыый), то, по крайней мере, не оставлять их в программе сознательно и начинать беспокоиться, если человеку на такую ошибку пальцем показать.
Re[8]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.07.23 22:40
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>я спросил может ищут на C а потом генерируют отчет на Python

S>нет говорят мы в облака загружаем логи а там мощи до дури так что на Python все

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

Кстати, в Go другая реализация регекспов, быстрая (но не настолько умная). Но все равно, недостаточно быстрая, по сравнению с ручным поиском по тексту, причем довольно наивным.
Re[8]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 27.07.23 23:53
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Ровно наоборот, современные программисты и хотели бы поковыряться в прикольных заковыристых штуках

Да вот как то не бросается в глаза, если честно.
Скорее не хотят вообще нихрена думать, если смотреть в массе.

SD>Дык ядро это и есть бэкенд бекенда

Формально да, вот только если у бэкендеров надо сходить "на базу" то в ядре ты как раз весь движок этой базы пишешь полностью сам, а уж "ходилки" в неё пишутся не приходя в сознание.

SD>В ядре многое куда проще, чем выше уровнями.

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

SD> Потому что слоев абстракции меньше.

Т.е. банально помойки меньше, просто потому что там такое приводит к обрушению крыши куда быстрее что давит всех тараканов, кто пытается разводить такую помойку.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[11]: О собеседованиях на 700к/месяц
От: m2user  
Дата: 28.07.23 03:37
Оценка:
Pzz>Я работал в небольшой команде с ребятами, которые, скажем так, ни при каких обстоятельствах не будут сортировать гномиков.

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


Pzz>Их позиция была совершенно непробиваема: "у нас всё работает, и не мешай нам со своими теоретическими советами".


"Теоретическими советами". Это ключевое.
Надо предъявить bugreport (один или несколько, где проблема проявляет себя), тогда дело сдвигается в нужном направлении (причем уже на уровне менеджера, который оценивает его критичность).
Даже если его исправление отложат до лучших времен, то проблема хотя бы будет задокументирована.
Или тестовый код, на котором вылезает проблема, но такое уже вряд произведет впечатление на менеджера (для него важен реальный ущерб для конечного пользователя, а не синтетика).

Pzz>Может оно даже и вправду у них все работало: при определенном везении ихние потоки вполне могли работать по-очереди, а не одновременно. Но это ни из чего не следовало, чистое везение. И пока не стрельнуло, они об этом даже думать не хотели.


Pzz>В принципе, мне с людьми с таким подходом работать крайне неуютно. Моя карма устроена таким образом, что если что-то может стрельнуть, оно всегда стреляет именно в меня. Закон Мерфи всегда работает против меня, поэтому я не готов допускать такое раздолбайство.


Если код уже написан и протестирован (или даже ушёл в релиз), то их можно понять.
Из-за "теоретической" проблемы им придется править код, полезут регресии. Вдруг из-за мьютексов просядет производительность.

Pzz>Навык сортировки гномиков каким-то волшебным образом прививает гражданам привычку если и не избегать со 100% гарантией такого рода ошибок (ошибиться-то может каждыый), то, по крайней мере, не оставлять их в программе сознательно и начинать беспокоиться, если человеку на такую ошибку пальцем показать.


По моему опыту только долгая и нудная отладка bug`а, связанного с race condition, мотивирует быть более аккуратным. Про гномиков не знаю
Re[3]: О собеседованиях на 700к/месяц
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.07.23 10:49
Оценка:
Здравствуйте, CreatorCray, Вы писали:

JR>> стек практических знаний С/С++

JR>> знание архитектур x86/ARM
JR>> глубокое знание работы виртуальной памяти
JR>> менеджера памяти
JR>> многопоточки

CC>Это всё нормальный системщик знает просто по определению


Вы потеряли остальные 90% перечисленного.
Re[10]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 28.07.23 16:44
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Все наоборот, если ты в ядре или любом другом низком уровне, тебе нужно знать только то, что ниже уровнями.

Ну давай, расскажи мне!


SD>в общем, я могу похвастаться, что и в BIOS ошибку находил.

И?
Учитывая что с низкого уровня баги в юзерском софте находятся регулярно и вообще не впечатляют...

SD> Копая с самого что ни на есть высокого уровня

А в обратную сторону смотришь — и видишь просто тонны говна с палками.
И постоянно какую то дичь творят.

SD>Это-то как раз и делает задачу проще.

Ага, проще, щас! Когда задача звучит примерно так: надо чтоб бегемот полетел своими силами, без привлечения всего того что есть в авиации, ограничения не делают её проще.

SD>Надо вписаться, и решить простую задачу, работая над стабильным кодом.

Дооо!!!

SD> А ты вот попробуй напиши что-то надежное, если под тобой 20 слоев кривых фреймворков. Вот это — challenge!

Ты ещё как то обойти их можешь и пойти напрямую, а вот над нами 20 слоёв кривых фреймворков в глюках которых обвинают нас и сделать чтоб это говно в итоге шевелилось тоже приходится нам, ибо юзверю насрать где не работает, лично он считает что это ОС говно а не юзермодные долббоклюи не могут прочитать документацию как API на самом деле работает и зафигачили в стиле "и так сойдёт".

SD>Все куда проще, если тебе не требуется обходить грабли, заботливо разложенные на всех уровнях.

К нам чужие грабли сверху падают.

SD>Я б вообще в embedded пошел, кабы там денег платили. Лафа — почти никаких уровней под тобой нет!

И тем не менее там такая лютая дендрофекалия творится что ну его нафиг.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[11]: О собеседованиях на 700к/месяц
От: SkyDance Земля  
Дата: 28.07.23 22:38
Оценка:
SD>>А тех, кто может сделать быстро — раз-два и обчелся.
S>А сколько среди них тех, кто сделает еще и хорошо?

Не уверен, что это вообще возможно.
Re[11]: О собеседованиях на 700к/месяц
От: vsb Казахстан  
Дата: 29.07.23 00:20
Оценка:
Здравствуйте, Pzz, Вы писали:

IM>>>Ну вот это и скажешь на интервью в каком-нибудь гугле, когда такую задачу зададут


C>>Зачем? В Риме поступай по-римски. Но если заниматься наймом в небольшой компании, где вклад каждого сотрудника важен, то точно уж не стоит просить сортировать гномиков.


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


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


Pzz>Их позиция была совершенно непробиваема: "у нас всё работает, и не мешай нам со своими теоретическими советами".


Pzz>Может оно даже и вправду у них все работало: при определенном везении ихние потоки вполне могли работать по-очереди, а не одновременно. Но это ни из чего не следовало, чистое везение. И пока не стрельнуло, они об этом даже думать не хотели.


Pzz>В принципе, мне с людьми с таким подходом работать крайне неуютно. Моя карма устроена таким образом, что если что-то может стрельнуть, оно всегда стреляет именно в меня. Закон Мерфи всегда работает против меня, поэтому я не готов допускать такое раздолбайство.


Pzz>Навык сортировки гномиков каким-то волшебным образом прививает гражданам привычку если и не избегать со 100% гарантией такого рода ошибок (ошибиться-то может каждыый), то, по крайней мере, не оставлять их в программе сознательно и начинать беспокоиться, если человеку на такую ошибку пальцем показать.


Звучит как проблема оверквалифиаед с твоей стороны. Если ты такой умный, то почему ты не был ихним начальником? Зачем об этом спорить? Просто скажи — ребята, надо вот так сделать, спорить тут не нужно. А если ты не в той позиции, чтобы так говорить, то — как написал выше — оверквалифиаед. И это больно — знать, что люди делают фигню и не иметь простой возможности это исправить. Поэтому для своей психики лучше на таких позициях не работать.
Re[8]: О собеседованиях на 700к/месяц
От: vsb Казахстан  
Дата: 29.07.23 00:25
Оценка:
Здравствуйте, SkyDance, Вы писали:

CC>>Просто муки ацкие для современных "погромистов".


SD>Ровно наоборот, современные программисты и хотели бы поковыряться в прикольных заковыристых штуках, но такую роскошь им никто не даст. Знаешь ли, сделать дорого и за долго — ничего сложного. А вот чтоб сделать быстро (не в плане асимптотики алгоритма, а чтоб продукт вышел вчера) — это сложная задача.


Могу подтвердить. Пишу с абстракциями, но моя работа мечты это писать код на ассемблере для МК. Ну в крайнем случае на С. Ибо ноль абстракций, ноль знаний, несколько десятков команд, которые просто меняют набор регистров, без всяких там паттернов, и все знания в обычных пдф мануалах, прописаны до последнего байта. Ну мне со стороны так кажется. Но — недавно даже вакансию видел, от 40 до 80 т.р. и требований столько, что там надо лет 5 хотя бы работать в этом, чтобы такому соответствовать. За удовольствие, походу, надо платить. Так что пока продолжу мечтать и погонять паттернами.
Re[12]: О собеседованиях на 700к/месяц
От: CreatorCray  
Дата: 29.07.23 01:51
Оценка:
Здравствуйте, SkyDance, Вы писали:

CC>>Ну давай, расскажи мне!

SD>Толку-то. У тебя однобокий опыт, все равно не поймешь.
Дада, конечно!

CC>>И постоянно какую то дичь творят.

SD>Именно! И твоя задача — даже со всей этой дичью уметь работать.
Судя по всему ты даже не понял на что ты отвечаешь

SD>Если у тебя одна степень свободы — не надо беспокоиться о всех других.

Увы, когда пишешь ОС не для ентерпрайза а для юзверей то беспокоиться приходится вообще обо всём. Даже о сохранении совместимости со старыми багами.
Писать кернел для кровавого Ынтерпрайза куда проще, там как раз больше шансов верхние слои построить и послать нахрен читать наконец документацию.
Ну а в юзермоде писать после кернела так и вовсе просторы, раздолье и сплошное удовольствие. Главное при этом — не цеплять на себя ярмо чужого говнокода, АКА "20 слоев фреймворков".

SD>20 слоев фреймворков

Писанина на говнофреймворках разумеется геморрой но геморрой всё же иного, более унылого порядка.
Это self-inflicted проблема дизайна, совсем не инженерная.

SD>Я достаточно отработал на всех уровнях инфры

И кроме тебя больше так не делал ну ваще никто, да!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[12]: О собеседованиях на 700к/месяц
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.07.23 09:11
Оценка:
Здравствуйте, vsb, Вы писали:

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


Я был с ними в разных, если можно так сказать, отделах, а общее начальство было не техническим.
Re[12]: О собеседованиях на 700к/месяц
От: Stanislav V. Zudin Россия  
Дата: 29.07.23 09:23
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Звучит как проблема оверквалифиаед с твоей стороны. Если ты такой умный, то почему ты не был ихним начальником?


Гм, неужели надо обязательно становиться начальником?
Это совсем другие обязанности, другие навыки. Да и не интересно пасти котов, код педалить интереснее.

  "...лично для меня!"(с)
https://www.youtube.com/watch?v=nVTcWAvIBQY
_____________________
С уважением,
Stanislav V. Zudin
Re[11]: О собеседованиях на 700к/месяц
От: cppguard  
Дата: 04.08.23 00:26
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Навык сортировки гномиков каким-то волшебным образом прививает гражданам привычку если и не избегать со 100% гарантией такого рода ошибок (ошибиться-то может каждыый), то, по крайней мере, не оставлять их в программе сознательно и начинать беспокоиться, если человеку на такую ошибку пальцем показать.


О каком навыке идёт речь? Под сортировкой гномиков я понимаю решение олимпиадных задач за 45 минут на белой доске. Не вижу тут связи с умением писать корректный многопоточный код.
Re: О собеседованиях на 700к/месяц
От: wety Россия  
Дата: 01.03.24 10:31
Оценка:
Здравствуйте, Qt-Coder, Вы писали:

Зарплаты подросли за последнее время. С другой стороны, количество вакансий уменьшилось на ~30%.
Поэтому конкуренция на топовые вакансии с высокой зарплатой только выросла.
Re: О собеседованиях на 700к/месяц
От: namespace  
Дата: 02.03.24 11:06
Оценка:
QC>Немного о себе: занимаюсь коммерческим программированием 13 лет, ещё несколько лет работал в других сферах. Основной язык С++, достаточно хорошо знаю Python и ML. Есть опыт работы как в мелких фирмах на 5 человек, так и в ИТ-гигантах.

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

Сильно смахивает на рекламу учебного курса. Типа, вас научат с++, питон и мл, а так же немного алгоритмов и базовых знаний.
Естественно, никаких конкретных библиотек/фреймворков чтобы студенты не стали их просить.

При этом свалили в кучу обязанности аналитка-математика-алгоритмиста-разработчика. Наверное, один человек может это все, но одинаково плохо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.