Как да се подготвим за интервю в Google и да се провалим. Два пъти

Как да се подготвим за интервю в Google и да се провалим. Два пъти

Заглавието на статията звучи като епичен провал, но в действителност всичко не е толкова просто. И като цяло тази история завърши много положително, макар и не в Google. Но това е тема за друга статия. В същата тази статия ще говоря за три неща: как премина процесът ми на подготовка, как протекоха интервютата в Google и защо според мен всичко не е толкова ясно, колкото може да изглежда.

Как започна всичко

Една студена кипърска зимна вечер внезапно ми хрумна мисълта, че познанията ми по класическа компютърна наука са много далеч от средните и трябва да се направи нещо по въпроса. Ако, между другото, някой все още не е прочел защо вечерта е кипърска и студена, тогава можете да разберете за това тук. След известно обмисляне беше решено да започнем с онлайн курс по алгоритми и структури от данни. От един от моите бивши колеги чух за курса на Робърт Седжуик в Coursera. Курсът се състои от две части (част 1 и част 2). Ако внезапно връзките се променят, винаги можете да търсите в Google името на автора. Всяка част е с продължителност 6 седмици. Лекциите се изнасят в началото на седмицата, а през седмицата все още трябва да правите упражнения. Първата част на курса обхваща основни структури от данни, основни видове сортиране и сложността на алгоритмите. Втората част вече е по-напреднала, започвайки с графики и завършвайки с неща като линейно програмиране и непоносимост. След като обмислих всичко по-горе, стигнах до извода, че това е точно това, от което се нуждая. Между другото, любознателен читател може да попита какво общо има Google с това? И наистина, до този момент той нямаше нищо общо с това. Но имах нужда от цел, тъй като ученето в продължение на 12 седмици вечер без цел е малко трудно. Каква може да е целта на придобиването на нови знания? Разбира се, тяхното приложение в практиката. В ежедневието това е доста проблематично, но по време на интервю с голяма компания е лесно. Един бърз Google показа, че Google (простете за тавтологията) е една от най-големите компании в Европа (а аз гледах точно Европа), която провежда подобни интервюта. А именно техният офис се намира в Цюрих, Швейцария. Така че беше решено - да учим и да отидем на интервю в Google.

Подготовка за първия подход

12-те седмици минаха бързо и завърших и двата курса. Впечатленията ми от курсовете са повече от положителни и мога да ги препоръчам на всеки, който се интересува. Харесах курсовете поради следните причини:

  • Лекторът говори сравнително ясен английски
  • Материалът е добре структуриран
  • Страхотни презентации, показващи вътрешностите на всеки алгоритъм
  • Компетентен избор на материал
  • Интересни упражнения
  • Упражненията се проверяват автоматично на сайта, след което се генерира отчет

Работата ми по курсове обикновено протичаше така. Слушах лекции за 1-2 дни. След това се явиха на бърз тест за познаване на материала. Останалата част от седмицата направих упражнението в няколко повторения. След първия получих своите 30-70%, следващите доведоха резултата до 97-100%. Упражнението обикновено включва прилагане на някакъв алгоритъм, напр. Резба на шевове или bzip.

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

Тъй като беше едва месец май и насрочих интервюто за есента, реших да продължа образованието си. След преглед на изискванията за свободното място беше решено да се върви паралелно в две посоки: да продължите да изучавате алгоритми и да вземете основен курс по машинно обучение. За първата цел реших да премина от курсове към книга и избрах монументалния труд на Стивън Скиена „Алгоритми. Ръководство за проектиране на алгоритъм. Не толкова монументален като този на Кнут, но все пак. За втората цел се върнах в Coursera и се записах за курса на Andrew Ng. Machine Learning.

Минаха още 3 месеца и завърших курса и книгата.

