Я конечно задам смешной вопрос, но вдруг тут кто есть из гугола?Ну или в крайнем случае из погромной конторы из fortune 500?Пилите кулстори, как до такого докатились и как живётсяhttps://dev.by/lenta/main/zarplatoy-zhech-serdtsa-lyudey-it-zarplaty-v-2014-godu
>>802829 (OP)Откуда у них время есть такой хуйнёй заниматься? У нас тоже в фирме есть комната отдыха, но просто тупо некогда играть там во что-то. Пришёл-покодил-ушёл.
>>802860Лол блять, как для деток. У вас там и бассейн с шариками есть?
>>802860>Откуда у них время есть такой хуйнёй заниматься?Они тимлиды...>есть комната отдыха, но просто тупо некогда... а ты, похоже, нет.
У нас есть комната отдыха, но там тестеры бухают постоянно, невозможно зайти.
Сложно пройти? Поясните за те легенды про собеседования без правильных ответов, к которым готовятся по полгода.
А разгадка проста. Они делают продукт, которым пользуются миллиарды людей. А все у кого нет времени на комнату отдыха делают продукт для 3.5 инвалидов. Занимайте рыночек и тоже станете миллионерами.
>>802829 (OP)Начинаю ненавидеть эту блядь кремниевую долину. Сеют какой-то околодетсад в профессии.
>>812143А то епта, нужно как на заводе - пришел в 8 утра, 9 часов отпахал и домой к жирухе.Типа как этот >>802860 > Пришёл-покодил-ушёл.
>>812143Конечно детсад. 3 онсайта по 8 часов, и попробуй бинарный поиск не написать. Забанят на год, если не очень тупым оказался. А если очень, то из пидарахи не вылезешь. Пойдешь формы в 1С делать для соседнего рынка.
>>802860то, что ты кодишь за неделю, они кодят за 4 часа. Без тестов и в vim
>>812143Так программисты же аутисты. Им такое и нужно. Всякие шарики разноцветные, игрушечки. Не удивлюсь если скоро тимлиды будут погромистам такие шоколадные медальки давать за хорошо выполненную работу.
>>812179А ты суровый сибиряк. Ешь медвежий калл с корой. И кодишь в nano без подсветки.
Четвертый год тружусь на гугл, офис в цюрихе. Приходится работать по 10 часов в сутки. Все, что показывают на фотках — пиздежь, никто во время работы не играет в бильярд и не тусит во дворе, потягивая смузи.Приходится есть амфетамины. Я догадываюсь, что примерно четверть моих коллег тоже их принимает.
>>812155Надо также, но без хуйни. Лучше с бесплатным кофием и нямкой.
>>812189Что вы там вообще делаете такой толпой? Будущее? То, что увидит свет через 5-10-15 лет? Вот твоя команда что делает?
Я слушал лекцию от тимлидерши из гугла которая раз 10 повторила, что у нее офис выходит на мост золотые ворота. Ну окей, спросили мы, а у вас опенспейс? Она засмущалась, и скала, что опенспейс, но это охуенно удобно, потому что можно с кем угодно быстро попиздеть, а так тихо да и вообще наушники есть. А пилят они унылые фичи для gmail'а. К чему это я? К тому, что все эти красивые картинки и имидж того, что там все занимаются дипмайндом - это унылая пропаганда корпорации зла. А в реальности там стандартная потогонка, выжимающая из тебя соки, правда, с хорошими деньгами, а дипмайнды пилят в университетах. Нет в корпорациях души, только в стартапах (пока их тот же гугл не купил)
>>812205Очень много всего делается, на самом деле. При этом ты в масштабе вроде как нихуя не делаешь — индивидуальный input никакой. Моя команда занимается софтом инфраструктуры (внутренние утилиты для деплоя, шардинг, даже логи).Могу только сказать, что внутренний софт гугла обгоняет state-of-art опенсорса на 5-6 лет.
>>812206Там немного не так. После прохождения собеседований тебе дают полгода поработать в ближайшем оффисе и решить чем хочешь и где заниматься. Может она решила попроще, но в Калифорнии. Тут уже от людей зависит.
>>812208Опиши свои таски на этот спринт. Вы там целыми днями пишите графы и всякий хитрый поиск за O(1) в бесконечном не отсортированном массиве? Критично не вылезать за LgN по времени?
>>812171бинарный поиск, кстати, без ошибок почти никто на бумажке не пишет..
>>812217ты тупой? он же ясно и четко написал что делает
>>812189>>812208копи бабло, покупай недвижку какую-нибудь у себя на родине, в общем, аккуратно трать деньги, а то кажется что их до хуя и ты будешь на коне до конца временпока не перегорел, по своему опыту пишуспасет только "подушка" в виде готовой пещеры + хоть какие-то накопления
>>812223я бы абасрался писать на бумажке поиск к-статистики или 2 ближайшие точки за NlgN. Но да, когда проходишь онсаит или в гуглодоке через скайп, то мозг клинит конкретно. Реально забываешь половину и тупые ошибки допускаешь.
>>812225Он описал в целом. Я не удивлюсь, если есть задачи типа посчитать чтото с террабайта данных или какую-нибудь статистику собрать. быстрее, чем за N^2
>>812210Ну основная проблема корпораций для меня вот тут - "При этом ты в масштабе вроде как нихуя не делаешь — индивидуальный input никакой.". Это проблема даже не в амбициях, а в том, что в такой ситуации ты в принципе как личность нахуй не нужен.
Гугл неудачный вариант для новичка
>>812217>этот спринтУ нас нет скрама как такого.>Вы там целыми днями пишите графы и всякий хитрый поиск за O(1) в бесконечном не отсортированном массиве?Нет. Алгоритмов дохуя, но они вообще не такие, как себе представляют манястуденты.>Критично не вылезать за LgN по времени?Опять-таки, я делаю инфраструктуру, а не софт, так что говорю со своей колокольни, но логарифм это на самом деле не очень быстро (для алгоритмов, которые параллелятся).>>812223А вот это правда. 80% людей на собеседовнии и поиск подстроки в три вложенных цикла не может написать.>>812230Еще совсем немного и выйду с акциями.
>>812231>поиск к-статистики последний раз когда понадобился, спёр из вики, т/к требовалась только одна эта функция, а в используемых либах не было.А что, где-то на собесах требуется писать на бумажке?
>>812301О, программист фреимворков пожаловал. Который сложнее DB.connect("main.db") ничего не писал.ВЕЗДЕ ЗА ПРЕДЕЛАМИ СНГ ТРЕБУЮТ ПИСАТЬ КОД НА ЛИСТОЧКЕ! СЛУЧАЙНУЮ ФУНКЦИЮ ИЗ КОРМЕНА ИЛИ КАКУЮ-НИБУДЬ ОЛИМПИАДНУЮ ЗАДАЧКУ!https://habrahabr.ru/post/276673/ - ознакамливайся в обязательном порядке
>>812311Лол, клоун, я уже за пределами СНГ. Ничего на бумажке не писал. А ты продолжай>ознакамливаться
>>812333В тайланде или в иране, клоун? Я то думал в LA, в Гугле.
>>812223ну-каhttp://lpaste.net/173911считай, что на бумажке написал.
>>812355Нет, но подумываю в Цюрих или Хайфу.
>>8123851) не на бумажке. На бумажке у тебя реально половина просто из головы вылетает нахрен. Если ты зазубрил буквально за день до собеседования, а не выучил и не понял за много времени до собеседования.2) 2 ошибки.
>>812428>2 ошибкитолсто. возможно ты хотел lower_bound или upper_bound какой-нибудь, но я написал штуку, которая просто находит какое-нибудь вхождение и выходит заранее.инвариант: arr[l - 1] < elem, arr[r] > elemarr[m] < elem => l-1 = m => l = m+1arr[m] > elem => r = mr - l уменьшается как минимум вдвое после каждой итерации, поэтому вечного цикла не будет.
>>812449Как минимум деление должно быть //Иначе в python3 будет отсос.
>>812455ну да, а если в javascript, то вообще не скомпилируется. python 3 мертворожденная хуета.По делу замечания есть?
>>812460> По делу замечания есть? Название функции легко можно перепутать с bullshit.
>>812449> l <= r> r = m-1Мы вам перезвоним
>>812462facepalm.jpgТы долбоеб, который может только сравнить код с шаблоном.Читай, сука: https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html
>>812462Того, что ты процитировал, ни в моём посте, ни в исходнике нет. Что ты хотел сказать?>>812461Зато тянуться через всю клавиатуру не надо, сразу всё под левой рукой.
>>812470> Зато тянуться через всю клавиатуру не надо, сразу всё под левой рукой.А правая рука чтобы ходить стрелочками?
>>812462После твоих сраных исправлений в простейшем случае пустого массива первым делом код полезет в элемент arr[0].
>>812474Нет, правая чтобы набирать всякие буквы типа m n i j k l, я вообще стараюсь делать переменные такими, чтобы они состояли только из букв из одной половины клавиатуры. Тогда можно код набирать одной рукой, а другой дрочить, например.
>>812483> Тогда можно код набирать одной рукой, а другой дрочить, например.Если ты тян, то это годный скилл при приеме на работу.
>>8124793 ошибки: 3я len(arr)http://ideone.com/aXPiw5
>>812487Что-то ты вот тут http://lpaste.net/173911 так ни одной ошибки и не нашёл (// не считается), не знаю о чём тыВ твоём коде у тебя в binSearch2 r = v.size() - 1, а нужно r = v.size()Ты либо троллишь, либо правда тупой и не умеешь бинарный поиск.
Ну да и у тебя ещё какие-то лишние проверки типа if (v.empty()) - почитай ещё раз http://lpaste.net/173911 - тут нет ни одной лишней проверки, поэтому нет лишних мест где можно ошибиться.Почему мне нравится нотация [l, r), когда левая половина закрытый интервал, а правый открытый.Допустим, мы пишем дерево отрезков и хотим делить на две части отрезок. В моём случае получается: m=l+(r-l)/2; [l, r) -> [l,m) и [m,r) - ни одного места, где можно посадить off by one error или ещё что-нибудьВ твоём как это сделать красиво?m = l + (r-l)/2[l,r] -> [l,m] и [m+1,r] - во втором отрезке вылезает какая-то херня, которая может когда-нибудь выстрелить.
Предлагаю любителям бинарного поиска написать следующий код: для заданного elem в отсортированном массиве из целых чисел (числа могут повторяться) найти индекс числа i такой, что abs(arr - elem) минимально. Если таких индексов несколько, вернуть любой. Если массив пустой, вернуть 0 или -1, None, nullptr, end() - на ваше усмотрение.
>>812511И сразу референсный код.
>>812513http://lpaste.net/173961
>>812208>внутренний софт гугла обгоняет state-of-art опенсорса на 5-6 летВот про это бы лучше написал подробнее.
>>812511Post understanding error: 'arr' is not defined.
>>812520Любопытно, вакаба ест квадратные скобки.Найти индекс элемента i такой, что abs(arr(i) - elem) минимален. arr(i) - i-й элемент массива.
Вот ещё задачка: на языке С или С++, не используя стандартную библиотеку написать general purpose functionint32_t average(int32_t a, int32_t b);которая возвращает среднее от двух чисел a и b.Средним двух чисел считается floor((a+b)/2)
Да, если интересно кому-нибудь, могу пореферить в G.Но так как какой-нибудь фильтр нужен, присылайте сразу решения следующих трёх стандартных задачек:>>812511>>812527И третья:Дана строчка состоящая только из букв a-z. Нужно in-place закодировать её RLE так, чтобы потом можно было восстановить исходную строку.Пример:aaabccdxxxxzzz -> 3abccd4x3z"b", "cc", "d" не нужно кодировать т.к. мы от этого не выиграем ничего.Присылайте сюда:alexeiebigusey@gmail.com
>>812578там петушня не знает короткевича
>>812208>Могу только сказать, что внутренний софт гугла обгоняет state-of-art опенсорса на 5-6 лет.Приведи пример, че вы там такого ебошите. linux 9? llvm 5?
>>812527ну ты и петух: return ((float)a + b) / 2;
>>813489вместо float должен быть doubleinb4 сам петух
>>813488он же написалдеплой, шардинг
>>813490Вместо float должен быть int64_t и каст в int32_t.
>>813514В лужу он пернул. Где конкретный пример?
>>812527>_t average(int32_t a, int32_t b);{ return a/2 + b/2; }Надеюсь, мне перезвонят.
>>814029average(7, 9) => 7МЫ ВАМ ПЕРЕЗВОНИМ
>>814044a + (a - b) / 2
>>814055average(MIN_INT32, MAX_INT32) => Undefined behavior.ВЫ НАМ НЕ ПОДХОДИТЕ
>>813489Анону же дали сигнатуру функции, которая возвращает int32_t. Какой double?
>>814097Хуйня в том, что реально крутое решение содержит много байтоебства и всяких MIN_ MAX_. Я не удивлюсь, если оно реально занимает 50 строк кода, но так как там нет циклов, то оно работает ок.
>>814117правильное решение:return ((int64_t)a + b) / 2;
>>812285> А вот это правда. 80% людей на собеседовнии и поиск подстроки в три вложенных цикла не может написать.Зацените плиз кому не впадлу, нет ли ошибок.Написал сначала в метро на бумажке, потом еще дома дебажил, т.к. сделал идиотскую ошибку, которую предусмотрел в метро (но все равно про нее забыл). В сумме потратил полчаса.https://ideone.com/la4WtsИ да я знаю что рекурсия не оптимизируется в питоне и вообще речь шла про циклы, в падлу уже переписывать
>>814171Я хз ребята, зачем вы вообще в IT лезите.https://ideone.com/Vgeh3I
>>814117Нет.>>814135Неплохо. Но после этого вопрос я попрошу тебя написать для int64_t
>>814195зачем ты запостил чужой код на ideone?
>>814202template <typename T>T average(T _l, T _r){ T result = _l / 2 + _r / 2; return ( (_l % 2) && (_r % 2) ) result + 1 : result;}
>>814208average(-1, 1)
>>812511https://ideone.com/hqhwLn
>>8142102N сложность? Мощно
>>814211Зато в две строчки и игнорируя условия задачи.
>>814209template <typename T>T average(T _l, T _r){ T int_part_l = _l / 2; T int_part_r = _r / 2; T fract_part_l = (_l > 0 ? 1 : -1) (_l % 2); T fract_part_r = (_r > 0 ? 1 : -1) (_r % 2); return int_part_l + int_part_r + (fract_part_l + fract_part_r)/2;}
>>814212МЫ ВАМ ПЕРЕЗВОНИМ
>>814215https://ideone.com/YNkHGz не знаю, правильно ли твою разметку отреверсил.
>>814225зобыл, что остаток от деления тоже имеет знак. https://ideone.com/YfK4pk
>>814235http://ideone.com/1vpKiN
>>814238заебал http://ideone.com/Kn8Jdk
>>814262А теперь напиши это так, как это нужно писать - в одну строчку.
int32_taverage(int32_t a, int32_t b){ return ((a - b) >> 1) + b; }
>>814195Оставьте алгоритмы профессорам. Програмирование это инжениринг, собери из кусков и правильно. Если ты инженер механик, ты же не будешь делать открытия в ньютоновской физике? Начинающий погромист, зарплата 120к
>>814262Не хочу тебя расстраивать, но floor - округление к меньшему. (-1 + 0) / 2 = -1 / 2 = -0,5 -> floor(-0.5) = -1.
>>814390Это я в условии обосрался. Конечно же там не floor, а округление к нулю. Т.е. average(-3, -2) = -2int32_t average(int32_t a, int32_t b) { return ((a < 0) ^ (b < 0)) ? ((a + b) / 2) : (a + (b - a) / 2);}по сути int32_t делится на два множества: [INT_MIN, -1] и [0, INT_MAX]Понятно что если сложить два элемента из разных множеств, то overflow не будет.Если отнять любые два числа из одного множества, мы получим всегда число в отрезке[-INT_MAX, INT_MAX]INT_MIN - (-1) = -INT_MAX-1 - INT_MIN = INT_MAXINT_MAX - 0 = INT_MAX0-INT_MAX = -INT_MAXПонятно что кроме краевых случаев больше ничего рассматривать и не надо.
>>814385Зачастую задача инженеров - изобретать куски, а не собирать их. Ты их с рабочими на заводах спутал.
>>814397Кстати, проблема a + (b-a)/2 в том, что она не симметрична.Поэтому если хочется совсем строгости, можно сделать что-то типаhttp://ideone.com/qKcl9G
>>812527вроде никто еще правильного решения не запостил, да? тогда вот, референсhttp://pastebin.com/hfvwNdaz
>>814586запостили и не единожды
>>814721говно постилиговно
>>814755Работает? Работает. Быстро работает? Быстро. Понятно, что написано? Понятно. Пошел нахуй тогда.
>>814770> быстро> БЫСТРОАХАХАХАХАХАХАХАХХАХАХАХАХ
>>814880>выкладывает код с той же вложенностью условий>не замерял время работы>что-то вякает про производительностьХотя, чего я ожидал.
>>814770дык а где верное решение выше кроме моего здесь?>>814586
Вот:>>814262>>814135>>814397>>814513
>>814586int32_t signy(int_32_t a) { return a & 0x7fffffff }Ещё #IFDEF __LITTLE_ENDIAN__ (или как его там) нужен, а пока у тебя нихуя не быстро.
>>812285Что значит>не такие, как себе представляют? Распиши поподробнее, пожалуйста.
>>815417Вот тебе стандартная картинка O-нотации.Красное это сложность алгоритмов в гугле. Вот представь себе распаралеленную external merge sort. Это будет уже не n lg n
>>815827
>>815827Лихо ты перескочил от одной машины к нескольким, прихватив с собой О-нотацию. Сколько же это будет в твоей нотации?Ты так говоришь, как будто бы кто-то ещё пишет merge sort в гугле, а не просто юзают мапредьюс ваш поколоночный какой-нибудь
Блядь. Я хуею. Даже смешные $500к в год это 2.7ляма дерева в месяц. Я хуею. У меня было бы столько денег, что я не знал бы куда их блядь потратить. Откуда у гугла СТОЛЬКО денег? Кто им их столько приносит, что даже ссаным кодерам перепадают миллионы?
>>816982>$500кС чего ты взял, что 500к в год смешны, если средняя ЗП программиста примерно 100к в год?
>>816982>Откуда у гугла СТОЛЬКО денег?Ты долбоеб? Гугл это прослойка между человеком и товаром/услугой в очень большом количестве стран. А скоро люди и в продуктовые супермаркеты перестанут ходить, наладят логистику ЖРАТ на дом даже в Пакистане каком-нибудь. И гуглу будут капать еще большие деньги с адвордс рекламы. А потом еще что-нибудь придумают, и еще, и еще, пока не утонем в пластиковом мусоре. А хуман ресурс это главная статья расходов в IT. Вот тебе и полляма бачей вырисовывается.
>>816982>. У меня было бы столько денег, что я не знал бы куда их блядь потратитьТы бы покупал ютубы и ингрессы за эти безумные бабки.
>>817020Хочу так же воротить всем. Хотя бы частично. Акции гугла скупать? Явно компания не бедствует. Хорошие дивиденды?
>>812189и как амфетамины действуют? и вообще действуют? Ты у диллы покупаешь?
>>816982ААХАХАХАХАХАХХА, ДИБИЛ!С /b/? Средняя ЗП 100к$-150к$. Максимум у наемника - 250к$. Среднее собеседование 10 часов, суммарно. Это тебе не людей в рашке наебывать. Там всё честно. СПЕРВА ДОБЕЙСЯ>>816926> не просто юзают мапредьюсЗачем тогда собеседования по 10 часов и кнута наизусть? Значит пишут, руками.
>>817077Facebook:ПИШЕШЬ АХО КОРАСИКА НА ДОСКЕ@ОБСУЖДАЕТЕ АЛГОРИТМ ПОИСКА ОСТОВНОГО ДЕРЕВА НА МАПРЕДЬЮСЕ@ПИШЕШЬ ДВУМЕРНОЕ ДЕРЕВО ФЕНВИКА@НАХОДИШЬ K-Ю ПОРЯДКОВУЮ СТАТИСТИКУ В N ОТСОРТИРОВАННЫХ МАССИВАХ@ДОПИЛИВАЕШЬ ФОРМОЧКИ НА ПХП
>>817565вся суть