Dlinyj (dlinyj) wrote,
Dlinyj
dlinyj

Category:

Программисты - ходите на собеседования!

Обязательно ходите на собеседования, даже если вы влюблены в свою работу. Никто не заставляет вас её менять. При чём, если вы получаете 50 000 рублей - идите на собеседование на 100 000, а если 100 000, то на 150 000 и т.д. Только повышайте планку. Ходить не реже раз в три месяца! В крайнем случае - пол года. Иначе вы покроетесь плесенью, и не будете знать где у вас провалы.

Самые ценные собеседования - это провальные, те, после которых вы чувствуете себя ничтожеством, которое ничего не смыслит в программировании - это то, что поможет вам расти дальше!

Сегодня было самое провальное собеседование в моей жизни. Провальное от слова совсем, я обосрался везде. Какие были вопросы:
- Как устроен системные вызовы linux на языке ассемблера на ARM-процессоре (специфический вопрос, не спорю).
На х86 я более-менее помню, на арме не знаю - провал. Хотя логику работы системных вызовов смог объяснить. Меня умыли, что я чмо и не знаю арм-ассемблера.
- Какие средства синхронизации бывают? Какие средства синхронизации можно использовать внутри контекста прерывания, какие нет и почему?
Рассказал про мьютексы, семафоры. Мне напомнили про спин-блокировки. Про синхронизацию в контексте прерывания я слышал, и даже рассказывал на своих лекциях, но забыл.
- Чем отличается шина i2c от spi. (тут я обосрался конкретно, и ответил что количеством проводов). Сразу был задан вопрос, зачем в i2c стоят терминаторы и какой их номинал. Тут я тоже облажался, и сказал что для согласования линии. А мне напомнили, что там тупо открытый коллектор...
- Может ли интерфейс RS-232 работает ТОЛЬКО по двум проводам: RX и TX? Ну-ка, скажите мне? Эй di_halt ? Оказывается, что плохенько, на 9600, но МОЖЕТ!!! А почему?
- Как лучше располагать сигнальные линии и питание в многослойных платах и почему? Питание внутри слоёв, или сигнальные линии внутри слоёв. Тут вообще вопрос спорный, и я готов выслушать варианты ответов. Но я сказал, что питание следует располагать внутри слоёв (на четырёхслойке внутри бутера), а сигнальные линии на топе и ботоме, чтобы меньше были наводки. Снова промах.
- Для его у дифференциальных линий дорожки идут везде вместе? Тут было полное попадание, т.к. активно сейчас с ними работаю - для эквивалентности наводки.
- Шина RS-485. Обычно на такой линии есть терминаторы. Но у нас схема звезда, с переменным количеством подключаемых модулей. Какие средства избежания коллизий и помех есть? Не знал - изменение фронта сигнала.
- Что такое красное и бинарное дерево? - не знаю.
- Как работать с cmake. Работал крайне мало, не знаю.
- yocto linux - не использовал, не знаю.
Был ещё ряд вопросов, на которые я не смог найти ответы.

После такого обтекания, мне предложили решить ряд задач, на которых я окончательно запоролся.
Задачи:

1. Написать функцию, которая инвертирует в uint32_t все биты.
Суть задачи ясна, как решать - более-менее понятно. Но я не помню бинарные операторы, плюс от волнения налажал - провал.
2.
int32_t a = -200;
uint32_t b = 200;
return *(uint32_t * (&a)) > b


Что вернёт данная функция? Задача - блестящая. Я провалился процентов на 30.
3. Функция расчёта среднего арифметического двух чисел int32_t.
4. Способы вывода в программе, в т.ч. в поток ошибок. После стольких провалов я и тут облажался, хотя ответ знал.

Вопросов по электронике, линуксу, ассемблеру и программированию было очень много. Собеседование было достаточно грубым, и где-то даже унизительным. Мне намекнули, что я гожусь только чтобы подметать помещение. Я чуть там стол не опрокинул и хотел уйти хлопнув дверью. Формат беседы был построен, на самом деле чтобы меня унизить. Но, господа, я им так благодарен! Эти люди показали явный уровень моих навыков: куча дилетанских разрозненных знаний, имение представление о различных областях, но нигде не глубоко. Кроме разве что пространства пользователя и разработки в нём. Это очень ценно!
Tags: Собеседование
Subscribe

  • Я смог

    Спасибо yraz за советы. Перфоратор, молотки, газовая горелка спасли отца русской демократии. Патрон тупо приржавел, на самом деле…

  • Рабочее место

    Этакое лытыдыбровое, никак не определю себе место под солнцем. Чуть нытья. Как вы помните, некоторое время назад я переехал, и сильно страдал по…

  • О чём писать?

    Знаю, что осталось нас мало, но мы в тельняшках. Расскажите, какая тематика блога вам наиболее интересна, чтобы её освещать. Интересен инструмент,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 57 comments

  • Я смог

    Спасибо yraz за советы. Перфоратор, молотки, газовая горелка спасли отца русской демократии. Патрон тупо приржавел, на самом деле…

  • Рабочее место

    Этакое лытыдыбровое, никак не определю себе место под солнцем. Чуть нытья. Как вы помните, некоторое время назад я переехал, и сильно страдал по…

  • О чём писать?

    Знаю, что осталось нас мало, но мы в тельняшках. Расскажите, какая тематика блога вам наиболее интересна, чтобы её освещать. Интересен инструмент,…