Domande da colloquio sui sistemi embedded
33 domande che fanno davvero ai colloqui per sviluppatori software embedded, divise per la lezione che spiega l’argomento. Leggi la lezione, poi rispondi ad alta voce.
Che cos’è un microcontrollore?
- Qual è la differenza tra un microcontrollore e un microprocessore?
- Dove si trovano il codice e le variabili in un MCU?
- Che cosa succede tra il reset e main()?
Leggi la lezione: Che cos’è un microcontrollore? →
Basi di hardware per chi viene dal software
- Perché un LED vuole una resistenza in serie, e come scegli il suo valore?
- Cosa succede se lasci un ingresso GPIO fluttuante?
- Come colleghi l’uscita a 5 V di un sensore a un microcontrollore a 3,3 V?
- Perché l’I2C vuole resistenze di pull-up, e cosa va storto se sono troppo grandi?
- Qual è la differenza tra absolute maximum ratings e condizioni di funzionamento raccomandate?
Leggi la lezione: Basi di hardware per chi viene dal software →
Il C per l’embedded
- Come si imposta, azzera e inverte un bit senza cambiare gli altri?
- Che cosa fa volatile, e quando è necessario?
- Perché usare uint32_t invece di int per un registro?
Leggi la lezione: Il C per l’embedded →
GPIO: pin in ingresso e in uscita
- Che cos’è una resistenza di pull-up e perché serve a un pulsante?
- Che cos’è il rimbalzo dei contatti e come si gestisce?
- Perché bisogna attivare il clock di una periferica prima di usarla?
Leggi la lezione: GPIO: pin in ingresso e in uscita →
Timer e interrupt
- Qual è la differenza tra polling e interrupt?
- Perché una routine di interrupt deve essere breve?
- Come si scelgono PSC e ARR per un interrupt ogni secondo?
Leggi la lezione: Timer e interrupt →
UART, I2C e SPI
- Quando sceglieresti SPI invece di I2C?
- Perché l’I2C ha bisogno di resistenze di pull-up?
- Che cosa ti dice un NACK sul bus I2C?
Leggi la lezione: UART, I2C e SPI →
ADC: leggere il mondo analogico
- Che cosa limita la precisione di una lettura ADC?
- Che cosa succede se campioni un segnale troppo lentamente?
- Come si converte una lettura grezza a 12 bit in volt?
Leggi la lezione: ADC: leggere il mondo analogico →
RTOS: tanti lavori su un solo chip
- Che cos’è l’inversione di priorità e come si risolve?
- Coda o variabile globale: come devono condividere i dati due task?
- Quando un semplice ciclo è meglio di un RTOS?
Leggi la lezione: RTOS: tanti lavori su un solo chip →
PWM, macchine a stati e altro
- Come controlla il PWM la velocità di un motore?
- Perché progettare il firmware come una macchina a stati?
- Come si alimenta in sicurezza un watchdog quando girano più task?
Leggi la lezione: PWM, macchine a stati e altro →
Il quadro completo
- Descrivimi che cosa succede dall’accensione alla prima lettura del sensore.
- Come arriva il codice dal tuo computer dentro il chip?
Leggi la lezione: Il quadro completo →
La strada verso senior
- Raccontami un bug che si presentava solo sull’hardware reale, e come l’hai trovato.
- Come progetteresti gli aggiornamenti firmware perché un dispositivo non resti mai inutilizzabile?
Leggi la lezione: La strada verso senior →
Nell’app le lezioni prendono vita
Nell’app le lezioni hanno demo interattive ed esercitazioni pratiche verificate sulla tua scheda. Queste pagine sono la versione da leggere: le demo sono descritte a parole e le esercitazioni richiedono l’app.