Coding Interview

Coding Interview

Impara le basi della complessità computazionale e sviluppa le tue abilità di programmazione attraverso esercizi pratici e guidati in Python. Ottieni una comprensione completa della scalabilità e dei corner cases durante l'intervista.

Coding Interview

Impara le basi della complessità computazionale e sviluppa le tue abilità di programmazione attraverso esercizi pratici e guidati in Python. Ottieni una comprensione completa della scalabilità e dei corner cases durante l'intervista.
Panoramica

Molti processi di selezione per posizioni lavorative in ambito di coding, data science e machine learning passano da una CODING INTERVIEW. Questo corso affronta il concetto di complessità computazionale e rielabora strutture dati astratte e tecniche di programmazione in relazione al contesto dell’intervista, come ad esempio per scalabilità e corner cases.

Successivamente offre una ricca sezione di esercizi guidati, sia tramite sketching ‘da lavagna bianca’ che coding Python, con attenzione a sintassi ed unit testing.

Molti processi di selezione per posizioni lavorative in ambito di coding, data science e machine learning passano da una CODING INTERVIEW. Questo corso affronta il concetto di complessità computazionale e rielabora strutture dati astratte e tecniche di programmazione in relazione al contesto dell’intervista, come ad esempio per scalabilità e corner cases.

Successivamente offre una ricca sezione di esercizi guidati, sia tramite sketching ‘da lavagna bianca’ che coding Python, con attenzione a sintassi ed unit testing.

Cosa Imparerai nel corso?

Cosa Imparerai nel corso?

Entrare nel mondo del lavoro significa superare un processo di selezione, che ragionevolmente è tanto più difficile e competitivo quanto la posizione è interessante. Che si tratti di un lavoro come sviluppatore, data scientist, machine learning engineer.

É molto probabile che il candidato venga sottoposto ad una famigerata CODING INTERVIEW.

One-to-one con l’interviewer per un’ora, di fronte ad un quesito e ad una lavagna bianca.

Nessun IDE, nessuna tab con Google: per fare una buona impressione in una coding interview non ci sono aiuti esterni. È necessario saper programmare bene, aver studiato algoritmi e strutture dati? Assolutamente sì! È sufficiente per riuscire a fare una buona impressione? Verosimilmente no! Ed allora cos’altro serve? Pratica. Esperienza. Allenamento. In particolare, questo corso.

Iniziamo ponendoci l’obiettivo di usare il problem solving per proporre soluzioni algoritmiche corrette, complete ed efficienti ai quesiti dell’intervistatore. Introduciamo il concetto di complessità computazionale, un linguaggio fondamentale per valutare la scalabilità di un algoritmo.

Passiamo poi in rassegna le principali strutture dati astratte (ADTs), vediamo come si gestiscono in Python, e quali sono tipicamente le proprietà da sfruttare, o le problematiche da tenere alla larga, nelle coding interviews. Infine, ci tuffiamo nell’acqua alta ed affrontiamo una serie di coding interview questions reali, cercando di capire come affrontarle da zero, come impostare una soluzione, come valutare eventuali trade-off di opzioni alternative.

Ogni esercizio è affrontato in due fasi: prima, una fase di sketch a mano libera che simula l’intervista e l’utilizzo di una lavagna bianca e porta all’individuazione di una soluzione algoritmica e della sua complessità computazionale; poi, un’implementazione funzionante in Python viene discussa sul piano sintattico ed eseguita su diversi input.

Il risultato del corso è una maggiore padronanza di costrutti fondamentali della programmazione e di Python, un bagaglio di conoscenza di tipici tipologie di coding interviews, e la capacità di leggere nei testi dei quesiti degli indizi che possano guidare la scelta della struttura dati da utilizzare e la soluzione algoritmica da impostare.

Entrare nel mondo del lavoro significa superare un processo di selezione, che ragionevolmente è tanto più difficile e competitivo quanto la posizione è interessante. Che si tratti di un lavoro come sviluppatore, data scientist, machine learning engineer.

É molto probabile che il candidato venga sottoposto ad una famigerata CODING INTERVIEW.

One-to-one con l’interviewer per un’ora, di fronte ad un quesito e ad una lavagna bianca.

Nessun IDE, nessuna tab con Google: per fare una buona impressione in una coding interview non ci sono aiuti esterni. È necessario saper programmare bene, aver studiato algoritmi e strutture dati? Assolutamente sì! È sufficiente per riuscire a fare una buona impressione? Verosimilmente no! Ed allora cos’altro serve? Pratica. Esperienza. Allenamento. In particolare, questo corso.

Iniziamo ponendoci l’obiettivo di usare il problem solving per proporre soluzioni algoritmiche corrette, complete ed efficienti ai quesiti dell’intervistatore. Introduciamo il concetto di complessità computazionale, un linguaggio fondamentale per valutare la scalabilità di un algoritmo.

