С какими устройствами вы работали
Что проверяют
За вопросом стоит проверка, был ли у вас настоящий контакт с железом или только сборка проекта под чужую плату. Интервьюер хочет понять класс устройств, глубину вашего участия и то, чем вы отлаживали код, который не посмотришь обычным отладчиком в IDE.
Как отвечать
Опишите устройства по трём осям, а не списком названий:
- платформа: микроконтроллер без операционной системы, RTOS или встраиваемый Linux. Это разные миры: в первом нет кучи и потоков, в третьем есть драйверы ядра и обычный POSIX;
- интерфейсы и протоколы:
I2C,SPI,UART,CAN, USB, Ethernet. Скажите, писали ли вы сам драйвер или пользовались готовым слоем абстракции; - ограничения: объём оперативной памяти и флеша, отсутствие динамического выделения, отключённые исключения и RTTI (
-fno-exceptions,-fno-rtti), требования по времени отклика.
Дальше расскажите, как вы это отлаживали: логи через UART, отладчик по SWD или JTAG, логический анализатор, осциллограф на линии, стенд с эмулятором датчика. Отдельно упомяните прерывания: какие данные передавали из обработчика в основной цикл и почему выбрали кольцевой буфер или очередь RTOS.
Если опыта с железом мало, это нормально сказать прямо и перевести разговор на то, что было: работа с драйвером через ioctl, разбор бинарного протокола, заглушка вместо реального устройства.
Где спотыкаются
Перечисляют платы и датчики, но не говорят, что делали лично. Список моделей ничего не сообщает о навыке, и интервьюер всё равно спросит про конкретный узел кода.
Приписывают себе доли ускорения, которых никто не мерил. В такой разработке подобные заявления проверяются одним вопросом: чем мерили, тактами таймера или осциллографом на выводе.
Смешивают голое железо и встраиваемый Linux. Опыт с одноплатным компьютером под Linux ближе к серверной разработке, чем к работе с микроконтроллером, и подавать это как одно и то же не стоит.