2009-04-19 7 views
18

Ricerca Google visualizza alcuni collegamenti alle domande tsql. Mi chiedevo cosa avrebbero chiesto gli esperti di SO in un'intervista per TSQL.Domande dell'intervista TSQL che si chiedono

+0

Dipende da chi intervisti: un DBA, uno sviluppatore, un architetto, ecc. Puoi chiarire la domanda per favore? – allgeek

+0

E 'davvero legato alla programmazione? Dove sono i facists "Close Question"? –

+4

@Mark: questo è un quesito di "intervista" simile a quello in cui hai ottenuto 117 voti da http://stackoverflow.com/questions/205003/is-it-wrong-to-go-to-interviews-while-employed/ 205011 # 205011 - Quindi dico, è relativo alla programmazione. – Sung

risposta

16

Ecco alcune delle domande più comuni mi è stato chiesto come sviluppatore ASP.Net con forti competenze di SQL Server:

  • Nome e descrivere i diversi tipi di join
  • cosa è COALESCE?
  • Spiegare le chiavi primarie e quelle estere
  • Che cosa faresti per ottimizzare le query a esecuzione ridotta?
  • Qual è la differenza tra DELETE e TRUNCATE?
+0

+1 Questo è un buon passo per filtrare quelli che non hanno idea. Che dire della distinzione tra candidati finali avanzati? –

+0

OK, Joel, non ho quasi mai domande su nessuna delle nuove funzionalità di SQL Server 2005 come RANK, PIVOT, ROW_NUMBER, APPLY, CHECKSUM, utilizzando la connessione di amministrazione dedicata, utilizzando le CTE, scrivendo roba CLR. – DOK

+2

E, se stai cercando qualcuno che mantenga le loro competenze attuali, chiedi loro quali sono le nuove funzionalità di SQL Server 2008 che non vedono l'ora di usare e se hanno scaricato e sperimentato le versioni beta. – DOK

2

Nella sezione query SQL (per estendere DOK):

  • Come ti gestire NULL problemi? (Vale a dire NULL -.? 25 =)
  • Variazioni per CASE in SELEZIONA s (pro/contro)
  • funzione User vs. stored procedure prestazioni
  • integrazione di .NET/SQL (pro/contro)
  • In che modo e per quanto riguarda le query SQL catena? (Via god-query, vista, stored procedure, ecc)
+0

Cosa intendi con il concatenamento di query SQL? –

+0

Qual è la risposta alla domanda sulla funzione utente v.s. prestazioni delle stored procedure? – Andomar

+0

@John: nelle nostre applicazioni basate su SQL2k è sempre problematico creare query verificabili e composite.Se abbiamo bisogno di un rapporto, lo suddividiamo in passaggi e catene discreti come View1-> View2-> View3-> Sp1. Con questa architettura siamo in grado di controllare in modo approfondito il nostro flusso di dati, non come in una query T-SQL di 2000 linee. – boj

0

chiedo sempre programmatori (i programmatori non proprio db, ma i programmatori che shoud essere in grado di scrivere un DAL)

"Epxlain la differenza tra un subquery che è correlato e uno che non è "

So per le persone che conoscono una cosa o 2 su sql questo sembra molto facile, ma con mia grande sorpresa, molto meno del 50% va bene.

+0

Stai cercando qualcosa oltre il fatto che una subquery correlata utilizza i risultati della query esterna ed è eseguita ripetutamente, o è così? –

+0

nono, è proprio così! Ulteriori informazioni sono state richieste solo dopo che potevano dirmi di cosa si trattava in primo luogo! Abbiamo persino finito con l'assumere quindi chi ha fallito questa domanda ... Problemi nel trovare persone IT in Belgio = -) Ma non è poi così male come una storia che ho ascoltato da altro: alla ricerca di un esperto di DB2, un candidato, con 10 anni di esperienza come sosteneva, non sapeva cosa fosse una stored procedure .. – Peter

+1

Mi piace molto il cioccolato belga. Verrò a lavorare per te. Ho sentito parlare di stored procedure una o due volte. –

1

Ecco alcune delle domande che riesco a formulare.

  • Come implementare Row_Number senza utilizzare la funzione Row_Number().
  • Come calcolare il totale parziale
  • Come trasporre record - pivoting.
  • record
  • Filtering NULL in WHERE clausola
  • condizionale record di ordinamento e filtraggio
5

Ci sono un mucchio di domande qui: SQL Server Quiz, Can You Answer All These?

un biggie è, naturalmente, come si può codice per ridurre al minimo i deadlock

Prendi il codice qui sotto, ad esempio, l'80% delle persone ha sbagliato

Cosa sarà t emette il seguente?

SELECT 3/2 
+3

Per i lettori che non dispongono dell'accesso a SQL Server, SELECT 3/2 restituisce 1. Non 1.5. – DOK

+0

Questo è uno di quei "Doh!" momenti in cui pensi ai tipi dedotti. Per quegli stessi lettori privi di SQL Server, è possibile ottenere la risposta che ci si aspetta se si seleziona SELEZIONA 3.0/2.0 in modo che non deduca che si desidera un intero. L'equivalente Oracle dovrebbe essere selezionato 3/2 da doppio e restituisce 1.5 Deve ... combattere ... richiedere ... installare MySQL e PostgreSQL per testare ... – jeffa00

1

Nome l'OPERAZIONE DI ISOLAMENTO del LIVELLO spiegare ognuno di loro, che è il default ?

+0

yay, perché dovremmo fare più transazioni! –

+1

solo per aggiungere a ciò, che cosa è una lettura fantasma, lettura sporca, lettura ripetibile, aggiornamento perso e quali livelli di isolamento possono aiutare – SQLMenace

2

Una lista parziale di suggerimenti:

  • ottenere il codice SQL più terribile che hai eseguito attraverso e ottenere i candidati a spiegare come molte cose sbagliate con esso in quanto possono

  • chiedere loro come otterrebbero il piano di query per il tsql che scrivono e quali sono alcune delle cose da evitare nei piani di query (e come potrebbero correggerli se lo facessero apparire); vedere se sanno cosa un tavolo pieno o indice di scansione è

  • chiedere loro se capire come funziona ottimizzatore del server e come questo potrebbe avere attinenza con la tsql scrivono

  • chiedere loro un'esempi di quando è bene usare tempdb

  • vedere se sanno quali clausole sql forzeranno l'uso di tempdb dietro le quinte; vedere se sanno perché questo è importante

  • chiedere loro esempi di quando è meglio non usare un cursore

  • chiedere loro come per garantire aggiornamenti in atto; chiedere loro che i venditori sostenere che, in attuazione di aggiornamenti come delete/insert

  • li hanno spiegare perché è cattiva pratica di utilizzare select * nel codice

0

Qual è la differenza tra una clausola WHERE e HAVING clausola?

È una domanda apparentemente facile che molte persone sbagliano, e ascoltandole provare a rispondere vi darà qualche idea sulla loro comprensione del raggruppamento.