Да започнем с книгата. Четивото се оказа доста интересно, макар и не лесно. По принцип бих препоръчал книгата, но не веднага. Като цяло книгата предоставя по-задълбочен поглед върху това, което научих в курса. Освен това открих (от формална гледна точка) неща като евристика и динамично програмиране. Естествено, използвах ги и преди, но не знаех как се казват. Книгата съдържа и редица приказки от живота на автора (Военна история), които донякъде размиват академичния характер на изложението. Между другото, втората половина на книгата може да бъде пропусната, тя съдържа по-скоро описание на съществуващи проблеми и методи за тяхното решаване. Полезно е, ако се използва редовно на практика, в противен случай веднага ще бъде забравено.

Бях повече от доволен от курса. Авторът явно си знае нещата и говори по интересен начин. Освен това голяма част от него, а именно линейната алгебра и основите на невронните мрежи, запомних от университета, така че не изпитвах особени затруднения. Структурата на курса е доста стандартна. Курсът е разделен на седмици. Всяка седмица има лекции, смесени с кратки тестове. След лекциите ви се дава задача, която трябва да направите, да изпратите и тя ще бъде автоматично проверена. Накратко, списъкът с неща, преподавани в курса, е както следва:
- функция на разходите
- линейна регресия
- градиентно спускане
- мащабиране на характеристиките
- нормално уравнение
- логистична регресия
— многокласова класификация (един срещу всички)
— невронни мрежи
- обратно разпространение
- регулиране
— отклонение/вариация
— криви на обучение
— показатели за грешка (прецизност, припомняне, F1)
— Поддържащи векторни машини (класификация с голям марж)
— К-означава
— Анализ на основните компоненти
- откриване на аномалии
— съвместно филтриране (система за препоръка)
— стохастично, минипартидно, партидно градиентно спускане
— онлайн обучение
- намаляване на картата
- анализ на тавана
След завършване на курса беше налице разбиране на всички тези теми. След 2 години почти всичко беше естествено забравено. Препоръчвам го на тези, които не са запознати с машинното обучение и искат да разберат добре основните неща, за да продължат напред.

Първо бягане

Вече беше септември и беше време да помисля за интервю. Тъй като кандидатстването през сайта е доста пагубно, започнах да търся приятели, които работят в Google. Изборът падна на datacompboy, тъй като той беше единственият, когото познавах директно (дори и не лично). Той се съгласи да препрати автобиографията ми и скоро получих писмо от специалиста по набиране на персонал, предлагащ да запазя място в неговия календар за първия разговор Няколко дни по-късно се обади. Опитахме да комуникираме чрез Hangouts, но качеството беше ужасно, затова преминахме към телефона. Първо, набързо обсъдихме стандарта как, защо и защо, а след това преминахме към технически преглед. Състоеше се от дузина въпроси в духа на „каква е трудността да се вмъкне в хеш карта“, „какви балансирани дървета познавате“. Не е трудно, ако имате основни познания за тези неща. Прожекцията премина добре и въз основа на резултатите решиха да организират първото интервю след седмица.

Интервюто също се проведе чрез Hangouts. Първо говориха за мен около 5 минути, след което преминаха към проблема. Проблемът беше в графиките. Бързо разбрах какво трябва да се направи, но избрах грешен алгоритъм. Когато започнах да пиша код, осъзнах това и преминах към друга опция, която завърших. Интервюиращият зададе няколко въпроса относно сложността на алгоритъма и попита дали може да се направи по-бързо. Някак ми стана тъп и не можех да го направя. В този момент времето изтече и се сбогувахме. Тогава, след около 10 минути, ми светна, че вместо алгоритъма на Дайкстра, който използвах, в този конкретен проблем мога да използвам търсене в ширина и щеше да бъде по-бързо. След известно време специалистът по подбора на персонала се обади и каза, че интервюто като цяло е минало добре и трябва да се организира друго. Разбрахме се за още една седмица.

