Pull to refresh

Comments 139

UFO just landed and posted this here

Да мне повезло, на самом деле . Много людей говорят, что тут дело везения.ну от начала подготовки на Амазон, до последнего собеседования в Майкрософт ушло где-то 2.5-3 месяца. Каждый день где-то 2-5 часов задачек, в зависимости рабочий или выходной, еще часто учил систем дизайн, + где-то часа два 2-3 раза в неделю. Хотя в принципе, бывало не решил задачку и ходил целый день о ней думая, я вот не знаю куда это время приписывать)

Пока что не знаю, я еще не стартовал работать)

Спасибо)

Поздравления! Надо теснить индусов и китайцев в таких топовых корпорациях ))

Несколько вопросов, если не секрет:

  1. Какой образовательный бэкграунд?

  2. Сколько лет в IT?

  3. TOEFL / IELTS сдавали?

Спасибо)
1. У меня бакалавр в "Инженерия програмного обеспечения"
2. 3.5
3. Нет

UFO just landed and posted this here

Некоторые заблуждения уже настолько сильно укоренились в языке, что уже никуда оттуда не денутся.

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

Вы в курсе о таком понятии, как "эпоним"? Их образование имеет место в различных языках.

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

это верно, очень сильно нужно учитывать)

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


На меня как-то года 3 назад выходила HR из МС и как-то не очень с ЗП было. Прям близко не уровень по ссылке.

Ещё очень сильно зависит от того на какой level попал кандидат, от этого зависит зарплата, бонусы и ответственность. Порой бонус переваливает зарплату, но это надо быть не ниже Principal Engineer, чтобы такого достичь в Европе, в US, порой и Senior 64го уровня может выйти на уровень - бонус выше зарплаты. Также, очень многое зависит от того сколько лет в компании, ибо бонусы, которые выдаются акциями накладываются один на другой, а за последние 6 лет акции МС подорожали почти в 10 раз.

Я как раз являюсь одним из активных интервьюверов в Пражском офисе МС. Андрея не собеседовал :).

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

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

Звучит понятно. А у вас там в Праге разработка под Android какая-то ведётся? :)

Так и какой оффер-то? Автор в письме уже замазал. Интересно что предлагает MS в европе после такого интервью. Смысл замазывать?
Посмотрим, ответит ли автор, но помню смотрел значения на Glassdor и результат совсем не порадовал. Там написаны суммы, которые у нас в Польше можно зарабатывать в конторах средней руки… Но нужно обязательно сделать оговорку на:
1. Правда ли написана на Glassdor
2. В Microsoft есть бонус, в средней польской конторе — нет
3. Строчка в резюме Microsoft выглядит намного более престижно, чем ООО «Рога и копыта»

В Лондоне аналогично, база довольно низкая, а стоки + бонус хоть и добивают до более менее приличного уровня, но те же банки их счиают с коэф 0,2 в заявке на ипотеку.

В ФБ платят побольше.

вполне возможно что правда, vmware это конечно не фаанг но в самой Польше платит чуть больше польских галер, смотришь на условия в США и офигеваешь.
Так в этом и есть один из смыслов офисов «не в США»

аа, для компании да, в этом есть смысл) в несколько раз дешевле рабочая сила)
поэтому за деньгами нужно в США ехать, наверное

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

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

Интересно, что если написать строчку в резюме, не работав в МС, то проверить это дело можно будет примерно никак. Да и вряд ли кто-то будет заморачиваться проверкой. Так что, наверное, все-таки как самоцель так себе. ИМХО, конечно.

Ну, например, сейчас майки запариваются, чтобы проверить КАЖДУЮ строчку в моем резюме, в том числе и универ, и ноунейм галеры на которых я работал еще на началах.
+ Суть в том, что бы не другие это знали(хотя это тоже само собой), а чтобы я для себя знал, что затащил туда интервью, и взяли)

Я думаю, что нету плохих и хороших самоцелей.

Ну, например, сейчас майки запариваются, чтобы проверить КАЖДУЮ строчку в моем резюме,

А вы знаете, как они это проверяют?

