Mein Kollege Peter machte mich auf einen Tests für Bewerber aufmerksam. Man solle Ihnen eine leichte Programmmieraufgabe geben, um die Fähigkeiten des Kandidaten zu erleben. Als Beispiel soll ein Programm die Zahlen von 1 bis 100 ausgeben. Ist die Zahl hingegen durch 3 teilbar, dann statt dessen "Fizz". Ist sie durch 5 teilbar, dann "Buzz". Ist sie aber durch 3 und 5 teilbar, dann "FizzBuzz". Erstmals beschrieben wurde das offenbar im Artikel "Using FizzBuzz to Find Developers who Grok Coding".
Das Ganze hat zwei Aspekte:
- Taugen solche Tests überhaupt, um im Bewerbergespräch wertvolle Erkenntnisse zu sammeln?
- Und wie ist die TSQL-Lösung dieser konkreten Aufgabe… 😉
Ich bin unsicher wegen der Aussagekraft: Ich persönlich würde gut ausgearbeitete Tests zur Auswahl der Bewerber befürworten, um einfach besser einschätzen zu können, ob sie die gewünschten Qualifikationen haben. Leider kann ich in Bewerbergesprächen nicht so gut einschätzen, was die Leute nur sagen und was sie tatsächlich können. Leider erlebte ich schon, dass die Selbsteinschätzung und dementsprechend die Darstellung der Bewerber stark von der Wirklichkeit abwich.
Aber was sagt so ein Luschi-Test aus? Ich nehme mal an, dass er nur die totalen Blender ausfiltert, oder? Hat er sonst noch einen positiven Effekt?
Jetzt zum spaßigen Teil. In dem oben genannten Blog-Beitrag bringt jemand eine TSQL-Lösung:
declare @counter int
declare @output varchar(15)
set @counter = 1
while @counter < 101
begin
set @output = ''
if @counter % 3 = 0
set @output = 'Fizz'
if @counter % 5 = 0
set @output = @output + 'Buzz'
if @output = ''
set @output = @counter
print @output
set @counter = @counter + 1
end
Diese Lösung gefällt mir besser:
SELECT
CASE WHEN number%15=0 THEN 'FizzBuzz'
WHEN number%3=0 THEN 'Fizz'
WHEN number%5=0 THEN 'Fizz'
ELSE CAST (number AS Varchar(10)) END AS "number"
FROM master.dbo.spt_values
WHERE type='P'
AND number BETWEEN 1 AND 100
Wem das zu wenig tricky ist, hier eine komplexere Lösung, die ohne Modulo auskommt:
SELECT
ISNULL(MAX(T.word),CAST (number AS Varchar(10))) AS "number"
FROM master.dbo.spt_values AS S
LEFT OUTER JOIN ( SELECT 3, 'Fizz' UNION
SELECT 5, 'Buzz' UNION
SELECT 15, 'FizzBuzz') AS T(num,word)
ON S.number%T.num=0
WHERE S.type='P'
AND S.number BETWEEN 1 AND 100
GROUP BY S.number
Hi Thomas,
hiermit wärest du aber nach Hause geschickt worden 😉
SELECT
CASE WHEN number%15=0 THEN 'FizzBuzz'
WHEN number%3=0 THEN 'Fizz'
!!!! WHEN number%5=0 THEN 'Fizz' !!!!
ELSE CAST (number AS Varchar(10)) END AS "number"
FROM master.dbo.spt_values
WHERE type='P'
AND number BETWEEN 1 AND 100
Vielleicht ist da ja auch nur ein Konzentrationstest 😉
Viele Grüße
Christoph
Hallo Christoph,
stimmt! Das wäre blöd gelaufen. Das kommt davon, wenn man es besser wissen will als andere… 😉
Ich korrigiere meinen Fehler jetzt mal nicht, als Mahnung daran die Ergebnisse besser zu kontrollieren bevor ich sie poste…
Viele Grüße
Thomas
PS: Sorry für die späte Antwort. Wir waren an der See…
Hi everybody, here every person is sharing these know-how, thus it's nice to read this webpage, and I used to visit this website all the time.
I see you don't monetize your website, don't waste your traffic,
you can earn extra bucks every month. You can use the best adsense alternative for any type of website (they approve all websites), for more details simply search in gooogle:
boorfe's tips monetize your website
Do you mind if I quote a few of your articles as long as I provide credit
and sources back to your website? My blog is in the exact same niche as
yours and my users would genuinely benefit from a
lot of the information you provide here.
Please let me know if this ok with you. Cheers!
I see you don't monetize glorf.it, don't waste your traffic,
you can earn extra cash every month with new monetization method.
This is the best adsense alternative for any type of website (they
approve all sites), for more info simply search in gooogle:
murgrabia's tools
I do not know if it's just me or if everybody else encountering issues with your website.
It appears as though some of the written text in your posts are
running off the screen. Can someone else please provide feedback and let me know if this
is happening to them too? This might be a problem with my browser because I've had
this happen previously. Thanks
Thanks a lot for sharing this with all folks you actually recognize
what you are talking about! Bookmarked. Kindly also visit my site =).
We will have a link exchange agreement between us
Apa yang sudah saya dari artikel anda, ternyaa memberikan informasi
yang dibutuhkan banyak orang saat ini ya.
Jaddi terimma kasih sudah membuat info seperti itu.
mantap bener, inii yang saya cari2 selama ini.
makasi gan, sukses terus.
Makasih banyak mas, adanya info ini membatu saya dalam melakukan kegiatan. Tidak
hanya itu saja banyak juga manfaat yang saya temukan lainnya disini.
Betul banget. Artikelnya sangat bermanfaat min. Tambah info-info menarik lainnya
ya min.
Setuju sih gan sama informasi ini. Soalnya nilai yang dijelaskan pada artikel ini masuk kedalam
pikiran saya. Jadi lebih mudah memahaminya.
Penuisan artikel ini jelas mmemberikan informasi yang bermanfaat gan. Terutama membuat saya menjadi termotivasi untuk mencari info seperti itu.
dari banyaknya sumber informasi, sepertinya blog agan adalah yang paling tepat.
Karena disini saya bisa mendapatkan pelajaran yang sangawt
berarti.
Wih infonya akurat gan. Penulisannya mudah dipahami. Jadi membuat saya semangat mencari info menarik lainnya.
Setelah saya membaca artikel anda, sepertinya banyak manfaat yang saya dapat gan. Bisa menjadi motivasi saya
uat menulis artikel lebih bagus lagi nih.