Як готуватися до технічної співбесіди
Інженери зазвичай готуються до співбесіди, розв'язуючи алгоритмічні задачі, — бо це єдина частина з видимим рахунком. І саме вона, для мідів і сеньйорів, найрідше стає причиною відмови. Ось де час справді окупається.
З чого насправді складається цикл співбесід
Типовий цикл — це чотири-шість раундів: один-два алгоритмічні, один із дизайну систем, один-два поведінкові й часто розмова з наймаючим менеджером. Для сеньйорної позиції дизайн і поведінкові важать більше за алгоритми: можна бути посереднім у кодуванні й отримати офер, але не можна плавати в компромісах і отримати його.
Розподіл, що відповідає реальності, приблизно такий: 40% алгоритми, 35% дизайн, 25% поведінкові для міда, і ближче до 25 / 45 / 30 для сеньйора. Майже всі роблять 90 / 5 / 5.
Алгоритми: патерни, а не обсяг
Триста задач — хибна ціль. Є приблизно п'ятнадцять патернів, які покривають переважну більшість питань: два вказівники, ковзне вікно, бінарний пошук за відповіддю, обхід у глибину й ширину, топологічне сортування, купа, інтервали, префіксні суми, динамічне програмування на підрядках. Коли ви впізнаєте патерн за тридцять секунд, конкретна задача вже не має значення.
Практичніше правило: розв'яжіть по чотири-п'ять задач на кожен патерн, але вголос і з таймером. Мовчазне розв'язання вдома тренує не той навик — на співбесіді оцінюють те, як ви думаєте вголос, а не те, що з'явилося в редакторі.
Дизайн систем: де провалюються найчастіше
Провал тут майже ніколи не в незнанні технологій. Він у структурі: людина одразу починає називати компоненти, не з'ясувавши вимог. Спершу — функціональні й нефункціональні вимоги, оцінка навантаження, і лише потім архітектура.
Друга типова помилка — відповідати так, ніби існує єдине правильне рішення. Інтерв'юер чекає компромісів: чому саме черга, що ламається при зростанні втричі, де ви свідомо пожертвували консистентністю заради доступності.
Поведінкові раунди: не імпровізуйте
Це єдиний раунд, який можна підготувати майже повністю. Візьміть шість-вісім історій зі свого досвіду й опишіть кожну за схемою: ситуація, ваша конкретна зона відповідальності, рішення, вимірний результат. Ті самі історії покриють 80% питань — про конфлікт, про провал, про вплив без повноважень, про складне рішення.
Ключове слово — «вимірний». «Покращив процес» нічого не важить. «Скоротив час релізу з двох тижнів до трьох днів» — це відповідь, яку можна перевірити уточненням, і саме тому їй вірять.
Співбесіда іноземною мовою
Якщо співбесіда англійською, а англійська не рідна, з'являється окремий податок: ви витрачаєте ресурс на розбір питання й побудову речення, і саме на думання його не лишається. Це не проблема знань, і готуватися до неї треба окремо — проговорювати відповіді вголос англійською, а не лише читати їх подумки.
Найдешевша вправа: запишіть себе на диктофон, відповідаючи на п'ять типових питань. Різниця між тим, як ви думаєте, що звучите, і тим, як звучите насправді, зазвичай і є тим, що варто виправити.
Що можна пропустити
Не вчіть напам'ять складності всіх алгоритмів сортування — їх спитають раз на сто співбесід. Не готуйте «розкажіть про себе» на п'ять хвилин: дві-три речення про те, що ви робите зараз і чому шукаєте нове, працюють краще за біографію.
І не намагайтеся закрити всі прогалини перед першою співбесідою. Перші дві-три співбесіди — це і є найкраща підготовка до решти; плануйте їх у компанії, які вам менш цікаві.
Скільки часу насправді потрібно
Найчастіше питання — «за скільки тижнів реально підготуватися». Чесна відповідь залежить від того, коли ви востаннє співбесідувалися. Якщо менш ніж рік тому — чотири-шість тижнів по годині-півтори щодня. Якщо три-чотири роки сиділи на одному місці — рахуйте два-три місяці, і більша частина цього часу піде не на алгоритми, а на те, щоб згадати й сформулювати власний досвід.
Розподіл усередині тижня важливіший за загальну кількість годин. Щоденні сорок хвилин працюють краще за шість годин у неділю: розпізнавання патернів — навик, що будується повторенням, а не обсягом за раз. Це та сама причина, чому мову вчать щодня по трохи.
І закладіть час на самі співбесіди. Цикл в одній компанії — це два-чотири тижні календарного часу, тож якщо ви хочете вибирати з кількох оферів, процеси мають іти паралельно, а не послідовно. Це організаційна робота, і її регулярно недооцінюють.
Резюме, яке доживе до співбесіди
Підготовка починається раніше, ніж здається: якщо резюме не проходить скринінг, готовність до раундів не має значення. Дві речі, що вирішують більшість відмов на цьому етапі, — відсутність цифр і відсутність конкретики про вашу роль.
«Розробляв бекенд платформи» не говорить нічого. «Переписав сервіс нарахувань, скоротив час обробки з 40 до 6 секунд на піку в 3 тисячі запитів» — це рядок, за який зачепиться і рекрутер, і інженер, що читатиме після нього. Друге навіть важливіше: саме такий рядок задає питання, до якого ви готові, замість питання, якого не чекали.
Практичне правило: кожен пункт досвіду має відповідати на «що саме ви зробили» і «що з цього вийшло». Якщо друга частина відсутня — це не пункт досвіду, це опис посадової інструкції.
Як тренувати мовлення вголос
Найбільший розрив між домашньою підготовкою й реальною співбесідою — не в складності задач, а в тому, що вдома ви думаєте мовчки. На співбесіді мовчазне мислення читається як ступор, навіть коли в голові все рухається.
Вправа, що дає найбільший приріст за найменший час: розв'язуйте задачу, коментуючи кожен крок, ніби поруч сидить колега. «Бачу масив і потрібну пару — перше, що спадає на думку, подвійний цикл за квадрат; спробую зменшити до лінійного через хеш-таблицю». Спершу це відчувається штучно, після п'яти-шести разів стає звичкою.
Мок-співбесіди з людиною корисніші за будь-який тренажер, але їх складно організувати регулярно. Компроміс — записувати себе на відео. Ви побачите паузи, слова-паразити й моменти, де самі себе перебиваєте, — усе те, чого не помічаєте зсередини.
Тиждень перед співбесідою
За тиждень до раунду нове вчити пізно, і спроби це робити переважно шкодять — вони підвищують тривожність, не додаючи знань. Останній тиждень працює на закріплення й на логістику.
Перегляньте свої вісім історій із поведінкового раунду й переконайтеся, що пам'ятаєте цифри. Прорішайте по одній задачі на кожен патерн — не для навчання, а щоб рука пам'ятала. Перечитайте власне резюме: питання ставлять саме за ним, і забути деталь трирічної давнини з власного ж резюме — гірше, ніж не знати алгоритм.
За день до співбесіди зробіть технічну перевірку: камера, мікрофон, стабільність зв'язку, той редактор, у якому проходитиме кодування. Проблема зі звуком на п'ятій хвилині з'їдає не лише час, а й спокій, з якого ви починаєте.
Після співбесіди
Одразу після раунду, поки пам'ять свіжа, випишіть питання, які поставили, і місця, де ви плавали. Через три співбесіди ви побачите патерн — і це буде точніший план підготовки, ніж будь-який загальний список тем.
Відмова після фінального раунду майже завжди означає конкретну річ, а не загальну непридатність. Питати фідбек варто, хоч дають його рідко й обтічно. Значно надійніше джерело — власні нотатки: те, що ви самі відзначили як слабке місце, зазвичай і є справжньою причиною.