У меня просили контакты(универ) + контракты и декларации о налогах + некоторые контакты СЕО галер.

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

да, но СЕО не сделали контракта вовремя, поэтому мне пришлось пошарить их контакты. В галерах где было все окей с документациея - я не шарил контактов само собой. Я не знаю связывались ли с ними.

+ я пошарил линкедин, а это публичная инфа, как бы)

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

Компания может быть декларирована где угодно, а "грязную" работу у них делают подрядчики и субподрядчики. Я даже знаю как минимум одного человека, работающего в пражском офисе МС, который схитрил в резюме, и никакой бекграунд чек его не просёк. Человек грамотный. К сожалению, не могу сказать подробнее. Но вы можете погуглить в Bing :)


P.S. Разумеется, всё это звучит просто словами, но чтобы подтвердить свои слова, мне пришлось бы сдать человека. А зачем? Все ведь довольны, человек работает, компания получает денюжку.

Если компания себя ценит, то проверять будет. Тем более, это сделать достаточно легко. Максимум что можно попросить, так не проверять последнее место работы если ты там ещё сидишь. Но эту просьбу могут и не выполнить.

Обычно проверяют всё до образования. У одной моей знакомой проверяли даже место учёбы в каком-то секретном городе времён СССР.

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

Я в своём случае ничего не врал, но знаю прецеденты успешной мистификации резюме по принципу "fake it until you make it". После достижения цели, человек просто задним числом убирает нафейкованное и всё, он как бы чист.

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

А по поводу "чист", то интернет всё помнит. Тот же HR держит копии. Если у кого-то "проканало", то не факт, что это хорошая идея и сработает у других.

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


P.S. К слову, люди с абсолютно мутным бэкграундом даже гражданства умудряются получать по натурализации. А тут всего лишь про работу речь...

Конечно, найдётся работа. Но ведь хочется что-то интересное и хорошее с приятной денежной компенсацией, а не "что нашлось".

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

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


P.S. Кстати, работы с хорошей компенсацией вокруг больше, чем многие думают. И, что самое интересное, круг вкусных предложений гораздо шире, чем ФААНГ. В Штатах может и не так, а в Европе ФААНГ далеко не всегда вкуснее более мелких фирм.
P.P.S. А ещё — к вопросу об истории по вам у HR — по GDPR в ЕС вы имеете право потребовать удалить все данные о вас. Через полгода-год вы туда можете заявиться как абсолютно новый кандидат для них ;) При этом к жульничеству это не имеет отношение. А вот предвзятость (из-за, например, предыдущих отказов) может снизить.

У меня нет такой статистики. Может, на общем фоне это и редко, но в моих случаях заморачивались всегда.

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

Видимо, зависит от страны и сферы деятельности.

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

Я изначально подразумевал про Чехию в первую очередь. Ведь человек Чехию получил офер.

Изначально была речь про "майков" вообще, а потом уже каждый наложил на свой опыт и додумал что-то своё. И пошло-поехало. Бывает. Главное, что разобрались.

ну вкусно, это вы про зп?
Как я уже говорил в комментах, ФААНГи это редко про зп прям, особенно не на синьер + лвлах.
Само собой есть стратапы, которые всегда дадут больше.

Есть специальная контора, которая занимается проверкой кандидатов, и когда проходишь собеседование в контору FAANG тебя проверят, маленькие компании скорее всего такими услугами непользуются, поэтому они могут и не узнать, врали вы или нет.

Да, я в курсе. Одна из таких компаний называется HireRight, но их много. И у них вполне стандартные подходы. Детектива для проверки кандидата никто не нанимает :)

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

Ну если так интересно, наверное, было бы лучше мне лично написать?) Или вы думаете, что я буду на обозрение говорить цифры, которые специально замазал в статье?

Можно было бы указать вилку зарплат в этой компании на этой должности в конкретной стране, в которую предложили оффер. Или хотя бы написать «выше среднего по стране» или что-то в этом роде.
Из того, что есть в интернете, в пражском Microsoft инженерные зарплаты в пределах 55к — 75к EUR в год до налогов. Но это вроде бы именно ЗП, без учёта стоков и бонусов.