Passiamo poi in rassegna le principali strutture dati astratte (ADTs), vediamo come si gestiscono in Python, e quali sono tipicamente le proprietà da sfruttare, o le problematiche da tenere alla larga, nelle coding interviews. Infine, ci tuffiamo nell’acqua alta ed affrontiamo una serie di coding interview questions reali, cercando di capire come affrontarle da zero, come impostare una soluzione, come valutare eventuali trade-off di opzioni alternative.

Ogni esercizio è affrontato in due fasi: prima, una fase di sketch a mano libera che simula l’intervista e l’utilizzo di una lavagna bianca e porta all’individuazione di una soluzione algoritmica e della sua complessità computazionale; poi, un’implementazione funzionante in Python viene discussa sul piano sintattico ed eseguita su diversi input.

Il risultato del corso è una maggiore padronanza di costrutti fondamentali della programmazione e di Python, un bagaglio di conoscenza di tipici tipologie di coding interviews, e la capacità di leggere nei testi dei quesiti degli indizi che possano guidare la scelta della struttura dati da utilizzare e la soluzione algoritmica da impostare.

Struttura delle lezioni

Struttura delle lezioni

Deep Learning Italia struttura le sue lezioni in maniera molto semplice: all’interno di ogni sezione ci sono video esplicativi, in cui il docente spiega la lezione, corredati da slides.

Il percorso di apprendimento solitamente è intervallato da test a risposta multiplache permettono di monitorare la comprensione degli argomenti di studio e si conclude con un test pratico finalenel quale verranno valutate le competenze acquisite durante il corso.

Deep Learning Italia struttura le sue lezioni in maniera molto semplice: all’interno di ogni sezione ci sono video esplicativi, in cui il docente spiega la lezione, corredati da slides.

Il percorso di apprendimento solitamente è intervallato da test a risposta multiplache permettono di monitorare la comprensione degli argomenti di studio e si conclude con un test pratico finalenel quale verranno valutate le competenze acquisite durante il corso.

Chi può seguire il corso?

Chi può seguire il corso?

Chi ha una mente aperta e predisposta all’analisi: le lezioni sono adatte a chiunque ma è necessario avere passione per i numeri e i calcoli, oltre che tanta pazienza.

Chi lavora anche full time: se sei un lavoratore full time non ti preoccupare! Potrai seguire le lezioni in completa autonomia nel tuo tempo libero.

Chi vuole crescere professionalmente: Se vuoi elevare la tua carriera Deep Learning Italia ti da l’opportunità di poterlo fare a costi contenuti.

Chi ha una mente aperta e predisposta all’analisi: le lezioni sono adatte a chiunque ma è necessario avere passione per i numeri e i calcoli, oltre che tanta pazienza.

Chi lavora anche full time: se sei un lavoratore full time non ti preoccupare! Potrai seguire le lezioni in completa autonomia nel tuo tempo libero.

Chi vuole crescere professionalmente: Se vuoi elevare la tua carriera Deep Learning Italia ti da l’opportunità di poterlo fare a costi contenuti.

Programma

Introduction

  • Coding Interview
  • Quiz
  • Computational complexity (1)
  • Computational complexity (2)
  • Quiz
  • Python.ipynb
  • Python syntax (1)
  • Python syntax (2)
  • Python syntax (3)
  • Quiz

Abstract data types and advanced techniques

  • Strings and Arrays
  • Quiz
  • Matrices
  • Quiz
  • Dictionaries
  • Quiz
  • Linked Lists
  • Quiz
  • Recursion
  • Quiz
  • Intermezzo: Fibonacci!
  • Quiz
  • Trees/b>
  • Quiz
  • Coding_ADTs.ipynb
  • Dynamic Programming
  • Quiz
  • More ADTs
  • Testing

Whiteboard coding gym

  • Remove Nth Node (1)
  • RemoveNode.ipynb
  • Remove Nth Node (2)
  • Trapping Rainwater (1)
  • TrappingRainwater.ipynb
  • Trapping Rainwater (2)
  • Group Anagrams (1)
  • GroupAnagrams.ipynb
  • Group Anagrams (2)
  • Random from random (1)
  • Random from random (2)
  • Triplet Sum (1)
  • Random.ipynb
  • TripletSum.ipynb
  • Triplet Sum (2)
  • Edit Distances (1)
  • EditDistance.ipynb
  • Edit Distances (2)
  • EditDistance.ipynb
  • Edit Distances (3)
  • Balanced Trees (1)
  • BalancedTrees.ipynb
  • Balanced Trees (2)
  • Rotate Image (1)
  • RotateImage.ipynb
  • Rotate Image (2)
  • Lightbulbs (1)
  • Lightbulbs.ipynb
  • Lightbulbs (2)
  • Water tower (1)
  • WaterTower.ipynb
  • Water Tower (2)

Certificato

Introduction

  • Coding Interview
  • Quiz
  • Computational complexity (1)
  • Computational complexity (2)
  • Quiz
  • Python.ipynb
  • Python syntax (1)
  • Python syntax (2)
  • Python syntax (3)
  • Quiz

