Корисна порада для тих, хто готується до інтерв'ю - every day matters

Я недавно спілкувалася з кількома знайомими, які зараз якраз інтенсивно готуються до інтерв'ю. В процесі я зрозуміла важливу річ, про яку я ніколи не писала і навіть не думала. Важливе, тому ділюся.

Ось вам приклад досить типової задачі на розігрів для інтерв'ю:

Ось два правильних рішення з leetcode:

Корисна порада для тих, хто готується до інтерв'ю - every day matters

Корисна порада для тих, хто готується до інтерв'ю - every day matters

Яке рішення краще?

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

Але вони не будуть рівноцінно гарні для вас, як для кандидата. Чому? Тому, що на те, щоб банально написати перший код на дошці, вам знадобиться більше часу. Це означає, що у вас буде менше часу на рішення наступного завдання.

Дивіться. Інтерв'ю - це 45 хвилин. З них хвилин 10 йде на будь-яку балаканину. Технічна частина займає 35 хвилин. І чим більше завдань ви за ці 35 хвилин вирішите, тим краще.

Що роблять ті, хто готуються? Вони вчать алгоритми, вчаться вирішувати завдання і писати до них код. Але тут є один момент, який деякі упускають.

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

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

написати швидше, ніж

auto object = GetObject ();

написати швидше, ніж

SomeObjectName object = GetObject ();

Завжди шукайте "ідеальні" (в тому числі - короткі) вирішення завдань, які ви вирішуєте, і порівнюйте зі своїми. Завжди шукайте способи вкоротити свій код. Помічайте прийомчики, якими користуються інші.

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

І головне - цілеспрямовано вчитеся писати не просто правильний і оптимальний код. Але ще й намагайтеся мінімізувати число використовуваних символів. Обов'язково звертайте на це увагу під час підготовки.

  • Корисна порада для тих, хто готується до інтерв'ю - every day matters
    Лікарні в США
  • Корисна порада для тих, хто готується до інтерв'ю - every day matters
    Питання на архітектуру систем: Частина 2
  • Корисна порада для тих, хто готується до інтерв'ю - every day matters
    Робота в Google: Ложка дьогтю
  • Корисна порада для тих, хто готується до інтерв'ю - every day matters
    Хочу працювати в Google: Літні стажування відкриті!

Схожі статті