Този път нещата се влошиха. Ако първия път интервюиращият беше дружелюбен и общителен, този път беше някак мрачен. Не можах да разбера проблема веднага, въпреки че идеите, които измислих, по принцип биха могли да доведат до неговото решение. В крайна сметка, след няколко подкани от интервюиращия, решението дойде при мен. Този път пак се оказа търсене на ширина, само че от няколко точки. Написах решенията, срещнах ги навреме, но забравих за крайните случаи. След известно време служителят по подбора на персонала се обади и каза, че този път интервюиращият е недоволен, защото според него имах нужда от твърде много подсказки (3 или 4 броя) и постоянно променях кода, докато пиша. Въз основа на резултатите от две интервюта беше решено да не продължавам, а да отложа следващото интервю с една година, ако пожелая. Затова се сбогувахме.

И от тази история направих няколко извода:

  • Теорията е добра, но трябва бързо да се ориентирате в нея
  • Теорията без практика няма да помогне. Трябва да разрешим проблемите и да доведем кодирането до автоматизъм.
  • Много зависи от интервюиращия. И нищо не може да се направи по въпроса.

Подготовка за второто бягане

След като обмислих ситуацията, реших да опитам отново след година. И леко редактирах гола. Ако по-рано основната цел беше да се учи, а интервюто в Google беше като далечен морков, сега преминаването на интервю беше целта, а ученето беше средството.
И така, беше разработен нов план, който включваше следните точки:

  • Продължете да изучавате теория, като четете книги и статии.
  • Решете алгоритмични задачи в размер на 500-1000 броя.
  • Продължете да изучавате теорията, като гледате видеоклипове.
  • Продължете да изучавате теория чрез курсове.
  • Проучете опита на други хора с интервюта в Google.

Изпълних плана за една година. След това ще опиша какво точно направих за всяка от точките.

Книги и статии

Дори не помня броя статии, които прочетох, четох ги и на руски, и на английски. Може би най-полезният сайт този. Тук можете да намерите описание на голям брой интересни алгоритми с примерни кодове.

Прочетох 5 книги: Algorithms, 4-то издание (Sedgewick, Wayne), Introduction to Algorithms 3rd Edition (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4th edition (Gayle Laakmann), Programming Interviews Exposed 2nd edition (Mongan, Suojanen) , Giguere), Елементи на интервюта за програмиране (Aziz, Lee, Prakash). Те могат да бъдат разделени на 2 категории. Първият включва книги от Седжуик и Корман. Това е теория. Останалото е подготовка за интервюто. Седжуик разказва за същото в книгата, както и в своите курсове. Само писмено. Няма много смисъл да го четете внимателно, ако сте взели курса, но въпреки това си струва да го прегледате. Ако не сте гледали курса, има смисъл да го прочетете. Кормен ми се стори твърде скучен. Честно казано, трудно го овладях. Просто го извадих от там магистърска теория, и няколко рядко използвани структури от данни (купчина на Фибоначи, дърво на van Emde Boas, купчина на радикса).

Струва си да прочетете поне една книга, за да се подготвите за интервю. Всички те са изградени на приблизително същия принцип. Те описват процеса на интервюиране в големи технологични компании, дават основни неща от компютърните науки, проблеми за тези основни неща, решения на проблеми и анализ на решения. От трите по-горе, вероятно бих препоръчал Cracking the Coding Interview като основен, а останалите не са задължителни.

Алгоритмични проблеми

Това беше може би най-интересният момент от подготовката. Можете, разбира се, да седнете и да решавате проблеми глупаво. Има много различни сайтове за това. Използвах основно три: Hackerrank, CodeChef и LeetCode. В CodeChef проблемите са разделени по трудност, но не и по тема. На Hackerrank както по сложност, така и по тема.

