Я пройшов стажування у Facebook. Ось кілька порад, які я дізнався.

Нещодавно я прийняв пропозицію від Facebook після співбесіди з Google, Microsoft, Dropbox, Yelp та іншими. Я взяв трохи роздумів і роздумів над тим, що допомогло мені виділитися. Ось кілька порад, класифікованих за різними частинами процесу.

Отримання співбесіди: Будівництво резюме

Найважливішим фактором, коли потрібно вловити компанію та погляд її вербувальної команди, є, мабуть, ваше резюме. З мого набігу в галузі три роки тому, моє резюме змінювалось, оскільки я набирав більше досвіду. З року в рік я отримував набагато кращі показники відповідей від компаній, оскільки моє резюме змінювалося - щороку я отримував більше відповідей та подальших заходів від заявок на стажування. Справді, в моєму резюме було лише кілька основних змін. Нижче я виділю три.

Дослідження . Я думаю, що саме це відкрило мені набагато більше дверей - я отримав приблизно на 75% більше відповідей від компаній за семестр після того, як почав займатись дослідженнями. Якщо у вас є можливість працювати під керівництвом викладачів чи аспірантів, скористайтеся цим. Ви не тільки за короткий проміжок часу дізнаєтесь шалену суму і отримуєте наставництво від деяких найяскравіших людей у ​​цій галузі, але (у своєму резюме) ви також демонструєте пристрасть та потяг до навчання, який виходить за межі класу.

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

Відкритий код . Проекти, над якими ви працюєте та до яких берете участь, також можуть бути відкритими, ще одним плюсом для вашої програми. Якщо ви не можете знайти дослідницьку позицію, внесіть участь у відкритому коді. Як правило, відкрите джерело розглядається дуже позитивно, і компанії хваляться, наскільки вони до цього вносять. Це дає вам можливість працювати над чимось, що приносить користь спільноті в цілому, і додавати до проекту, який може бути набагато більшим, ніж ви самі.

Персональний веб-сайт . Можливо, це лише я, і компанії насправді не дивляться на це, але, схоже, наявність особистого веб-сайту робить вас на крок попереду тих, хто цього не робить. Особисто я помітив на 50% вищий рівень відповіді в сезоні набору персоналу після того, як додав персональний веб-сайт до свого резюме.

Розробка вашого особистого веб-сайту визначає ваш особистий бренд і свідчить про те, що ви володієте базовими знаннями про клієнтів. Ви знайшли час, щоб вивчити HTML та CSS та використати веб-фреймворк, який ви використовували - ще один знак того, що ви щиро зацікавлені у розробці програмного забезпечення.

Підготовка до інтерв’ю

Отже, ви отримали електронний лист від рекрутера. Що тепер? Час готуватися!

Зазвичай співбесіди для стажування в програмній інженерії складаються з двох частин: поведінкової та технічної.

Поведінкова підготовка

Підготуйте 1–2 хв. Що ви робили минулого літа? Які заняття ви брали, щоб вам сподобалось? Над якими крутими проектами ви працювали нещодавно? Не забудьте включити свої дослідження та досвід з відкритим кодом.

Зазвичай співбесіди тривають між 45–60 хв., Тому є максимум 15 хв., Щоб поговорити про нетехнічні деталі. Перед співбесідою з кожною компанією я подивився її веб-сайт та пов’язані блоги, щоб дізнатись більше.

Що круто в кожній компанії? Що вони насправді роблять? Чи є менш відомі відділення, які виконують роботу, яка більше мені подобається?

Знайдіть і обговоріть речі, які показують, що ви витратили час на дослідження. Запишіть ці речі десь під час первинного дослідження, щоб ви могли потім посилатися на них (наприклад, безпосередньо перед співбесідою!). Кожна дрібниця може відрізняти вас від наступних 20 кандидатів.

Інтерв'юер зазвичай представляється, можливо, розповідає про те, що є місією компанії і чим вона займається, а потім просить вас поговорити про себе. Будьте готові продекламувати те, що ви підготували.

Технічна підготовка

