|
intrebari/raspunsuri de pe la interviuri
Last post 10-30-2007, 10:31 AM by ggciubuc. 24 replies.
-
05-24-2007, 10:22 PM |
-
Alex
-
-
-
Joined on 10-25-2006
-
Bucuresti
-
sysadmin
-
-
|
intrebari/raspunsuri de pe la interviuri
salut, nu stiu daca e "corect" daca cineva are ceva impotriva sau mai stiu eu....si nici daca am ales sectiunea potrivita pt asa ceva.....mai intai vreau sa intreb si pe urma o sa postez/postam daca e cazul
ce ziceti daca toti care am fost la interviuri(si bineinteles cine vrea) am posta aici intrebarile si raspunsurile....nimic mai mult (gen nume firma, daca am stiut sau nu sa raspundem etc)....eu am adunat ceva intrebari :)
alex
|
|
-
05-24-2007, 10:33 PM |
-
marcel soare
-
-
-
Joined on 10-06-2006
-
Bucharest
-
db_owner
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
Suna bine ideea ta. La aceste interviuri se pun si intrebari de genul "tips & tricks" utile in viata de zi cu zi.
|
|
-
05-24-2007, 10:53 PM |
-
Diana
-
-
-
Joined on 03-21-2006
-
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
Pai fara numele firmei nu prea are haz... ...nu vad nimic incorect in a impartasi o experienta... Legat de asta vezi si http://www.desprefirme.com/.
|
|
-
-
05-25-2007, 9:02 AM |
-
ggciubuc
-
-
-
Joined on 03-18-2006
-
Bucharest
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
Pentru ca suntem pe un site care este urmarit de multi DBA trebuie sa spun ca cel mai important set de intrebari pe care le-ar putea pune un angajator este din zona backup & recovery, pentru ca daca gestiunea unui server o mai poti invata din mers salvarea si recuperarea datelor este cea mai critica problema si comapania trebuie sa se asigure ca datele sunt pe maini bune. Asa ca ...
Gheorghe Ciubuc,SQL Server Influencer, MCP(SQL 2000), MCTS (SQL Server 2005) , OCA(Oracle 9i), Sybase(Brainbench)
|
|
-
05-25-2007, 10:10 AM |
-
Alex
-
-
-
Joined on 10-25-2006
-
Bucuresti
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
1. Sa se construiasca un SELECT care sa intoarca "Buna dimineata" daca ora sistemului este intre 5AM si 11AM si "Buna ziua" daca nu.
2. Trei diferente intre Functii si Proceduri stocate
3. Un select care sa obtina rezultatul 65.5 al impartirii lui 131 la 2
P.S. intrebarile sunt binevenite indiferent de gradul lor de complexitate :)
|
|
-
05-25-2007, 10:51 AM |
-
Alex
-
-
-
Joined on 10-25-2006
-
Bucuresti
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
4. You are an administrator of a SQL Server 2000 computer. Joe, a Sales departament employee, has a SQL Server login named Joe.He uses this login to access the SalesData database.
Joe has been temporarly moved to the Purchase departament. He wants to view and edit information stored in the PurchaseData database. Both these databases are located on the same SQL Server. You have to configure the appropiate permissions for Joe on the PurchaseData database. Which T-SQL statement will you execute to accomplish the task.
A. GRANT SELECT ON PurchaseData to 'Joe'
GRANT INSERT ON PurchaseData TO 'Joe'
GRANT UPDATE ON PurchaseData TO 'Joe'
B. EXEC sp_grantdbaccess 'Joe', 'JoeU'
EXEC sp_addrolemember 'db_datareader', 'JoeU'
EXEC sp_addrolemember 'db_datawriter', 'JoeU'
C. EXEC sp_addrolemember 'db_datareader', 'JoeU'
EXEC sp_addrolemember 'db_datawriter', 'JoeU'
D. GRANT ALL ON PurchaseData TO 'Joe'
P.S. asta mi-o aduc aminte pt ca am gasit-o intr-un test dupa ;)
|
|
-
05-25-2007, 11:05 AM |
-
Alex
-
-
-
Joined on 10-25-2006
-
Bucuresti
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
You are the administrator of a SQL Server 2000 computer. The server contains a database named Sales that has two data files and one transaction log file. Each data file is located on its own hard disk and exists in its own filegroup.You perform full database, differential, and transaction log backups on a regular basis. All backups made during a single week are striped across three disk backup devices. A portion of the header information for the current week's backups is shown in the following table.
BackupName BackupType BackupFinishDate sales db 20000625 1 2000-06-25 21:57:04.000 sales tl 20000626_1 2 2000-06-26 11:04:22.000 sales tl 20000626_2 2 2000-06-26 15:06:33.000 sales df 20000626 5 2000-06-26 21:15:48.000 sales tl 20000627_1 2 2000-06-27 11:03:39.000 sales tl 20000627_2 2 2000-06-27 15:04:59.000 sales df 20000627 5 2000-06-27 21:31:13.000 sales tl 20000628_1 2 2000-06-28 11:05:16.000 On June 28, 2000, at 1:47 P.M., the hard disk that contains the PRIMARY filegroup fails. You want to recover as much data as possible. What should you do? (Each correct answer presents part of the solution. Choose all that apply .)
A. Backup the transaction log by using the NO_LOG option. B. Backup the transaction log by using the NO_TRUNCATE option. c. Restore the most recent full database backup. D. Restore the most recent differential backup. E. Restore all differential backups in sequence. F. Restore all transaction log backups in sequence. G. Restore all transaction logs since the most recent differential backup.
|
|
-
05-28-2007, 1:54 PM |
-
Alex
-
-
-
Joined on 10-25-2006
-
Bucuresti
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
salut, am o alta intrebare de la interviu la care va rog cine are timp sa si raspunda la ea
se da un View astfel
ID Oras Client Total
1 Brasov Client1 500
2 Bucuresti Client2 300
3 Brasov Client3 250
4 Constanta Client1 370
..........
n Bucuresti Client8 270
sa se faca un select care sa intoarca grupate si ordonate pe oras top 3 clienti cu totalul cel mai mare
sub forma:
Oras Top3Client
Brasov Client1;Client3;ClientX
Bucuresti Client2;Client8
Constanta Client1;ClientXX
multumesc.
|
|
-
05-28-2007, 5:10 PM |
-
katalyn
-
-
-
Joined on 09-20-2006
-
Bucureşti
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
CREATE TABLE T (
ID INT IDENTITY PRIMARY KEY,
ORAS NVARCHAR(40) NOT NULL,
CLIENT NVARCHAR(40) NOT NULL,
TOTAL INT NOT NULL
)
GO
INSERT INTO T(ORAS, CLIENT, TOTAL)
SELECT 'Brasov','Client1',500
UNION ALL
SELECT 'Bucuresti','Client2',300
UNION ALL
SELECT 'Brasov','Client3',250
UNION ALL
SELECT 'Constanta','Client1',370
UNION ALL
SELECT 'Brasov','Client4',250
UNION ALL
SELECT 'Brasov','Client5',550
UNION ALL
SELECT 'Brasov','Client6',150
GO
DECLARE @REZ TABLE (
ORAS NVARCHAR(40) NOT NULL,
CLIENTI NVARCHAR(120) NULL)
INSERT INTO @REZ (ORAS,CLIENTI) SELECT DISTINCT ORAS,'' FROM T
DECLARE @CLIENTI NVARCHAR(140)
SET @CLIENTI=''
DECLARE @ORAS NVARCHAR(40), @CLIENT NVARCHAR(40)
DECLARE CURS CURSOR FOR (
SELECT ORAS, CLIENT
FROM T X
WHERE ID IN (
SELECT TOP 3 ID
FROM T Z
WHERE X.ORAS=Z.ORAS
ORDER BY TOTAL DESC)
)
OPEN CURS
FETCH NEXT FROM CURS INTO @ORAS, @CLIENT
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE @REZ SET CLIENTI=CLIENTI+@CLIENT+'; ' WHERE ORAS=@ORAS
FETCH NEXT FROM CURS INTO @ORAS, @CLIENT
END
CLOSE CURS
DEALLOCATE CURS
SELECT * FROM @REZ
Cătălin D.
|
|
-
05-28-2007, 5:10 PM |
-
katalyn
-
-
-
Joined on 09-20-2006
-
Bucureşti
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
Din greşeală am postat de două ori acelaşi raspuns. Rog un administrator să şteargă un post (am în cercat să o fac eu dar nu am permisiunea)
Cătălin D.
|
|
-
05-28-2007, 5:15 PM |
-
Diana
-
-
-
Joined on 03-21-2006
-
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
...hm, sa zicem ca as"intoarce" un set de forma: Brasov Client1 500 Brasov Client3 250 Brasov Client2 100...
... de exemplu folosind un cursor ( ) pe campul "oras" si
selectand TOP 3 (sau TOP 3 WITH TIES) Oras, Client, Total ..... ORDER
BY Total DESC ...dar
eu nu as face in viata de "zi cu zi" ceea ce imi cere intrabarea asta
in TSQL - adica as evita lucrul cu siruri in TSQL - pentru asta exista
functiile CLR... Aici sunt multe discutii - ce "business logic" isi gaseste locul in proceduri SQL, etc...
|
|
-
05-28-2007, 5:28 PM |
-
lmsasu
-
-
-
Joined on 11-04-2006
-
Brasov
-
db_owner
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
Am rezolvat asta: pentru cele mai banoase orase (suma banilor pe orase) se aduce lista clientilor care au cotizat. Dca n-am inteles corect, ghinion.
Ca veni vorba: ce daca e BL pe stocatura? e rapid....
select top 3
t1 .oras,
(
select replace(replace(replace(replace(replace(replace(replace(
(
select myTable.x
from
(
select distinct client x
from tab
where oras = t1.oras
) mytable
for xml auto
), 'x="', ''), '<mytable ' , '<'), '"', ''), '/><', ','), '<', ''), ' ', ''), '/>', '')
) t2,
sum (t1.total)
from tab t1
group by t1.oras
order by 3 desc
smecheria cu aducerea clientilor cu virgula se face fortand un xml.
Mama, chiar ca m-am plictisit...
|
|
-
-
05-28-2007, 10:16 PM |
-
rsocol
-
-
-
Joined on 10-03-2006
-
Bucuresti
-
sysadmin
-
-
|
Re: intrebari/raspunsuri de pe la interviuri
Folosind datele de test ale lui katalyn, am făcut o altă variantă fără cursor, dar cu o funcţie: CREATE FUNCTION dbo.TreiClientiMariDinOrasul(@Oras nvarchar(40)) RETURNS nvarchar(126) AS BEGIN DECLARE @lista nvarchar(126) SELECT TOP 3 @lista=ISNULL(@lista+'; ','')+Client FROM T WHERE Oras=@Oras ORDER BY Total DESC RETURN @lista END
GO SELECT Oras, dbo.TreiClientiMariDinOrasul(Oras) FROM (SELECT DISTINCT Oras FROM T) X În SQL 2005 s-ar putea cu un "simplu" SELECT, astfel: SELECT Oras, MIN(CASE WHEN rn=1 THEN Client END) +ISNULL(';'+MIN(CASE WHEN rn=2 THEN Client END),'') +ISNULL(';'+MIN(CASE WHEN rn=3 THEN Client END),'') AS Clienti FROM ( SELECT *, ROW_NUMBER() OVER ( PARTITION BY Oras ORDER BY Total DESC ) rn FROM T ) X GROUP BY Oras E interesant de observat că putem obţine rezultate diferite (cel puţin la aceste date de test), deoarece nu s-a precizat ce facem dacă sunt mai mulţi clienţi cu exact acelaşi total.
Răzvan
|
|
Page 1 of 2 (25 items)
1
|
|
|