Как разработать 30-минутный технический телефонный экран, который даёт реальный сигнал
Для чего нужен 30-минутный экран
30-минутный технический телефонный экран существует по одной причине: решить, стоит ли тратить следующие 4–6 часов очного или virtual цикла на этого претендента. Это вся работа. Это не mini-onsite. Это не culture чат с code в конце. Это gate.
Эта framing освобождает. Вам не нужно оценить всё. Вам нужно оценить одно или два, что если они fail, rest цикла потрачен впустую на.
30-минутный бюджет
Рабочий бюджет, который выживает contact с реальностью:
- 2 минуты — быстрые intros, текущая роль претендента.
- 3 минуты — объяснить format, установить expectations, подтвердить tooling работает (mic, code editor, screen share).
- 20 минут — одна техническая проблема, end to end.
- 3 минуты — претендент вопросы.
- 2 минуты — wrap, next-step framing.
20-минутный техничес блок — только piece, который имеет значение. Всё остальное — overhead вы не можете сжать дальше без being грубым.
Выберите правильную проблему
30-минутная проблема не Leetcode hard. Это также не Fizzbuzz. Правильная форма:
- Разрешимо end-to-end в 15 минут сильным претендентом, оставляя 5 минут для follow-ups.
- Имеет obvious naive решение, так что weak претендент может произвести что-то и не заморожен.
- Имеет obvious next-level оптимизацию, так что сильный претендент имеет где идти после naive pass.
- Не требует recall. Нет "implement B-tree". Вы тестируете мышление, не запоминание.
Примеры, которые работают: "given список meetings, найти conflicts", "implement LRU cache против given interface", "given CSV-like blob, group rows по key". Они все просто достаточно, что naive решение fits в screen кода, и достаточно rich, что есть real follow-up вопрос.
Примеры, которые не работают в 30 минут: что-либо graph-algorithm-shaped, что-либо требующее scaffolding, что-либо где претендент спends 10 минут понимая prompt.
Что вы действительно оцениваете
За телефонный экран, три оси — не five. Что-либо более это theatre на этот time бюджет.
- Читает проблему перед кодированием. Претендент спрашивает одну уточняющую вопрос, restate проблему, и propose подход перед они start набирать? Или они hammer в keyboard while вы смотрите?
- Пишет код, который работает. Не perfect код. Не idiomatic код. Рабочий код, с претендентом noticing edge cases как they идут.
- Может говорить while набирая. Silent кодирование за 15 минут no-hire сигнал независимо от whether код работает, потому что каждый later раунд нужды их думать out loud.
Это всё. Если претендент hits все три в 3-or-better, вы advance. Structured rubric за full цикл делает heavier лифтинг позже.
Что сокращать
- System дизайн на phone экран. Сохрани для onsite. Вы не можете получить meaningful сигнал в 8 минут.
- Поведенческие вопросы за пределами "расскажи мне о твоей текущей роли". Сохрани для dedicated раунда.
- "Расскажи мне о project." Это отличный вопрос. Это не 30-минутный-экран вопрос.
- Take-home referenced в экран. Если вы имеете take-home, идёт до или после — не folded в экран.
Запустите экран на tooling, который real цикл использует
30-минутный экран на Google Docs followed 90-минутный onsite на real editor — candidate-experience бедствие. Претендент spends экран демонстрирует они могут писать Python в non-syntax-highlighted текст field — и затем onsite тесты что-то different. Используйте same editor и same execution окружение end-to-end. See live-coding-best-practices guide за deeper версию.
Как ClarityHire подходит
Интервью комната defaults для Monaco editor с Yjs collaborative typing и real Linux контейнер позади run button, так что 30-минутный экран в same поверхность как ваш 90-минутный цикл. Phone-screen scorecard template ships с three-axis rubric pre-configured; pick его, customize anchors за вашу роль, и вы done.
TL;DR
30-минутный phone экран gate, не mini-цикл. Одна техническая проблема, три скоринг оси, same tooling как full цикл, нет system дизайн, нет поведенческий за intros. Любое-либо else и вы либо underwhelming претендента или running из clock.