Интервью в Cadence Design System

Интервью в Cadence Design System

dariaemacs
«Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!»(с)

Шел 2007 год, я проходила интервью в Cadence Design System, после двух лет работы в подобной компании (гораздо меньшей по количеству людей, но круг проектов и задач был схож и сотрудники уходили из Каденс к нам или наоборот уходили из нашей компании в эту крупнейшую компанию EDA индустрии).

В московском офисе у них были довольно доброжелательные HR. И сначала беседа шла с ними: по почте, телефону.

Затем я приехала уже на техническое собеседование, и дали тест по С++ (толстую пачку бумаги), где необходимо ответить, что выведет программа или дописать несколько строк, найти в чем ошибка.

Меня оставили наедине с этим талмудом на час, и потом уже началось устное собеседование.

Сказать, что я была несколько ошарашена, ничего не сказать. Когда два года работаешь по определенному направлению: qt, окошки, диалоги для обертки Tcl скриптов с очень большим количеством параметров, на изучение глубокого понимания С++ не остается времени. Ты почитываешь для общего развития книги по языку, но на работе от тебя требуются крупицы того, что ты прочитал, и все благополучно забывается.

В тот момент позора, я поняла, что подготовка к собеседованию — это не вспомнить, что ты делал последние два года и какие у тебя были успехи, чтобы радостно об этом сообщить интервьюеру. А он тебя обнимет прослезится и скажет, что всю жизнь компания ждала именно такого сотрудника. Нет, прохождение собеседования — это тяжелый труд и постоянная работа с различными источниками.

С первого дня устройства на отличную работу, начинается деградация по алгоритмам, С++, высшей математике и т.д.. 


«Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!»(с)


Осознав, погрустив от того, что я поняла это только опозорившись, теперь я стараюсь быть всегда в тонусе. И оказалось, что это благотворно влияет не только на карьеру, а еще на нервную систему. Нет ощущения, что, если что-то с этой работой произойдет, то я больше никуда не устроюсь. Наоборот, знания растут, а с ними уверенность в себе и своих силах.


Сейчас этого теста на бумажках не дают. Интервью состоит из 3-4 раундов по часу: алгоритмы, С++, задачки на сообразительность. В общем, все почти так, как в любой уважающей себя компании)).

Примерные вопросы/задания, которые спрашивали/давали в Cadence в 2019г. :


Вопрос №1

Поместите четные числа в четные индексы и нечетные числа в нечетные индексы, учитывая, что количество нечетных чисел может быть или не быть равным количеству четных чисел. Лишнее нечетное/четное число должно быть помещено в конец массива.


Вопрос №2

Напишите программу, которая подсчитывает высоту бинарного дерева.


Вопрос №3

Какие методы сортировки Вы знаете, напишите любой.


Вопрос №4

Как работает std::map, какие у нее временные сложности?


Вопрос №5

Вытекает из предыдущего, как устроено красно-черное дерево и какие у него свойства?


Вопрос №6

Расскажите о виртуальных функциях, vtable, как происходит аллокация памяти для объекта родительского класса и дочернего?


Вопрос №7

Расскажите о функторах в С++.


Вопрос №8

Найдите k-статистику в несортированном массиве.


Вопрос №9

Реализуйте быструю сортировку.


Вопрос №10

Как работает сортировка кучей, покажите, как работает на данном массиве.


Вопрос №11

Напишите слияние n-сортированных массивов различной длины. Даны сортированные массивы (n штук, различной длины), нужно их слить в один сортированный.


Вопрос №12

Напишите класс со всеми конструкторами (copy, move) и операторами.


Вопрос №13

fun(T &&v), что такое &&?


Вопрос №14

Многопоточность и синхронизация в С++, умные указатели -- расскажите, что знаете.


Вопрос №15

Оптимизируйте выражение, как бы это сделал компилятор С++.





Report Page