Но както веднага разбрах за себе си, има по-интересен начин. И това са състезания (предизвикателства по програмиране или състезания по програмиране). И трите сайта ги предоставят. Вярно, има проблем с LeetCode - неудобна часова зона. Затова и не участвах в този сайт. Hackerrank и CodeChef предоставят доста голям брой различни състезания, с продължителност от 1 час до 10 дни. Различните формати имат различни правила, но можем да говорим за това дълго време. Основната причина, поради която състезанията са добри, е въвеждането на състезателен (и отново тавтологичен) елемент в учебния процес.

Общо участвах в 37 състезания на Hackerrank. От тях 32 бяха рейтингови, а 5 бяха или спонсорирани (дори получих $25 в един от тях), или за забавление. В класацията бях в топ 10% 4 пъти, в топ 11% 12 пъти и в топ 5% 25 пъти. Най-добрите резултати бяха 27/1459 за 3 часа и 22/9721 за седмицата.

Преминах на CodeChef, когато Hackerrank започна да организира състезания по-рядко. Общо успях да участвам в 5 състезания. Най-добрият резултат беше 426/5019 в десетдневното състезание.

Общо на състезания и просто така реших малко повече от 1000 задачи, които се вписаха в плана. Сега, за съжаление, няма свободно време за продължаване на състезателната дейност, както няма и цел, за която несвободното време да бъде отписано. Но беше забавно. Препоръчвам на тези, които се интересуват от това, да намерят съмишленици. Заедно или в група е много по-интересно. Забавлявах се с това с приятел, така че може би се получи добре.

Гледайте видео

След като прочетох книгата на Скиена, се заинтересувах какво прави той. Подобно на Седжуик, той е университетски професор. В тази връзка видеоклипове от неговите курсове могат да бъдат намерени онлайн. Реших да прегледам курса COMP300E - Предизвикателства при програмирането - 2009 HKUST. Не мога да кажа, че ми хареса много. Първо, качеството на видеото не е много добро. Второ, не се опитах сам да разреша проблемите, обсъждани в курса. Така че ангажираността не беше много голяма.
Освен това, докато решавах задачи, опитвайки се да намеря правилния алгоритъм, попаднах на видеото на Тушар Рой. Работил е в Amazon, а сега работи в Apple. Както по-късно разбрах за себе си, има YouTube канал, където публикува анализ на различни алгоритми. Към момента на писане каналът съдържа 103 видеоклипа. И трябва да кажа, че неговият анализ беше направен много добре. Опитах се да гледам други автори, но някак си не се получи. Така че определено мога да препоръчам този канал за гледане.

Поемане на курсове

Не съм правил нищо специално тук. Гледах видеоклип от Android Developer Nanodegree на Google и взех курс от ITMO Как да печелите състезания по кодиране: Тайните на шампионите. Nanodegree е доста добър, въпреки че естествено не научих нищо ново от него. Курсът от ITMO е малко изкривен по отношение на теорията, но задачите бяха интересни. Не бих препоръчал да започвате с него, но по принцип беше добре прекарано време.

Учете се от опита на други хора

Разбира се, много хора се опитаха да влязат в Google. Някои влязоха, други не. Някои са написали статии за това. От интересните неща, които вероятно ще спомена този и този. В първия случай човекът изготвя за себе си списък с това, което трябва да научи, за да стане софтуерен инженер и да влезе в Google. В крайна сметка се озова в Amazon, но това вече не е толкова важно. Второто ръководство е написано от инженера на Google Лариса Агаркова (Ларрр). В допълнение към този документ можете също да прочетете нейния блог.

Има смисъл да прочетете рецензии на интервюта в Glassdoor. Всички те са повече или по-малко сходни, но можете да получите полезна информация.

Няма да давам връзки към други малки статии; можете лесно да ги намерите в Google.

Второ бягане