Технічні речі, це, ну, технічні - вам потрібно витратити час, щоб вивчити матеріал. Ось кілька чудових ресурсів, які я використав, щоб допомогти мені підготуватися до своїх співбесід:

  • дошка. Часто інтерв'юер може виписувати код або код на щось на зразок документа Google, який не компілюється. Тобто ви не уявляєте, чи робите ви синтаксичні помилки. Спробуйте виписати код на дошці, коли будете готуватися. Це значно відрізняється від кодування в звичайному середовищі розробки. Ви також можете використовувати дошку, щоб намалювати та візуалізувати свої ідеї.
  • Злам інтерв’ю кодування. У ньому є короткі огляди на більшість тем, що висвітлюються в інтерв’ю, і безліч проблем, що варіюються від складності. Я купив друкований примірник. Це дозволило мені виділити важливі примітки у розділах змісту та намалювати кілька схем поруч із запитаннями. Розділи вмісту містять чудові резюме на різні теми, такі як структури даних, сортування, динамічне програмування тощо, щоб оновити пам’ять. Я насправді бачив кілька запитань в інтерв'ю, взятих прямо з цієї книги. Мабуть, найбільший там ресурс.
  • LeetCode. LeetCode, як і Cracking the Coding Interview, має запитання різних рівнів, з якими ви можете займатися. Але LeetCode надає мережеве середовище, де ви можете вводити код, і де ваш код буде скомпільований і запущений. Це хороший спосіб перевірити, чи дійсно працює ваш код, і хороша платформа для практики налагодження. (Примітка: можливість швидко з’ясувати, де у вашому коді є помилка, є ключовим фактором. Це допоможе тоні під час фактичного інтерв’ю). Кожне питання також має дискусійний форум, де ви можете побачити, як інші підходили до цього питання. Завжди круто бачити, якими ще способами можна вирішити проблему.
  • HackerRank. Багато компаній використовують HackerRank для вирішення завдань кодування, і HackerRank склав Набір для підготовки до інтерв'ю, щоб допомогти вам підготуватися до співбесід. У наборі розглядаються багато тих самих тем, що робить інтерв’ю Cracking the Coding Interview, але надає вам платформу для застосування концепцій шляхом фізичного кодування. Це допоможе вам звикнути до середовища кодування в Інтернеті, дуже подібного до середовища, яке використовується в реальних інтерв’ю.

Фактичне інтерв’ю

Ваше інтерв’ю тут. Поведінкова частина прийшла і пішла. Настав час.

Після того, як ви вперше зіткнулися з проблемою, знайдіть трохи часу, щоб подумати. Не відчувайте, що вам потрібно негайно кидатися на рішення. Перш ніж почати кодування, поговоріть із підходом. Іноді інтерв'юер бажає більш ефективного рішення, ніж ваше початкове рішення, перш ніж розпочати кодування, або може сказати вам, що вони не дбають про ефективність, і що будь-який старий грубий підхід є нормальним.

Це також дає можливість інтерв'юеру надати вам відгук. Щодо цієї записки, періодично просіть про зворотній зв’язок чи поради. Деякі інтерв'юери мені дуже допомогли. Подумайте про співбесіду як про іспит, більше як про співпрацю для вирішення деяких проблем.

Невелика порада: Якщо ви не пам’ятаєте точного синтаксису функції, специфічної для мови, запитайте, чи можете ви її знайти. З мого досвіду ви зазвичай можете, або інтерв'юер дасть вам підписи функцій, якими ви можете скористатися.

Удачі!

Сподіваємось, ви трохи дізналися з цієї статті. Протягом своєї подорожі на бакалавраті я мав багато підтримуючих колег та наставників, які давали мені вказівки та поради. Я сподіваюся заплатити його вперед і трохи спростити пошук на стажуванні.

Якщо ви хочете отримати якісь особисті рекомендації, не соромтеся надсилати мені повідомлення на LinkedIn. Додайте невелику примітку, посилаючись на цю статтю, щоб я знав, що ви не просто намагаєтеся збільшити кількість з’єднань. Дякуємо за читання! Удачі!