Справедливости ради, акции MSFT у них вкусные. Правда, их можно и так купить если что. Не уверен, что MS при покупке даёт скидку своим работникам.

UFO just landed and posted this here

TSLA не считается, так как совершенной другой риск. А то с таким успехом можно и с Биткоином сравнивать.

UFO just landed and posted this here

Сравнивать с гуглами, яблоком более справедливо в этом плане. Тот же ms и амазон с яблоком ещё дивиденды подкидывают.

Я от них не жду чуда, а скорее стабильность и низкий риск.

Если мне нужно чудо и кучу приключений, то я куплю крипту.

UFO just landed and posted this here
Тем более, что зачастую, чтобы реализовался бонус стоками нужно некоторое время в компании проработать (три года например). Тоже получается не у всех.

Это от договора зависит. Но в целом да, акции дают для того, что бы удержать людей на месте.

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

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

Для сотрудников есть возможность покупать акции на свои деньги со скидкой в 10 %.

Почему-то думал, что скидка будет лучше, но всё равно неплохо. Я вот про такого типа предложение писал.

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

Про ограничение от зарплаты это вроде у всех так, тут ничего удивительного.

Ну оффер сильно зависит от страны и определяется как "конкурентный уровень зарплаты" в сравнении с тем, что платят другие компании в данной локации для данного уровня. Будет очень сильно отличаться в Сербии, Чехии и Германии, например.

У вас, наверно, опечатка:

"В отличие от Майкрософта, объяснять свои решения не надо было.", наверно, предполагалось "от Амазона"?

Ты даже не представляешь, насколько ты счастливчик, что не попал в Амазон!

с комментариев к прошлой статье, представление обрисовалось немного)

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

Да, но те менеджеры и директора, которые не выполняют квоты по URA сами становятся URA и их отпускают на улицу. Просто в некоторых командах есть практика "нанять чтобы уволить" и таким образом удовлетворяют URA, но вы же понимаете, что это так же мерзко. Кто-то бросил предыдущее место работы ради Амазона, а его через 6-8 месяцев гарантировано выбросят на улицу, просто ради того, чтобы сильная команда оставалась не тронутой.

Поздравляю, Вы большой молодец!

Хотелось бы поинтересоваться: за сколько примерно до интервью вы начали готовиться? И в какую страну в итоге предложили релокейт?

в Чехию) Где-то за 2-3 месяца до собеседования.

Писали бы сразу на английском.

Была энамка экшенов, которые приходили из абстрактного инпута

так я бы и писал) просто не всем заходит)

По итогу, какой оффер то хочется получить? Что будет важным в оффере? Зп, комфорт, локация или что?

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

По комфорту должно быть окей, уже как стартану работать, может что-то запишу у себя в ютюбе на этот счет и пару статеек сюда)

В офере есть место зп и бонусов, + полный релок пекедж сразу же, чего не дает ни одна галера в Украине(

Если едете с семьёй в Чехию, учтите что тут страховки подорожали для семьи.

да, знаю, спасибо.
Еду я сам)

В Праге жизнь очень комфортная, размеренная и спокойная. Есть люди которым это не подходит. Правда жилье подорожало дику - уже дороже чем в Берлине

Мне и нужна размереность, хотя не нафармишь в Праге особо(

А это не удивительно. Берлин не самый лучший город Германии, хотя и столица.

Поздравляю с оффером! Это в Teams? Предполагаю это потому, что моё собеседование несколько отличалось по формату — не было ООП и сисдиза.

Спасибо)
Нет, не тимс) dynamics 365
Насколько мне известно и задачки, и ооп, и сисдизы - разные для каждого кандидата, ну или почти все разные.

Поздравляю! И когда начинаете?

где-то в апреле вроде старт дейт)

UFO just landed and posted this here

можно пожалуйста ссылку?)
Да, оки, ждемс статью "Почему я ушел с Майкрософта"))))

UFO just landed and posted this here

Вроде там не так все плохо, по отзывах, или может я что-то не нашел

