Dopo aver fatto alcune interviste, mi sono reso conto che di solito so cosa voglio fare per risolvere un problema, ma spesso ottengo la mia logica complicata (e introduco un sacco di bug) quando sto codificando.
Ad esempio, quando ho provato a codificare l'inserimento in una lista collegata singolarmente, questo è quello che sapevo che dovevo fare:
- Ho dovuto verificare il caso in cui l'elenco è attualmente nullo
- Ho dovuto verificare se l'elemento che voglio inserire è inferiore a quello attuale
- Per inserire tra i nodi, abbiamo dovuto collegare un nodo al nuovo nodo e il nuovo nodo accanto a quello che dovrebbe essere dopo.
Ho avuto problemi nell'inserimento tra i nodi perché dovevo effettivamente controllare i dati del nodo NEXT e non il nodo su cui puntavo il mio puntatore (così ho potuto impostare la corrente accanto al nuovo nodo). Ho anche faticato su questo problema (nota che questo è stato codificato su lavagna bianca) perché sono stato sotto pressione in tempo e penso di aver reso più complicato nella mia mente che avrei dovuto. Quando sono tornato a questo problema dopo l'intervista, risulta che la soluzione non è affatto complicata (come non dovrebbe essere). Tuttavia, tendo a complicare le cose e confondermi.
Qualcuno avrebbe suggerimenti su come migliorare questa mia vulnerabilità?