HP/Mercury или что курили мойры Когда
три года назад меня позвали в Mercury, я хорошо прошёл первое интервью и мне предложили либо прямо сейчас провести второе интервью, либо назначить его на другой день, а тем временем лучше подготовиться. Я выбрал второй вариант, но мне так больше и не позвонили. Когда я сам позвонил напомнить о себе, секретарша сказала, что я не прошёл. Я долго был в недоумении, неприятный осадок обиды остался до сих пор. Но вот снова меня туда позвали и я пошёл. Сходство с первым посещением Mercury прослеживалось с самого начала. Меня позвали на интервью в тот же самый отдел (Load Runner). Похожие вопросы. Так же хорошо решил все задачи на алгоритмы и структуры данных и точно так же запутался в виртуальных функциях. А теперь самое главное: меня снова спросили, хочу ли я следующее интервью провести прямо сейчас или в другой день. Уже явно ощущяя дежавю и не желая повторения прежнего сценария, я ответил, что хочу продолжать, только немного подышу воздухом и перекушу. "Ок, который сейчас час? 16:15? Мы тебя ждём к..." 16:15. Поздно. Этой ночью я не выспался, голова несвежая, к тому же голодный. Может действительно не стоит сейчас продолжать? Наверняка будут вопросы по дизайну, а я уже сбит с "волны удачи" последним вопросом по виртуальным функциям. Велик риск провалить второе интервью. Лучше в другой день. Нет проблем, продолжим в другой день. Тебе позвонят. Вышел, позвонил маме, поговорил и вдруг осознал всю ситуацию. Классика жанра: Успенский, Азимов, Шекли... Я в точности повторил тот же самый сценарий. И мне уже никто не позвонит и не пригласит на второе интервью. Нет слов, просто какая-то эзотерика в картинках, день сурка. Никто ни в чём не виноват, объективные обстоятельства,
совсем другие обстоятельства, но результат тот же самый. Я бросился назад, на проходную, и попросил связать меня с интервьюером, чтобы просить его провести второе интервью прямо сейчас. Всё равно уже я ничем не рискую, просто хотелось из принципа сорвать сценарий. Но в глубине души я уже знал, что будет дальше. Разумеется, мне ответили, что сегодня уже поздно, не стоит. Такие дела. Я не склонен воспринимать произошедшее как курьёз или забавное совпадение, но и объяснять его тоже не возьмусь. Какой-то "сбой в матрице".
Спрашивали:
1. какие я знаю структуры данных, их свойства и использование
2. определить, является ли строка палиндромом
3. даны два сортированных массива, найти их пересечение. а если один массив гораздо больше другого? а если он настолько велик, что не помещается в памяти и хранится на диске?
4. два связных списка в каком-то узле сливаются так, что хвост у них общий. найти первый общий узел.
5. threads vs processes
6. виртуальные функции. vtable.
class A {
public:
A() { func(); }
virtual void func () { printf("in A\n"); }
~A() { func(); }
};
class B {
public:
B() { func(); }
void func () { printf("in B\n"); }
~B() { func(); }
};
int main() {
A* a = new B;
a->func();
delete a;
}
Посреди кубического здания HP помещается громадная яйцевидная конструкция, напоминает корабль (космический?) на стапелях:

Дорога домой из Yehud-а тоже была с приключениями. В автобусе я задремал, покидал его в полусонном состоянии и не заметил, что забыл на сидении свой телефон. Спохватился через несколько минут. Довольно быстро взял себя в руки, паники не допустил. Выяснил, что автобус уже ушёл, а lost'n'foud находится в другом городе. Значит сейчас главное заблокировать карточку. Платный телефон на тахане мерказит. С "Пелефоном" я не справился, позвонил Вите, а она говорит, что мой телефон в битахоне на пятом этаже. Действительно, нашёлся телефон. Это ж так зависеть от железки...