И сега мина една година. Оказа се много интензивно откъм учене. Но подходих към новата есен с много по-задълбочени теоретични познания и развити практически умения. Оставаха още няколко седмици до края на годината, отредена ми за подготовка, когато внезапно в пощата падна писмо от специалист по подбор на персонал от Google, в което ме пита дали все още имам желание да работя в Google и бих ли Имам нещо против да говоря с него. Естествено, нямах нищо против. Разбрахме се да се обадим след седмица. Поискаха ми и актуализирана автобиография, към която добавих кратко описание на това, което съм правил през годината на работа и като цяло.

След като общувахме цял живот, решихме, че след седмица ще има интервю в Hangout, както миналата година. Мина седмица, дойде време за интервюто, но интервюиращият не се появи. Минаха 10 минути, вече започнах да се изнервям, когато изведнъж някой нахлу в чата. Както се оказа малко по-късно, моят интервюиращ по някаква причина не можа да се появи и спешно му беше намерен заместник. Лицето беше малко неподготвено както по отношение на настройката на компютъра, така и по отношение на провеждането на интервюто. Но след това всичко мина добре. Бързо реших проблема, описах къде са възможни капани и как могат да бъдат заобиколени. Обсъдихме няколко различни версии на проблема и сложността на алгоритъма. След това говорихме още 5 минути, инженерът ни разказа впечатленията си от работата в Мюнхен (в Цюрих явно не са намерили спешна замяна) и след това се разделихме.

Същия ден с мен се свърза специалист по подбор на персонал и каза, че интервюто е минало добре и са готови да ме поканят на интервю в офиса. На следващия ден се обадихме чрез Hangouts и обсъдихме подробностите. Тъй като трябваше да кандидатствам за виза, решихме да насрочим интервю след месец.

Докато подготвях документите, паралелно обсъдих предстоящото интервю с рекрутера. Стандартното интервю в Google се състои от 4 алгоритмични интервюта и едно интервю за системен дизайн. Но тъй като кандидатствах като разработчик на Android, ми казаха, че част от интервюто ще бъде конкретно за Android. Не можах да разбера какво точно и какви ще бъдат спецификите от специалиста по подбор на персонал. Доколкото разбирам, това е въведено сравнително наскоро и той самият не е бил много наясно. Бях записана и за две обучения: как да премина интервю за алгоритми и как да премина интервю за системен дизайн. Сесиите бяха със средна полезност. Там също никой не можа да ми каже какво питат разработчиците на Android. Затова подготовката ми за този месец се свеждаше до следното:

  • Купуване на маркерна дъска и записване на 2-3 дузини от най-популярните алгоритми върху нея по памет. 3-5 броя всеки ден. Общо всеки е написан по няколко пъти.
  • Обновете паметта си за различна информация за Android, която не използвате всеки ден
  • Гледайки няколко видеоклипа за Big Scale и подобни неща

Както вече казах, в същото време подготвях документи за пътуването. Като начало ми поискаха информация, за да направят писмо-покана. След това дълго време се опитвах да разбера кой в ​​Кипър издава визи за Швейцария, тъй като швейцарското посолство не се занимава с това. Както се оказа, това прави австрийското консулство. Обадих се и си уговорих час. Поискаха куп документи, но нищо особено интересно. Снимка, паспорт, разрешение за пребиваване, куп различни сертификати и, разбира се, писмо с покана. Междувременно писмото не пристигна. В крайна сметка отидох с обикновена разпечатка и тя работи доста добре. Самото писмо пристигна 3 дни по-късно и кипърският FedEx не успя да намери адреса ми и трябваше да отида да го взема сам. В същото време получих колет от същия FedEx, който също не можаха да ми доставят, тъй като не намериха адреса и който лежеше там от юни (5 месеца, Карл). Тъй като не знаех за това, естествено, не предположих, че го имат. Получих визата си навреме, след което ми резервираха хотел и ми предложиха полети. Коригирах опциите, за да е по-удобно. Вече нямаше директни полети, така че в крайна сметка летях до там през Атина и обратно през Виена.

