The forum of the Computer Science students of the University of Pisa

Domande Ricci

ORALE LAB - Ho svolto l'orale per un integrativo: l'orale ha seguito un filo logico, se rispondendo a una domanda parlavo di un altro argomento mi chiedeva di approfondirlo un poco.

-rmi
-serializzazione
-threadpool (differenza con un gruppo di thread)
-differenza nio e io

Era piuttosto impegnata e l'orale è stato di poco meno di 20 minuti.
voto finale 28.
Orale Lab Gennaio 2020

Dopo avermi fatto spiegare alcune scelte riguardanti il progetto, in special modo le parti della relazione che lei riteneva poco chiare, mi ha chiesto:

-Selector e NIO in generale
-Cachedthreadpool e Fixedthreadpool
Serializzazione e de-, cos'è il serial version id
Lock e variabili di condizione


Per il progetto se non avete il vostro pc non tenta neanche di compilarlo e guarda solo il codice, aspetto piu critico è che se non fate la GUI del client, da linea di comando vari messaggi del server possono arrivare in interleaving. Voto finale 26 inclusi i 2 punti per aver fatto gli assignment, quindi il progetto l'ha valutato 24, ho perso 6 punti per la cosa dei messaggi in interleaving e la relazione stringata
Orale Lab
Orale con la Ricci molto tranquillo, lei si segna sulla relazione i punti che vuole approfondire con voi, le domande verteranno maggiormente sulla gestione della sfida e le strutture dati utilizzate.
Per la parte di teoria mi ha chiesto:
-Threadpool cosa sono e come funzionano, parametri del FixedThreadPool
- Java RMI, Callback cosa sono e come si implementano ( a grandi linee)
- Serializzazione, e serial version uid
- Parlami di Lock, monitor , wait e notify
Orale ricci
-nio in generale
-buffer tutte le variabili
- variabili del metodo register
-java serialization

Lei è tranquilla consiglio di fare la relazione veramente con attenzione.
La professoressa è molto tranquilla e lascia tutto il tempo che serve per pensare.
Parte dalla relazione e chiede di spiegarle le parti che non le sono chiare, oltre a vedere il relativo codice.
Poi vuole vedere una piccola demo e controlla anche se sono stati consegnati i vari assegnamenti.
Per la parte di teoria mi ha chiesto:
- Scrivere uno pseudocodice dei produttori e consumatori su un vettore usando monitor
- RMI callback
- Definizione di un oggetto remoto
- pseudocodice di un sistema client-server utilizzando NIO e Selector, quali operazioni vengono specificate nel metodo register, gli altri parametri del metodo e descrivere il ciclo per selezionare le chiavi pronte ad un'operazione
- differenza tra thread e task
- politica di un threadpool e parametri del ThreadPoolExecutor
- JSON cos'è a cosa serve dove l'abbiamo visto
(aprile 2020 - orale di laboratorio, appello straordinario via Teams)
La Ricci è molto tranquilla all'orale, ti lascia il tempo per pensare senza metterti fretta. Durata: 30-40 min

Nella prima parte dell'orale ti fa vedere il progetto e ti chiede eventuali chiarimenti su parti che non ha capito nel codice o nella relazione (che lei considera parecchio, è molto importante curarla). Negli orali che ho visto io non ha fatto eseguire il codice, ha solo chiesto di farlo vedere e spiegare i punti salienti.
Nella seconda parte ti fa circa 3 domande sulla teoria.
Elenco qui un paio di orali che mi sono segnata:

(1° orale)
- Threadpool
- try-with-resources (a cosa serve + esempio nel quale vengono perse delle eccezioni)
- RMI Callback (dove si poteva usare nel progetto? Nel caso di WordQuizzle si poteva utilizzare per le richieste di sfida)

(2° orale)
- Serializzazione JAVA (in che cosa consiste, quali costrutti usa, ... )
- ThreadPool (+ callable, future)
- Monitor, Lock (ha chiesto le opinioni dello studente per quanto riguarda questi due metodi di sincronizzazione, quando conviene usare uno invece dell'altro, i pro e i contro di ognuno...)

N.B. : nel progetto di solito c'è la possibilità di usare JAVA IO oppure NIO. Se hai utilizzato solo IO ti chiede sicuramente NIO e viceversa.