Daha Vikipedi’de adıma madde olacak kadar meşhur değilim. (Olmasını isterim. Wikipedia’da da İngilizcesi olsun isterim.) Ama Ekşi Sözlük’te adıma madde var. Arada, birileri bir şeyler yazıyor mu diye girip bakarım. Demin de baktım. En son maddeler, iki sene kadar önce, Boğaziçi’ndeki derse epey bir kere gitmemiş olma günahını işlediğim zamandan ve o günahlarımla alakalıydı. Şimdi yeni bir madde gelmiş altına. Uzunca da bir madde. Yazan arkadaşla, bir süre önce, bir yerlerde iş görüşmesi yapmışım yazılımcı olarak. Yazıyı anlatmak saçma; şuraya alacağım (her ne kadar sözlük benim içim dombilidir, taocudur derse desin, bu madde buraya gelecek). Buyrun, okuyun:
hayatımdaki ilk mülakatımda karşıma çıkan adam. neden tercih ettiğimi bilmeden bilgisayar mühendisliği okudum. okurken nefret ettim yazılıma dair her şeyden. pazarlamacı olmak istedim, satışçı olmak istedim, iş geliştirmeci olmak istedim. her yeni mezun gibi, aile eşrafından defalarca “bizim x’in bilmemnesi y’de müdür. ona söyleyelim” laflarını işittim. hepsini reddettim. “arada adam olmadan bi bok beceremeyecek miyim ben ulan” diye zırladım. önemli bir firmanın genel müdürü bir şekilde aracı oldu benim için. alt şirketleri olan bir yazılım firmasında mülakata gidecektim. önce genel müdür amcanın odasına girdim. “ooo hoşgeldin cnmss, sen bizim z’nin yeğenisin değil mi ?” gibi bir karşılama beklerken, ceketsiz ve sakallı olarak mülakata gelmeme yönelik ağır eleştirilerle dolu 2 çift kelam ettik. hayatımın ilk mülakatında ceket giymemek ve kirli sakallı olmak benim ayıbımdı belki ama böyle de insafsız laf sokulmaz ki be adam. daha sonra alın şunu götürün mülakata diye emretti. hello world seviyesindeki yazılım bilgimle ne akla hizmetse girdim mülakata. karşıma yaşar safkan çıktı. sakalım ve ceketsizliğim için özür dileyerek başladım söze. “ya ne gerek var ben hiç takmam öyle şeyleri, çok da yakışmış ayrıca” sözleri ile gevşedim. gözlerinden zeka ve c++ akan bir adamın karşısında, bir an için “abi bokunu yiyim sadece sohbet edelim, beni test etme, zaten bi boktan anladığım yok” demeyi bile düşündüm. birazcık anlattım olan bitenleri. bilgiyi test edelim dedi. hayatımda duyduğum en orjinal 3 soruyu sordu. hiç birinin birebir bilgisayar mühendisliği ile ilgisi olmasa da bir insanın yeterliliğini ölçmek için inanılmaz yerinde sorulardı. götümden ter aka aka cevapladım. yarısından fazlasını salladım, salladığımı anladı, bozmadı. işe alınmadım. zaten alsalardı ayıp olurdu yazılım camiasına. ama o 3 soru ve ardındaki sohbetimiz, iş arayışına bakış açımı değiştirdi. önce mutlu olmak istediğim işe karar verdim, odağımı değiştirdim, ufkumu açtım. erkan oğur‘un “kötü bir fizikçi olmaktansa, iyi bir müzisyen olmak istedim.” sözü gibi geldi bana söyledikleri. çok sevdiğim ve kendimce çok başarılı olduğum başka bir sektöre atıldım ve hep zevk aldım yaptığım işten. google’a “mülakat zor sorular”, “5 yıl sonra kendini nerede görmek istiyorsun sorusuna verilebilecek en iyi cevaplar” diye aratıp da iş arayan insanlar keşke kendisi ile tanışabilseydi diyorum bazen. teşekkürler gözlüklü şirin.
(bkz: bu da böyle bir anımdır)
edit: imla.
İnsan ne diyeceğini şaşırıyor bazen. Anlatacak çok şey var; bir yandan da anlatacak hiç bir şey yok. Çok iş görüşmesi yaptım. Çok defa da, kılığı yüzünden özür dileyen oldu. Çok tanesiyle de sohbet ettik. Bir sürüsüne de, bildiğim kadarıyla sebep-sonuç ilişkilerini, karar alırken nelere bakmaları gerektiğini falan anlattım. Kimsenin kalbini kırmamaya çalıştım; mümkün olduğunca dürüst olmaya, ancak kimseye de kendisini kötü hissettirmemeye çalıştım. İş görüşmesinin, terziye ölçü aldırmak gibi olması gerektiğini düşünüyorum çünkü; göbeğin ölçüsünü alır ve elbiseyi ona göre yapar; ancak kilonuzla ilgili sizi yargılamaz.
İşe alınmayanlardan (bazen alınanlardan da) sonrasında hiç haber alamam. Bazen görüşme esnasında “sorular enteresandı” veya “güzeldi” diyenler olur; ama işte o kadar.
Yani, bu ilk defa oluyor.
Hem, bana “gözlüklü şirin” diyen de ilk defa oluyor :-).
Sanırım, duygularımı en iyi anlatacak şey şu:
Kendimi bir boka yaramış gibi hissediyorum.
Ben de sana teşekkür ederim kapiyiacanveyselefendi. Uğraşıp bunu yazdığın için.
Mufit Sozen der ki
Graham Greene’in bir hikayesinde kahramanin yazar babasinin Napolide bir sokakta yururken, coken bir balkonda beslenen bir domuzun ustune duserek oldugu soylenir.
Hikayenin kahramaninin kisa bir sure sessiz kaldiktan sonra ilk olarak sordugu soru: “Peki, domuza ne oldu?” olur!
Bende soruyorum, mulakatdaki o uc soru neydi? wandering minds want to know! 🙂
Yaşar Safkan der ki
Bunu Twitter’da da soranlar oldu. Yazının başlığında da dediğim gibi, “tam da hatırlamıyorum”.
Tabii, soru Müfit hocamdan gelince, elden geldiği kadar cevaplamak gerekiyor.
İşin aslı şu ki; her görüşmede kullandığım bir soru üçlüsü yok. Daha irice, hepsini hatırlayıp sıralayabilsem yirmiyi az bir miktar aşabilecek bir soru kümesi var. Duruma göre, görüşülecek adayın deneyimine ve bilgisine göre, bunların içinden seçip soruyorum. Kod yazmayı bilen adaylara en az bir kod sorusu sormaya çalışıyorum. Son zamanlarda aktif kod yazmamış ise, algoritmik sorular var. Algoritmik bir soru aşağı-yukarı her durumda oluyor da bir yandan. Matematik merakı ağır basarsa, o zaman biraz daha matematiksel sorular da var. Veri tabanından dem vurursa, veri tabanı tasarımı soruları da var.
Bunların hiçbirine razı edemezsek, bilmece tarzı sorular da var.
Gerçekten iddialı olan insanlar için, açık uçlu sorularım da var.
(Sanırım hepsi birden yirmiyi epey geçiyor, deminki kestirimi çok kestirememişim.)
“Örnek” dersek mesela, sorunun birini helak edelim hemen:
99 elemanlı bir array var elimizde. İçinde 1’den 100’e kadar sayılar var; tekrar yok ve sayılar sıralı değil.
Doğal olarak bir tanesi eksik kalır. Öyle bir fonksiyon yazalım ki, bu eksik elemanı dönsün.
Bu durumda, sorunun kendisinden çok nasıl sorulduğu ve ilerletildiği önemli. Mesela, ilk beklenen cevap, iki tane iç içe “for döngüsü” yazıp, her bir sayının array’in içinde olup olmadığını kontrol etmek. Bu yavaş bir çözüm. İyi bir aday, bunu düşünecek ama özel olarak istenmedikçe söylemeyecektir; söylerse de “bu kötü bir çözüm ama…” diye söyleyecektir.
Bundan sonra, bir düşünce alır insanları. Burada düşünmeye izin vermek gerekir. Olası önerilerden biri, ikinci bir array yaratıp, orada “olan-olmayan” çetelesi tutmaktır. Böylece O(n) zamanda bir çözüm yapılabilir. Ancak, O(n) de RAM kullanmış oluyoruz. Bu öneri gelirse, kopya almadan iyi bir çözüm olup olmadığını sorarız.
İyi bir aday, sıralamayı düşünecektir. Eğer bu makul bir süre içinde gelmezse, “sıralı olsa ne yapardık” diye (güçlü) bir ipucu verilebilir. Ortalama ve üstü adaylar, teker teker ilerleyip, atlama olan yerde çözüme ulaşılacağını söyleyebilirler. Gerçekten güçlü adaylar ise, index’inden bir fazla olmayan elemanı bulana kadar gitmek gerektiğini söyleyeceklerdir.
Bu noktada, sıralamayı nasıl yapacağını sorabiliriz. Ortalama altı adaylar, “X dilinin sıralama fonksiyonu kullanırım”a sığınacaklardır. Bilgisi sınırlı adaylar muhtemelen “bubble sort” der. Güçlü adaylar ise, sırlama algoritmalarını ve bunların çalışma sürelerini bileceklerdir; hatta en bilgili arkadaşlarla Quicksort ne zaman kötüdür falan da tartışılabilir.
Son adımda, şuraya gelinebilir: Her elemana bir ve yalnız bir kere bakarak, eksik elemanı bulmak mümkün müdür?
Bu, aslında düşüncede sıçrama gerektiren bir adımdır. En iyi adaylar bile bunu ıskalayabilir.
Birinci ipucu olarak, bu soruyu muhasebecilerin çok kolay bir şekilde cevaplayabildiği söylenebilir.
Sonuç vermezse, son ipucu şudur: “Birden yüze kadar sayıların toplamı kaçtır?”
İşin gerçeği şu ki, birden yüze kadar sayıların toplamı, 5050 eder. Array’deki tüm sayıları toplayıp, 5050’den çıkarmak, istenen sonucu sıralama yapmadan, RAM kullanmadan O(n) zamanda yapmanın en kral yoludur.
Muhasebecilerin hayatı yekûn alıp, mizan tutturmakla geçtiği için akıllarına hemen bu gelir. Bilgisayarcı ise, array’deki elemanları sayı olarak değil de, obje olarak düşündüğünden hayatı zorlaşır.
Gerçekten yaptığı işten keyif alan adaylar, bu son çözümden keyif alırlar. Kendileri akıl edemeseler bile, hoşlarına gidecektir.
Örnek soru da bu. Sorduğum sorulardan biri bu değilse, benzer bir şeyler sormuşumdur.