След като всички формалности по пътуването бяха уредени, минаха още няколко дни и наистина отлетях за Цюрих. Стигна без инциденти. От летището до града взех влак - бързо и удобно. След малко лутане из града намерих хотел и се настаних. Тъй като хотелът беше резервиран без храна, вечерях в съседство и си легнах, защото полетът беше сутринта и вече исках да спя. На следващия ден закусих в хотела (срещу допълнителни пари) и отидох до офиса на Google. Google има няколко офиса в Цюрих. Моето интервю не беше на централното. И като цяло офисът изглеждаше съвсем обикновен, така че нямах възможност да разгледам всички екстри на „нормален“ офис на Google. Регистрирах се при администратора и седнах да чакам. След известно време рекрутерът излезе и ми каза плана за деня, след което ме заведе в стаята, където трябваше да се проведат интервютата. Всъщност планът включваше 3 интервюта, обяд и още 2 интервюта.

Интервю номер едно

Първото интервю беше само на Android. И изобщо нямаше нищо общо с алгоритмите. Изненада обаче. Е, добре, по този начин е дори по-често срещано. Бяхме помолени да направим определен UI компонент. Първо обсъдихме какво и как. Той предложи да направи решение с помощта на RxJava, описа какво точно ще направи и защо. Те казаха, че това със сигурност е добре, но нека го направим с помощта на рамката на Android. И в същото време ще напишем кода на дъската. И не само компонент, а цялата дейност, която използва този компонент. Ето за това не бях готов. Едно нещо е да напишеш алгоритъм от 30-50 реда на дъската, а друго е да напишеш юфка от Android код, дори със съкращения и коментари в духа на „е, няма да го напиша, тъй като вече е очевидно“. Резултатът беше някакъв вид винегрет за 3 дъски. Тези. Реших проблема, но изглеждаше тъпо.

Интервю номер две

Този път интервюто беше за алгоритми. И имаше двама интервюиращи. Единият е действителният интервюиращ, а вторият е млад падаван (интервюиращ в сянка). Беше необходимо да се измисли структура от данни с определени свойства. Първо обсъдихме проблема както обикновено. Задавах различни въпроси, интервюиращият отговаряше. След известно време те бяха помолени да напишат няколко метода на изобретената структура на дъската. Този път постигнах повече или по-малко успех, макар и с няколко дребни грешки, които коригирах по подкана на интервюиращия.

Интервю номер три

Този път System Design, който изведнъж също се оказа Android. Беше необходимо да се разработи приложение с определена функционалност. Обсъдихме изискванията към приложението, сървъра и комуникационния протокол. След това започнах да описвам какви компоненти или библиотеки бих използвал, когато създавам приложението. И тогава, при споменаването на Job Scheduler, имаше известно объркване. Въпросът е, че никога не съм го използвал на практика, тъй като по време на пускането му току-що бях преминал към поддържащи приложения, където нямаше задачи за неговото използване. Същото се случи и при разработването на следващите. Тоест на теория знам какво е това нещо, кога и как се използва, но нямам опит в използването му. И това изглежда не се хареса много на интервюиращия. След това ме помолиха да напиша някакъв код. Да, когато разработвате приложение, веднага трябва да напишете код. Отново Android код на платката. Пак се оказа страшно.

Обяд

Друг човек трябваше да дойде, но не дойде. И Google прави грешки. В резултат на това отидох на обяд с предишния интервюиращ, неин колега, а малко по-късно се присъедини следващият интервюиращ. Обядът беше доста приличен. Отново, тъй като това не е главният офис в Цюрих, трапезарията изглеждаше съвсем обикновено, макар и много приятно.

Интервю номер четири