Сам в Dynamics не работал, но коллеги «сбежавшие» оттуда в наш департамент (IC3) говорят примерно такое-же. Чайка-менеджмент, политика «закрыть таску сейчас, а потом хоть трава не расти» и плохие процессы планирования развития продукта в основном среди жалоб.

хмммм, интересно, ну посмотрим)

Уже сильно все поменялось, раньше было правдой

Вы там работаете, как я понял?
Очень надеюсь, что поменялось)

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

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

Base обычно поднять нереально. А вот signup bonus и стоки вполне торгуются, можно накинуть.

Кстати, я не знаю как оно сейчас и в Европу, но в прошлом десятилетии при переезде в США была возможность взять вместо билетов/перевозки вещей/временного жилья/местных консультантов просто деньги. Если ехать одному и есть какие-то знакомые на месте, которые помогут сориентироваться, то выходит заметно выгоднее.

Тоже про это слышал, но ни знакомы ни опыта "побывать за границей" нету, поэтому страшно вот так всю ответственность на себя

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


Помню по себе, когда 12 лет назад переехал в Прагу, и мне надо было интернет. Были и знакомые тут, но они отмахнулись, мол, у провайдера все говорят по-английски. Ога, счаз. В общем, пришлось общаться через гугл-транслейт :)


P.S. Если будут вопросы по жизни в Чехии, можете пинговать в личку. Помогу, чем смогу.

О, спасибо, я пингану если что)

Если у вас на джуна были мид лвл задачки и сис дизайн, то если возможно подскажите то чем отличается собеседование на мидла или сениора?

Ни чем вроде как, насколько я понимаю, могло быть два сис дизайна. Знаю людей, которых взяли сразу синьером, те же интервью были, только может решает знания, ум, и опыт предыдущий. Они же видели, что у меня 3 года то всего в СВ)

Задачи определяются позицией и ролью, то есть они могут исходно быть различны для разных позиций, но будут одинаковы для всех кандидатов, претендующих на данную позицию. В зависимости от позиции может отличаться композиция интервью (system design или скорее больше кодинга). Это решает hiring manager и сообщает об этом всем интервьюерам.

Для каждой позиции есть вилка уровней, ну и соответственно различные ожидания для каждого уровня. Вилка обычно на 1-2 уровня в пределах одного band, то есть например для junior это было бы 59 или 60, мидл - 61 или 62 и так далее. Для уровней выше сениора есть отдельные требования и подходы.

Задачи в большинстве случаев не отличаются, задача интервьювера понять ваш уровень при ответе на одну и ту же поставленную задачу. Идея здесь в том, что в реалии над одной задачей работает много разных людей, и джуны, и мидлы и синьоры. Наша задача во время собеседованяия понять какого вы уровня и предложить соответствующую позицию. Дело в том, что если вы случайно попадете на позицию выше, чем можете тянуть, вы будете получать нулевые бонусы, а вам это может не понравиться :)

Ну я знаю человека, который тоже собеседовался в Прагу в МС, и с 4-ех интервью, такое же как у меня было только одно.

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

Да мне в принципе не очень хорошо, когда я ничего не делаю + семьи своей еще нету, а программирование и архитектура - очень заходит.
Для меня ФААНГ - это топ карьерная амбиция была, поэтому я рад, что потратил время. К тому же, очень хотел наконец-то хотя бы понимать как решаются те все задачи, ибо есть колеги и друзья, с которыми чувствуеш себя тупым)

Если бы не ФААНГ - то я бы наверное задротил книги на архитекта. Поэтому, это как кому, для меня это своего рода хобби.

Что посоветуете из книг "на архитекта"?

Извините, я не архитект, а простой синик кодер на епаме)
Но то, что я читал и уверен это книги в статье - их я перечитывал не один раз. Да и всякое по дистрибутыд системс, их много всяких есть. Это я планировал читать.

Но все же, это лучше спросить у более квалифицированных колег)

Хорошо, спасибо! Те, что в статье, я тоже уже читал :)

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