Abstract data types and advanced techniques

  • Strings and Arrays
  • Quiz
  • Matrices
  • Quiz
  • Dictionaries
  • Quiz
  • Linked Lists
  • Quiz
  • Recursion
  • Quiz
  • Intermezzo: Fibonacci!
  • Quiz
  • Trees/b>
  • Quiz
  • Coding_ADTs.ipynb
  • Dynamic Programming
  • Quiz
  • More ADTs
  • Testing

Whiteboard coding gym

  • Remove Nth Node (1)
  • RemoveNode.ipynb
  • Remove Nth Node (2)
  • Trapping Rainwater (1)
  • TrappingRainwater.ipynb
  • Trapping Rainwater (2)
  • Group Anagrams (1)
  • GroupAnagrams.ipynb
  • Group Anagrams (2)
  • Random from random (1)
  • Random from random (2)
  • Triplet Sum (1)
  • Random.ipynb
  • TripletSum.ipynb
  • Triplet Sum (2)
  • Edit Distances (1)
  • EditDistance.ipynb
  • Edit Distances (2)
  • EditDistance.ipynb
  • Edit Distances (3)
  • Balanced Trees (1)
  • BalancedTrees.ipynb
  • Balanced Trees (2)
  • Rotate Image (1)
  • RotateImage.ipynb
  • Rotate Image (2)
  • Lightbulbs (1)
  • Lightbulbs.ipynb
  • Lightbulbs (2)
  • Water tower (1)
  • WaterTower.ipynb
  • Water Tower (2)

Certificato

Docenti
Alan Perrotti
Descrizione Docenti

Alan Perotti studia Informatica a Torino. Nel 2015 consegue il dottorato in Intelligenza Artificiale, sotto la supervisione della City University di Londra, con una tesi a titolo ‘Neural-Symbolic Rule-Based Monitoring’. Lavora come ricercatore, applied data scientist e docente. L’attività di ricerca si focalizza sul tema dell’eXplainable Artificial Intelligence (XAI), con l’obiettivo di spiegare in termini comprensibili all’uomo i processi decisionali che emergono da reti neurali addestrate. L’attività di data scientist si svolge principalmente in ambito finance, healthcare, energy e mobilità, con un grosso focus sulla prototipazione in Python di modelli di machine learning. Infine, l’attività di docente riguarda programmazione ed algoritmi, machine learning, reti neurali per visione artificiale, explainability.

Vantaggi
  • Puoi seguire il corso dove e quando vuoi: Deep Learning, infatti, ti offre l’opportunità di accedere alla piattaforma in qualsiasi momento tu abbia voglia e possibilità di studiare. Basta semplicemente un dispositivo elettronico e una connessione internet!

  • Troverai sempre materiale nuovo e lezioni aggiornate: i nostri professori ti forniranno moltissimo materiale per supportare i tuoi studi e aggiorneranno periodicamente la piattaforma con nuove slides o con nuovi moduli;

  • Nei nostri corsi troverai sempre una componente interattiva per stimolare l‘apprendimento: giochi, quiz, podcast e tanto altro ti aiuteranno a migliorare e a rendere la tua formazione unica;

  • Non sarai mai solo! Avrai a disposizione la nostra community per metterti in contatto con altri studenti.

  • A fine percorso riceverai una certificazione che potrai aggiungere al tuo CV e che ti darà la possibilità di farti notare da grandi aziende del settore;

  • Se lo vorrai, Deep Learning Italia, ti potrà aiutare a trovare lavoro mettendoti in contatto con le nostre aziende partner.

  • Puoi seguire il corso dove e quando vuoi: Deep Learning, infatti, ti offre l’opportunità di accedere alla piattaforma in qualsiasi momento tu abbia voglia e possibilità di studiare. Basta semplicemente un dispositivo elettronico e una connessione internet!

  • Troverai sempre materiale nuovo e lezioni aggiornate: i nostri professori ti forniranno moltissimo materiale per supportare i tuoi studi e aggiorneranno periodicamente la piattaforma con nuove slides o con nuovi moduli;

  • Nei nostri corsi troverai sempre una componente interattiva per stimolare l‘apprendimento: giochi, quiz, podcast e tanto altro ti aiuteranno a migliorare e a rendere la tua formazione unica;

  • Non sarai mai solo! Avrai a disposizione la nostra community per metterti in contatto con altri studenti.

  • A fine percorso riceverai una certificazione che potrai aggiungere al tuo CV e che ti darà la possibilità di farti notare da grandi aziende del settore;

  • Se lo vorrai, Deep Learning Italia, ti potrà aiutare a trovare lavoro mettendoti in contatto con le nostre aziende partner.

  • Accesso Life long

  • Accesso Life long

Play Video
50,00 
Durata
8:06
Quiz
11
Accesso life long
Si
Certificato
Si
slide, github, dataset
Si
esercitazioni
Si
Prodotti Correlati
Torna in alto