И накрая, алгоритмите в най-чистата им форма. Реших първия проблем доста бързо и незабавно ефективно, въпреки че пропуснах един ръбов случай, но при подканата на интервюиращия (той даде точно този ръбов случай) намерих проблема и го коригирах. Разбира се, трябваше да напиша кода на дъската. Тогава беше поставена подобна задача, но по-трудна. За него намерих няколко неоптимални решения и почти намерих оптималното, 5-10 минути не бяха достатъчни, за да довърша мисълта. Е, нямах време да напиша кода за него.

Интервю номер пет

И отново интервю за Android. Чудя се защо учих алгоритми цяла година?
В началото имаше няколко прости въпроса. След това интервюиращият написа код на дъската и поиска да намери проблеми в него. Намери го, обясни го, поправи го. Обсъдени. И тогава започнаха някои неочаквани въпроси в духа на „какво прави метод Y в клас X“, „какво има вътре в метод Y“, „какво прави клас Z“. Разбира се, отговорих нещо, но след това казах, че скоро не съм срещал това в работата си и естествено не помня кой какво прави и как в детайли. След това интервюиращият ме попита какво правя сега. И въпросите вървяха по тази тема. Тук вече отговорих много по-добре.

След края на последното интервю ми взеха пропуска, пожелаха ми успех и ме изпратиха. Поразходих се малко из града, вечерях и отидох в хотела, където си легнах, тъй като полета отново беше рано сутринта. На следващия ден пристигнах благополучно в Кипър. По искане на набиращия персонал написах обратна връзка за интервюто и попълних формуляр в специална услуга за връщане на изразходваните пари. От всички разходи Google директно плаща само за билети. Хотел, храна и пътни се заплащат от кандидата. След това попълваме формуляра, прикачваме разписките и го изпращаме в специален офис. Те обработват това и превеждат пари по сметката доста бързо.

Обработката на резултатите от интервюто отне седмица и половина. След което ме информираха, че съм „малко под летвата“. Тоест малко ми падна. По-конкретно, 2 интервюта минаха добре, 2 малко не толкова добре и Системният дизайн не много добре. Сега, ако поне 3 бяха тръгнали добре, тогава щяхме да можем да се състезаваме, иначе няма шанс. Предложиха да се върнат след една година.

Първоначално, разбира се, бях разстроен, защото бяха изразходвани много усилия за подготовка и по време на интервюто вече мислех да напусна Кипър. Присъединяването към Google и преместването в Швейцария изглеждаше страхотна опция.

Заключение

И тук стигаме до финалната част на статията. Да, два пъти се провалих на интервюто в Google. Това е тъжно. Сигурно би било интересно да се работи там. Но можете да погледнете на въпроса от другата страна.

  • За година и половина научих огромно количество неща, свързани с разработката на софтуер.
  • Много се забавлявах, участвайки в състезания по програмиране.
  • Отидох в Цюрих за няколко дни. Кога пак ще отида там?
  • Имах интересно интервю за една от най-големите ИТ компании в света.

Така че всичко, което се случи през тези година и половина, може просто да се счита за обучение или обучение. И резултатите от това обучение се усетиха. Идеята ми да напусна Кипър узря (поради някои семейни обстоятелства), преминах успешно няколко интервюта с друга известна компания и се преместих след 8 месеца. Но това е съвсем различна история. Мисля обаче, че все пак трябва да благодаря на Google както за годината и половина, върху която работих, така и за 2 интересни дни в Цюрих.

Какво да кажа накрая? Ако работите в ИТ, подгответе се за интервюта в Google (Amazon, Microsoft, Apple и др.). Може би някой ден ще отидете там, за да стигнете до там. Дори и да не искате, повярвайте ми, такава подготовка няма да ви направи по-лоши. В момента, в който разберете, че можете (дори и само с късмет) да получите интервю с една от тези компании, много повече пътища ще бъдат отворени пред вас, отколкото преди да започнете подготовката си. И всичко, от което се нуждаете по пътя, е цел, постоянство и време. Пожелавам ти успех :)

Източник: www.habr.com

Добавяне на нов коментар