So cosa voglio fare, ma ho difficoltà a codificarlo? [chiuso]

1

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:

  1. Ho dovuto verificare il caso in cui l'elenco è attualmente nullo
  2. Ho dovuto verificare se l'elemento che voglio inserire è inferiore a quello attuale
  3. 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à?

    
posta user1831442 06.02.2014 - 01:07
fonte

3 risposte

6

Parla con gli intervistatori. Spiega cosa stai cercando di fare. Fare domande. Di '"sembra giusto?"

Le domande di intervista sulla codifica sono solo una stima approssimativa dell'abilità. La maggior parte delle persone che fanno interviste sono già state lì e capiscono che la codifica su una lavagna è più difficile della codifica su un computer. Se condividi il tuo processo di pensiero e solleciti il feedback frequente degli intervistatori, reindirizza l'attenzione sulla tua capacità collaborativa, piuttosto che sugli errori che facciamo tutti quando siamo nervosi.

Data la scelta tra qualcuno che si alza e fa il problema senza guardarmi, o qualcuno che è un po 'insicuro di sé ma che mi impegna durante il problem solving, preferirò quasi sempre quest'ultimo.

    
risposta data 06.02.2014 - 01:17
fonte
4

Scrivi altro codice e continua a perfezionarlo e migliorarlo, con l'aiuto di fonti esterne di informazioni come libri e blog. Questo è l'unico modo per sapere come farlo.

Metti l'accento sulla scrittura di più codice, senza leggere più blog.

Se sei un buon codice di lettura, leggi il codice degli altri, per vedere come risolvono i problemi. Ci sono molti progetti open source che puoi guardare. Confronta il loro processo con il processo che utilizzi per scrivere il codice e miglioralo nel farlo.

Ma non posso sottolineare abbastanza che il modo migliore per scrivere codice migliore è semplicemente scriverne di più e lavorare su modi per renderlo migliore.

Per quello che vale, non sono sicuro che gli intervistatori siano la migliore fonte di feedback sul fatto che tu stia scrivendo o meno un buon codice. Puoi ottenere critiche da altri colleghi o pubblicare il tuo codice di lavoro sul link (ho visto un ottimo consiglio lì).

    
risposta data 06.02.2014 - 01:49
fonte
0

Devi studiare gli algoritmi. Molte persone sanno come stampare un codice. Gli intervistatori sono alla ricerca di una persona che abbia una comprensione di ciò che viene scritto e, per farlo, è necessario avere un profondo apprezzamento per ciò che sta facendo il codice.

Ti consiglio di seguire un corso sugli algoritmi. Meglio di tutti, ce n'è uno gratis che è appena iniziato su Coursera, ed è insegnato da Robert Sedgewick, il co-autore di uno dei i migliori libri sugli algoritmi mai scritti . Il corso è appena iniziato questa settimana. Puoi ancora iscriverti, credo.

    
risposta data 06.02.2014 - 03:04
fonte

Leggi altre domande sui tag