Від світчера — до офера у FAANG за 5 років. Як я пройшла співбесіду в Facebook
Всім привіт. Мене звати Ольга, я — Software Engineer. Протягом останнього року працюю у компанії Meta (Facebook) з релокейтом зі Львова у Лондон.
У цій статті розкажу про свій шлях від зміни професії до отримання оферу. Стаття може бути цікава тим, хто сумнівається, чи варто світчитись в IT, а також тим, хто цікавиться етапами проходження інтерв’ю у Big Tech компанії.
Навчання і вибір професії. Persistence is the key
У ранні шкільні роки у мене не було явного нахилу до точних наук, як його не було і до гуманітарних. Коли мені в кінці четвертого класу задали задачку на вступі у гімназійний клас «Один кінь перебігає поле за 15 хвилин. За скільки хвилин пробіжить поле упряжка з трьох коней?», я чесно відповіла «За 45». У гімназійний клас мене таки взяли. Пошкодували, напевно...
Далі особливих нахилів теж не спостерігалось, допоки сусідка по парті не зайняла призове місце на одній з математичних олімпіад району. Всі так її вітали і пишались, що я вирішила, що теж так хочу. Почала з виконання домашніх завдань, потім додаткових завдань, а потім вже і я вигравала олімпіади.
При виборі професії серйозно розглядались два варіанти: прикладна математика та механіко-математичний факультет. Але, оскільки комп’ютера в сім’ї не було і не планувалось, з тодішніми доходами, то вибір було зроблено на користь останнього.
Завдяки знанням, здобутим в тому ж гімназійному класу і рідній школі, навчання проходило з ентузіазмом та на диво легко. Природно, закінчилось це все вступом в аспірантуру, захистом дисертації та роботою в Львівському національному університеті ім. Івана Франка протягом 8 років.
Зміна професії. Never give up
У зв’язку з незалежними від мене обставинами, на кшталт укрупнення університетів та зменшення кількості студентів, робота в університеті ніяк не могла набути постійного характеру. Тому було прийнято рішення перейти в IT. Тим більше сусід мене давно до цього спонукав, наводячи переваги у вигляді хорошої оплати праці та широких можливостей. Тобто думка жевріла вже давно.
Перше, що я зробила — записалась на курси англійської мови, щоб актуалізувати знання та покращити саме розмовну мову. Це було правильне рішення, оскільки згодом, під час самих ІТ-курсів, часу на англійську вже не вистачало б.
В ті часи популярною опцією було вступити на курси в EPAM або Softserve на той чи інший напрям. Курси були безкоштовні, проте вимагали проходження кількох раундів тестів та інтерв’ю, тому певний рівень знань був необхідним для вступу. Вибір було зроблено на користь .net, оскільки той же сусід міг би мене підстрахувати і допомогти порадами.
За два місяці самонавчання, переглянувши одну-дві книги по .net, пройшовши кілька уроків на codeacademy по HTML, CSS та javascript, я гордо пішла вступати на курси в Softserve. І з тріском провалила перший же етап.
Сусід співчутливо і обережно запропонував спробувати піти на курси QA, мовляв, мало б бути легше вступити. Але не на ту напали. Спортивний інтерес і природна впертість не дозволили здатись, і після ще двох місяців самонавчання я таки вступила на курси в EPAM.
Навчання на курсах та перша робота. Believe in yourself
Заняття відбувалися
Курс був поділений на дві частини. Перша частина стосувалась більше нутрощів .net, основним завданням було по закінченню створити гру на Windows Forms. Друга частина була присвячена веброзробці та взаємодії з браузером. Після першої частини ми складали проміжний іспит, за результатами якого та за оцінками протягом курсу формувався рейтинг. Кращих студентів обіцяли рекомендувати на роботу одразу ж, без проходження другої частини курсу.
Готуючись до іспиту, основною думкою було «Аби не вигнали». А завершилось все тим, що я зайняла перше місце в рейтингу та була рекомендована на позицію trainee. Маленька перемога над собою відбулась!
Сovid 2019. Be careful what you wish for
Змінивши кілька компаній та опинившись у Nasdaq, я напівжартома відповідала (коли запитували), що це — ідеальна компанія, і я звідти зі своєї волі не піду, а зустрічатиму в ній свою пенсію. Сидячи на карантині, рекрутерам на лінкедіні не відписувала, а якщо вже дуже допікали, то відповідала, що якщо матимете пропозиції з Microsoft, Google aбо Facebook, то пишіть, бо все інше мене не цікавить і я своєї зони комфорту просто так не полишу.
І ось, ні сіло ні впало, постукав до мене рекрутер від Facebook, з інформацією, що відбувається набір у Лондоні і чи не бажаю я спробувати свої сили. Я не сильно горіла бажанням (пенсію ж чекала), але робити вечорами на карантині було нічого, тому вирішила прийняти челендж, щиро будучи переконаною, що не пройду і першого етапу. Бо ж статті на DOU чи на інших ресурсах наводили жахи алгоритмами, місяцями підготовки та ледь не звільненням з роботи, щоб кваліфіковано підготуватись до співбесіди у FAANG. Ну, це ж точно не про мене, я ж звичайна людина, а не вундеркінд з амбіціями.
Підготовка та етапи інтерв’ю
To accomplish something important, two things are needed: a plan, and not quite enough time.
Перший етап: phone screen з рекрутером. 26.05.2020
До цього етапу я взагалі не готувалась, бо очікувала стандартних питань про досвід роботи, проєкти та технології. Все так і було, але далі, несподівано, пішли питання про average time complexity i worst case для деяких структур даних, а також — в якому випадку досягається worst case scenario. Здивувало, але проблем не виникло, на щастя з O-символікою все було просто, завдяки математичній освіті.
Ну, що ж, нутром чую, що screen пройшов добре. Думаю, скоро призначить технічний phone screen, а я ні сном ні духом в оцих ваших літкодах. Так і сталось: рекрутерка спитала, коли я можу пройти перший технічний скринінг, а я ж поняття не мала, скільки я можу просити часу і при цьому не виглядати непристойно. Попросила три тижні (наївно, правда ж?).
Оскільки до цього з олімпіадним програмуванням, як і з літкодом, справи я не мала, то було зрозуміло, що легко не буде. Вирішила скласти план. Коли працюю, коли їм, коли літкоджу, а коли сплю. Кожного дня після роботи по
Перший технічний скринінг. 18.06.2020
На цей момент я розв’язала близько 100 задач. Розподіл десь 60Е-35M-5H. Смішно і страшно.
Ну що ж, включаю відео, руки трусяться, позоритись не хочеться, але відступати нема куди. Інтерв’юер привітний, що трохи заспокоїло. Задав дві задачки medium рівня. Перша була взагалі на мій улюблений патерн, додала впевненості, а одну з варіацій другої я під час тренувань ну ніяк не могла закодити, постійно щось не працювало. А тут, мабуть, з переляку, таки закодила.
Сиджу кілька днів після інтерв’ю, чекаю відгуку. Підозрюю, що пахне смаженим, бо ж ніби все пройшло добре. І таки через два дні рекрутер каже, що все ок, запрошуємо на онсайт, який в часи ковіду проводиться онлайн, тож нікуди не треба їхати.
Онсайт. 20-21.07.2020
Ну все, думаю, приплили... Нащо воно мені треба було... Спокійно ж жила собі, не тужила. А тепер знов все наново. Ну, але ми не здаємося.
Купила вже річну підписку на літкод, на всяк випадок, підписку на educative для систем дизайну — і вперед. З тим же темпом підготовки і намаганням втиснути в себе максимально нової інформації в короткий період. Інколи чесно хотілось здатись і закинути це все.
Але якось дотягнула до онсайту. Зроблено 150 задач. Розподіл 79Е-60М-11H.
First coding interview. Задали 2 medium задачки. Першу зробила з фолоуап корнер-кейсом, про який сама не здогадалась. У другій — не до кінця встигла заімплементити проміжний метод. Тобто, не ідеально, але і не критично. Фідбек: +, ±.
Second coding interview. Першу задачку рівня easy зробила легко, другу medium — не дуже. Неоптимальний підхід розказала, а оптимальний не закодила, бо треба було реалізовувати min heap, хоча розказала, як має працювати. Ну, от так, не без труднощів і з висловами на кшталт «assume we have this method» те інтерв’ю і закінчилось. Можна дати чесну оцінку, що medium задача не зроблена. Фідбек: +, -+.
Sysdem Design interview. Дуже стандартне вебзавдання. Всі уточнюючі питання задала, далі почала малювати то все на дошці, а інтерв’юер вимкнув звук і мовчить, тільки підсміхається. А я все хвилювалась, чому ж так, невже я зовсім якісь дурниці розказую? Так я й балакала 45 хв. В кінці таки він спитав, що от якби треба було А, а не Б, то як би помінялась імплементація? Відповіддю був фактично зовсім інший дизайн, про який я теж була в курсі, але повністю розказати, звісно, вже не було часу. Але основні моменти навела. Фідбек був потім, що це було outstanding, stellar і ще багато епітетів.
Behavioural interview. Зараз можу сказати, що це було єдине інтерв’ю, до якого я фактично була не готова. Так, я пригадала історії з професійного життя. І про конфлікти, і про висновки, і про погані дні, і про хороші, і про досягнення та провали, найкращий та найгірший день і далі за списком. Але, як виявилось, вміння їх презентувати — це окремий скіл. Інтерв’юер залишився незадоволеним. Фідбек був щось на зразок «або я не мала достатньої відповідальності на попередніх проєктах, або не вміла її презентувати».
Behavioural follow up interview. Завдяки непоганим кодинг-сесіям та ідеальному систем-дизайну, рекрутер запропонував мені пройти ще одне біхевіорал з іншим інтерв’юером. І якщо при попередній розмові я прямо відчувала, як мене розкладають по поличках і хочуть почути, як моїми здобутками користувались тисячі людей, то зараз розмова пішла дуже легко, я навіть не помітила, як минули 45 хв.
Далі, через три тижні був фідбек про успішне проходження всіх етапів, і одразу запропонована команда, до якої я можу приєднатись.
Підготовка до інтерв’ю зайняла у мене
Meta, London, IC5
Офер на Facebook я отримала через 5 років після того, як отримала першу роботу в IT.
Скоро буде рік, як я працюю на Meta в Лондоні. Зони комфорту на горизонті ще не видно, але челенджів — хоч відбавляй. Втім, ріст і прокачка скілів — неймовірні, але про вже тема окремої історії.
P.S. Дякую сусідці по парті за мотивацію, сусіду за настанови (своє віскі він вже отримав) та, звісно ж, трьом коням у полі, з яких все і почалось :)
Найкращі коментарі пропустити