TGViewer
Илья Шишков: код, собесы, IT Илья Шишков: код, собесы, IT @imhired · 5.34K subscribers
Post #315 4.89K
Собеседование в Order Capital. Часть 1

Привет! Как и обещал, рассказываю, какие знания и навыки пригодились мне для успешного прохождения собеседования в Order Capital.

Мой обычный disclaimer. Цель таких постов — показать, какими на самом деле бывают собеседования в IT-компании и какие знания и навыки действительно на них пригождаются. Сами задачи в этот раз раскрывать не буду.

Всего у меня 4 технических собеседования, на каждом из них я писал код. Ребята искали человека под конкретную позицию, поэтому и задачи подбирали так, чтобы проверить, смогу ли я в дальнейшем выполнять свою работу.

Хотя первая задача на первом собесе была немного не об этом 😉 "Напиши двоичный поиск," — именно с этих слов начался мой процесс собеседования в компанию 😬 Есть мнение, что только 10%❗️ профессиональных программистов способны написать двоичный поиск без ошибок, так что задача только на первый взгляд кажется простой.

☝️ В курсе «Алгоритмический фундамент программиста» я сделал отдельный урок про реализацию двоичного поиска с разбором типичных ошибок, которые в ней допускают. Так что я оказался готов 😄 Вот и говорите после этого, что алгоритмы не нужны...

Другая задача на первом собеседовании была на внесение изменений в legacy готовый код. Мне дали заготовку класса, описали, что он должен делать, и попросили дописать недостающий код. Там было всё более или менее понятно, но даже в таких ситуациях я на собеседовании вслух проговариваю про каждый метод, что он должен делать, чтобы быть стопроцентно уверенным, что я правильно понял задачу.

Когда я написал код, на его примерах мне стали задавать разные вопрос по С++.

☝️ Итого, на первом собеседовании в Order Capital мне пригодились
1️⃣ Умение корректно писать двоичный поиск (вы знаете, где этому научиться 😉)
2️⃣ Умение работать с готовым кодом на С++
3️⃣ Постоянный диалог с интервьюером, чтобы в любой момент быть уверенным, что я решаю именно ту задачу, которую мне дали

P.S. Моя реализация двоичного поиска:
template <typename T>
int b_search(const vector<T>& a, const T& x) {
// [l; r)
int l = 0;
int r = a.size() - 1;
while (l <= r) {
int m = l + (r - l) / 2;
if (a[m] < x) {
l = m + 1;
} else {
r = m - 1;
}
}
// [0; -1]
return r != a.size() - 1 && a[r + 1] == x ? int(r + 1) : -1;
}
P.P.S. Изучите, как работают padding'и в C++, и научитесь в уме считать sizeof структур с их учётом. Мне миллион раз попадался такой вопрос на самых разных собеседованиях 😉
  • 🔥 32
  • 👍 21
  • ❤ 4
  • 👌 1
More from @imhired
  1. Sep 23, 2026Как пользоваться AI и не отупеть Продолжаю отвечать на ваши вопросы. В прошлый раз разбира…
  2. Sep 20, 2026😢 Просто соринка в глаз попала В этот день 10 лет тому назад мы начали работать над «Белы…
  3. Sep 18, 2026Код стал дешёвым. Что осталось программисту? Продолжаю отвечать на ваши вопросы. Сегодня р…
  4. Sep 14, 2026Senior — это не набор технологий Продолжаю цикл постов с ответами на вопросы подписчиков.…
  5. Sep 10, 2026Как я потратил 3 часа на анимации, которые пришлось выкинуть Привет! Я обещал ответить на…
  6. Sep 4, 2026Post #588
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →