| |||
![]()
|
![]() ![]() |
![]()
XJET Фирма в Реховоте. С самого начала я подозревал связь с небезызвестной Printar: они находятся через дорогу, занимаются почти одним и тем же. Может дочерняя фирма. Но совпадение оказалось случайным. Стартап, изготавливают машины для металлизации солнечных элементов. Опять мультидисциплинарность: химия, прецизионная механика, электроника, анализ изображений, контроллеры, управление. Снова тесный центр разработки и просторный сборочный цех этажом ниже. Снова бардак, отсутствие документации, "но мы работаем над этим". Мне задали три вопроса: 1. написать функции void setBit( int32 x, int index), bool getBit(), clearBit() 2. int* foo(int x, int y) { 3. реализовать мьютекс с помощью семафора. причём мьютекс не в смысле обычного бинарного семафора, а такой, чтобы владеющий им поток его игнорировал, "проваливался" сквозь него. кроме того, мьютекс освобождается только когда поток-владелец освободит его столько же раз, сколько прежде блокировал (для других потоков). Можно пользоваться функцией GetCurrentThreadId(). На первый вопрос я ответил не задумываясь, на второй -- задумываясь, а на последнем застрял. Я написал что-то правильное, но избыточное и интервьюер за уши тащил меня к правильному решению. Я упирался, в голове уже начался thrashing и паника. Всё, провалился. Наконец после множества подсказок довёл код до желаемой кондиции и интервьюер заявил мне: "как по мне, так ты прошёл". Я охуел, голову заклинило окончательно, отпустило лишь к вечеру. Я не мог понять, как такое может быть. |
||||||||||||||
![]() |
![]() |