|
|
Pubblicato su 08/01/2019 09:17:25
|
|
|

Il percorso di ricerca di lavoro di quest'anno è quasi finito, infatti non c'è stato alcun colloquio da uno o due mesi, ci ho pensato o ho annotato le seguenti aziende, ricordo solo quelle che riesco a ricordare. La mia posizione è ingegnere R&D Java, quindi coinvolge tutti i punti di conoscenza in questo ambito.
Tirocinio
1. Morgan Stanley
La prima intervista fu Morgan... L'intervistatore è molto gentile, e le domande principali sono state poste: (1) Presentare il progetto e parlare della parte che hai fatto (dopo l'introduzione, ho capito che quello che ho fatto era troppo basso e devo ancora prepararmi) (2) Polimorfismo. In C++, funzioni virtuali, riscrivendo funzioni virtuali in classi derivate, come faccio a sapere in tempo reale in quale sottoclasse sto eseguendo. (3) Quali sono le collezioni comunemente usate in Java? R: Lista, inclusi ArrayList e LinkedList. ArrayList è implementato internamente da array, che possono cambiare la lunghezza. LinkedList è un'implementazione di linked list e non può essere modificata nella lunghezza. D: Intendi dire che generalmente definisci la lunghezza di un LinkedList, diciamo 10, e poi la superi? R: No, non è necessario specificare la lunghezza del LinkedList, se non è definito, dovrebbe essere la macchina a determinare quanto spazio il tuo LinkedList può liberare al massimo. Aggiungo semplicemente i dati nella misura che mi serve. D: Se ci sono molte, molte operazioni di addizione, quali problemi incontrerai? È impossibile aggiungere spazio illimitato per te R: Sì... Quindi c'è un certo intervallo, penso che dovrebbe essere determinato dalla macchina quanto spazio può avere il massimo LinkedList, le macchine a 32 bit e a 64 bit dovrebbero essere diverse (Meng, in realtà non lo so). D: Beh, ci sono altre collezioni che usi regolarmente? Risposta: Imposta, principalmente HashSet, TreeSet, LinkedHashSet, e poi spiega le differenze tra questi tre D: Analizzare la complessità di HashSet e TreeSet, inserti, ricerche, ecc. Risposta: HashSet dovrebbe essere correlato al suo hash, se è solo un codice hash ordinario, può causare molti conflitti, così la lista collegata sarà più lunga e sarà più lento attraversare la lista collegata durante la ricerca, ma si usano metodi di ottimizzazione per risolvere conflitti, come il rilevamento secondario o simili, ridurre i conflitti, dovrebbe essere più veloce, l'albero rosso e nero usato all'interno di TreeSet, l'ordine di ricerca e inserimento dovrebbe essere O(log(N))... Allora è un'altra domanda... Non ho chiesto altro.
|
|