Interviste: la società si occupa di enormi quantità di dati? [chiuso]

1

Una società con cui intervisterò afferma di gestire enormi quantità di dati. Come ci si prepara per un colloquio in cui quel fatto viene telegrafato in anticipo come qualcosa su cui si dovrebbe davvero riflettere?

Devo memorizzare le dimensioni massime dei file per i file system Ext4 o qualcosa del genere? O solo essere consapevoli della necessità dei migliori algoritmi possibili ...

Grazie.

    
posta Ponk 08.07.2011 - 00:55
fonte

5 risposte

12

Ho lavorato in una società di stoccaggio e ha risucchiato immensamente. Fondamentalmente i dati vengono archiviati su dischi rigidi di grandi dimensioni che sono collegati ai server. Inoltre, hanno tentato di avere uno schema intelligente per l'integrità / sicurezza / recupero dei dati, ecc. I dischi rigidi sono poco costosi, ma è probabile che moriranno entro 5 anni. Quindi, come mantengono i dati al sicuro?

Google l'ha inventato nel 2003:

link http://labs.google.com/papers/gfs.html

La società per cui ho lavorato non si è mai avvicinata. Come risultato, gli ospedali hanno perso documenti importanti, la CIA ha perso la traccia dei terroristi, le banche hanno perso i dati dei clienti - io non esagero!

Consiglio vivamente di leggere il documento sul file system di Google. Hanno fatto un buon lavoro nello spiegare le cose.

Inoltre, puoi confrontare diversi file system (ad alto livello): ext3, ext4, reiserFS, NTFS, quello che Apple usa ...

Prova anche a scoprire cosa fa un'azienda Akamai e perché sono in affari - chi li pagherebbe e perché.

Conoscere qualcosa sul networking, sulla cache, sui server proxy, sui tavoli BGP link sarebbe di aiuto.

Cerca cosa fa l'azienda, cerca di capire chi sono i loro clienti, quale problema hanno e perché pagano a caro prezzo al tuo datore di lavoro. Quindi prova ad immaginare quali dettagli di basso livello sono coinvolti nello streaming di materiale dal punto A al punto B, inclusi i protocolli, ecc.

Speriamo che questo ti aiuti a "WOW".

Modifica : Non essere arrogante nell'intervista, anche se ti capita di sapere alcune cose che non fanno, non ostentare. Stai cercando di trovare un lavoro, giusto?

Mi rendo conto che la mia risposta non è completa, anche se in qualche modo popolare.

Vorrei aggiungere sapendo la differenza tra TC e UDP e quando avresti bisogno di ognuno.

    
risposta data 08.07.2011 - 01:30
fonte
4

Vorrei prendere questo con un pizzico di sale a meno che non si ottengano alcune cifre concrete come il numero di terabyte e il numero di posizioni.

In molti potrebbero pensare che abbiano una "enorme" quantità di dati perché sono introspettivi e non hanno idea di cosa stia facendo il resto del mondo. Attualmente sto cercando un sistema con un miliardo di righe nel database e lo classificherei come un sistema "medio" o "grande". Ho lavorato su sistemi in cui la cronologia delle transazioni conteneva da sola milioni di righe.

Non fidarti mai di termini come "enorme", "grande", "alto volume" ecc. chiedi sempre numeri concreti. Nella maggior parte dei casi questi si rivelano piuttosto modesti.

    
risposta data 08.07.2011 - 08:38
fonte
2

Nella nostra azienda gestiamo molti dati (materiale sociale), quello che ho imparato è:

  • sapere come l'hardware si occupa dei dati e come funziona il sistema operativo (kernel), conoscere i colli di bottiglia / i limiti.
  • avere una buona comprensione dei dati che hai a che fare, questo ti aiuta a capire e risolvere i problemi più velocemente e facilmente.
  • impara almeno gli algoritmi di base e leggi le best practice per trattare i dati.
  • non temere che siano solo dati:)

So che questa non è la risposta che ti aspetti, ma spero che sarebbe di aiuto e buona fortuna.

    
risposta data 08.07.2011 - 01:15
fonte
1

Dipende dal lavoro.

Se stai facendo il lavoro con i database, dovresti conoscere i tuoi join in modo da non creare un massiccio sistema di unione cartesiana / imperversare nel sistema. Questo è un grosso problema con alcuni degli sviluppatori sul mio posto di lavoro.

Sapere come stringere sottointerrogazioni e scrivere codice efficiente è sempre un vantaggio. Il nostro team preferisce i programmatori che non hanno bisogno di testare ogni singolo snippet sul server db2. Essere fiduciosi nel tuo codice prima del test ti tiene in buona fede nella mia squadra.

    
risposta data 08.07.2011 - 01:15
fonte
0

Le scommesse sicure sarebbero topologie e tecnologie di rete, così come le architetture applicative. Anche le tecniche di filtraggio e routing ad alto volume potrebbero essere buone. Se la loro attività principale consiste nel servire o archiviare dati da clienti esterni, la sicurezza dovrebbe essere coinvolta. Mostrare alcune conoscenze del database è probabilmente anche una buona idea. Se i loro dati sono transazionali, dovresti conoscere la semantica della transazione di base.

    
risposta data 08.07.2011 - 19:01
fonte

Leggi altre domande sui tag