Да, без опыта к сождалению никак, н ои без теории тоже. Я видал лидов, которые были с 10-ся годами опыта и их архитектурные решения... Книг, как потом выяснилось, они действительно не читают.
Как я уже говорил, я просто был синик в епаме, а сейчас просто джун в майках, но у меня теория занимает 60-80 процентов по важности и времени. И это довольно часто решало, по крайней мере на интервью и в практических сложных решениях.

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

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

дак потом на собеседовании могла попасться относительно сложная. На анаграмы - это была не сложная само собою, но не только её дают. + Есть только 30 минут, на осознание, придумывание и проговаривание солюшна, кодинг, анализ. Как по мне, что-то сложное давать - нету смысла, да и к тому же, чуваку с 3 годами опыта.

Пару месяцев назад тоже проходил собес в мс, тоже в прагу, в o365 только на позицию sse. Тесты на кодилити скипнули, сразу пригласили на 4 собеседования в 1н день. Вопросов по программированию почти вообще не было, в основном повиденческие спрашивали. Эх надо было к ним готовится.

А расскажите про вашу мотивацию. Вам вот всё равно куда идти, в амазон или микрософт? Но это немного разные компании, с разными проектами и разной политикой. Или вопрос чисто в том чтобы бабла побольше срубить?

Не, мотивация "бабла срубить" - это не канает, вроде как в всех фангах. Проще выучить пару книг, и пойти архитектом на 8+ за год в снг, с 5% налогами, намнооого проще, чем мудрить с литкодом, сисдизами, стресить с минтервью и потом еще с переездом.
Мотивация проста - хочеться галочку "поработал в топ канторах мира", так сказать карерная амбиция. Ну и чсв, куда без него, все мы приматы все-таки)

Звезды в руки падают, когда считают нужным, отличный опыт 👍

Будет офисная работа или пока разрешают удаленно работать? Также интересно, как треккинг будет происходить и SDLC

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

Не могу понять решение задачи с анаграммами за O(n * m).
hashMap.has(arr) вроде как должен всегда возвращать false, так как мы всегда создаем новый массив

Да, если мы не оверрайдим хешмапу (и сравниваем по референсах). Но можно кастомно сравнивать, или писать хешкод, который будет по елементах, а не по референсах - и тогда сработает. Я это проговорил на интервью.

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

Вас правда NDA не просили подписывать? Это, мягко говоря, странно и неправдоподобно. Все эти процессы найма давно стандартизированы и автоматизированы, забыть прислать NDA сложно, это же бот обычно делает.

не было, ничего я не подписывал)

Я правильно понял, что сперва предложили много офисов на релокацию, а по завершению только офис в Чехии?

И был ли вариант с релокацией в USA?

Спасибо.

Да, все верно.
Ничего про США не было, да и я не особо хотел так далеко лететь.
Спасибо)

Не хочется так далеко лететь даже за разницу в деньгах?

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

Если привыкну там к самолетам и загранице - возможно я поменяю свое отношение) Как то так.

Как учил английский и как практиковался в понимании устной речи?

Да сложно и долго, еще со школы, постепенно, наращивая. Последние года 4 я просто много читаю + курсы, + на работе бывает общаюсь на английском.

Захотелось решить задачки на питоне, и по второй возник вопрос)

def func(substring, counter=1):
    for i in range(1, len(substring) + 1):
        if len(substring[:i]) != len(set(substring[:i])):
            return func(substring[i - 1:], counter + 1)
        elif i == len(substring):
            return counter

Почему количество вариантов сплитов в двух примерах равно количеству подстрок? В этом есть какой-то скрытый смысл?

Почему количество вариантов сплитов в двух примерах равно количеству подстрок? В этом есть какой-то скрытый смысл

Нет, просто совпало.


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


Самое эффективное решение будет тупо циклом а не рекурсией. Вместо пометок надо хранить последние индексы символов:


    last_pos = dict();
    last_start = 0
    cuts = 0
    for i in range(0, len(s)):
        if s[i] in last_pos and last_pos[s[i]] >= last_start:
            cuts += 1
            last_start = i
        last_pos[s[i]] = i
    return cuts + 1
Sign up to leave a comment.

Articles