Кар'єра, Поради, Технології

Як підготуватися до співбесіди в Google

03 Червня, 2021

Системний адміністратор Гаріма Раджпут поділилася корисними джерелами і порадами, які допомогли їй влаштуватися в Google. Вони стануть в нагоді тим, кому потрібно підготуватися до співбесіди в компанію.

Теми

Нижче наведено список тем, з яких варто почати підготовку.

  • Аналіз алгоритмів: асимптотичні позначення.
  • Алгоритми пошуку та сортування.
  • Парадигми розробки алгоритмів: розділяй і володарюй, жадібний алгоритм, динамічне програмування, пошук з поверненням.
  • Структури даних: масив, список, дерево, граф, хеш-таблиця, стек, черга.
  • Обхід графа/дерева: пошук в глибину, пошук в ширину.

Джерела

У процесі підготовки до співбесіди важливо вибрати якісні джерела інформації. Щоб не заплутатися в достатку онлайн-ресурсів і навчальних матеріалів дотримуйтеся наступних рекомендацій.

  • Новачкам варто почати з книги «Алгоритми: побудова й аналіз» (Introduction to Algorithms, CLRS): вона ознайомить з усіма темами, переліченими вище. GeeksForGeeks – ще один корисний ресурс.
  • Відточити навички допоможуть ці платформи: InterviewBit, LeetCode, HackerRank. Також зверніть увагу на розділ «Обговорення» на LeetCode: там можна знайти теми, які стануть в нагоді для співбесід і в інші компанії.
  • З’ясуйте, які підходи використовують інші фахівці. Це допоможе по-новому поглянути на проблему.
  • Беріть участь в щотижневих змаганнях, проводьте пробні співбесіди, а також відстежуйте свої успіхи і аналізуйте помилки.
  • Дивіться ролики про рішення задач LeetCode на YouTube.

Поради

  • Готуйтеся поступово. Починайте з вирішення завдань простого рівня. Виробіть звичку робити це регулярно.
  • Не турбуйтеся, якщо рішення приходить не відразу.
  • Постарайтеся виявити закономірності в схожих питаннях.
  • Розширюйте кількість використовуваних інструментів.
  • Не поспішайте відправляти готове рішення. Пробно запустіть код і продумайте крайні випадки. Ця вправа допоможе на цій співбесіді.
  • Спробуйте взяти участь в змаганнях з програмування. Це не обов’язково, але допоможе розвивати корисні навички.

Завдання

  • Двійковий пошук. Розв’яжіть цю задачу. Розберіться, як можна застосовувати двійковий пошук для вирішення подібних проблем. Також зверніть увагу на цей пост.
  • Динамічне програмування. Спробуйте застосувати цей метод при вирішенні таких завдань, як House Robber і Min Cost.
  • Граф. Розв’яжіть ці дві задачі (перша і друга) та проаналізуйте тимчасову і просторову складність алгоритму.
  • Дерево. Зверніть увагу на цю проблему.
  • Тут ще одна цікава задача.

Підпишіться на e-mail розсилку Українського Спектру

«Український Спектр» в Telegram – коротко про головне один раз на день
Підписатись на канал

Ми у соціальних мережах:

Ми у соцмережах:

Слідкуйте за UAspectr у Facebook або ж читайте усе найцікавіше у нашому каналі в Telegram
Menu