Tag Archives: iş görüşmesi

Yazılım Görüşmelerine Hazırlanabileceğiniz GitHub Sayfaları

Microsoft, Facebook, Google, Amazon, Netflix ve Adobe gibi, birçok yazılımcının hayalini kurduğu şirketlerdeki iş görüşmelerine nasıl hazırlanabilirsiniz? Github‘ta bu iş görüşmelerine hazırlanabileceğiniz sayfaları derlemeye çalıştım bu videoda.

Github sayfaları:

► Tech Interview Handbook: https://yangshun.github.io/tech-interview-handbook/

Benim favori sayfam olabilir burası. İçerisinde özgeçmiş nasıl oluşturulur, ön yazı nasıl oluşturulur, iş görüşmesi formatları, kendini tanıtma, görüşme sonrası “müzakere” kısmı ve temel algoritmalar ile ilgili kısımlar var. Teknik kısımdan ziyade, görüşme öncesi ve görüşme sırasında verdiği bilgiler gayet kullanışlı. Kesinlikle okumanızı tavsiye ederim.

► Coding Interview University: https://github.com/jwasham/coding-interview-university

Burası John Washam adlı bir programcının, Google’da iş görüşmesine hazırlanma süreci amacıyla oluşturulmuş (ki kendisi şu anda Amazon’da çalışıyor), daha sonra inanılmaz büyük bir kaynak haline dönüşmüş. İçerisinde her şey var, veri yapıları, algoritmalar, dinamik programlama, nesneye yönelik programlama, tasarım desenleri, vb. birçok farklı yapı ile ilgili bilgilendirmeler var. Bunlara ek olarak, iş görüşmesi öncesi hazırlıklar, günlük çalışma planı oluşturma, kitap ve dış kaynak tavsiyeleri gibi bölümler de mevcut. Gerçekten Github içerisinde, bu konu ile ilgili en büyük kaynak olabilir.

► The System Design Primer: https://github.com/donnemartin/system-design-primer

Belirli veri yapıları ve algoritmalar yerine, daha büyük, ölçeklenebilir sistemler nasıl tasarlanır? şeklinde bilgiler öğrenebileceğiniz bir sayfa. Sayfanın Türkçe kısmı da hali hazırda geliştiriliyor gördüğüm kadarıyla. Özellikle “Sistem Tasarımı” görüşmelerine hazırlanabilirsiniz bu sayfayı çalışarak. Örneğin; Twitter ve Instagram gibi sistemleri nasıl tasarlayabilirisiniz? Bu tarz sorular aslında en çok sorulardan biri. Bunlar için özellikle Grokking the System Design Interview kısmına da göz atabilirsin, bu da çok değerleri bir kaynaktır.

► Interview: https://github.com/Olshansk/interview

Bu sayfada genellikle dış linklere bağlantılar şeklinde bir listeleme mevcut. Algoritmalar, kod pratikleri yapabileceğiniz siteler, guide tarzı sayfalara olan linkler, kurslar, ücretsiz iş görüşmesi deneyimi yaşayabileceğiniz siteler vb. bir çok kaynak mevcut.

► How to Secure Anything: https://github.com/veeral-patel/how-to-secure-anything

Sadece bilgisayar güvenliği ile ilgili değil, “güvenlik” kavramına çok daha derin bir bakış açısı kazanmanızı sağlıyor. İçerisinde, güvenlik mühendisliğini nedir, en iyi pratikler, security policies, güvenlik modelleri, açık bulma, authentication ve authorization kavramları gibi bir çok konu ile ilgili bilgi mevcut.

► How Web Works: https://github.com/vasanthk/how-web-works

Bu sayfada web kavramının nasıl çalıştığını çok iyi şekilde öğrenebilirsiniz. Bilgisayar kullanan herkesin günlük hayatta yaptığı, ama arka tarafta nasıl çalıştığını bilmedikleri kısımlardan bahsediyor. Örneğin Google’da bir g harfine bastığınızda veya klavyede bir url girdikten sonra enter tuşuna basınca ne oluyor gibi bilgilere ulaşabilirsiniz. Ek olarak http protokolü, dns, tls, dom tree gibi kavramlardan da bahsediyor.

► JavaScript Algorithms and Data Structures: https://github.com/trekhleb/javascript-algorithms

Bu sayfadaki örnekler Javascript dili ile geliştirilmiş. Tüm algoritmalar ve veri yapıları bu şekilde. Güzel yanı olarak Türkçe kısmı da var. Ayrıca algoritmalar ve veri yapıları da, kolay ve zor olarak işaretlenmiş. En sevdiğim kısım ise, çok sade bir anlatımı olduğu için, buradaki algoritma ve veri yapıları sizin kullandığınız programlama dili üzerinde kolayca uygulayabilmeniz.

Eğer sizlerin de bildiğiniz, bu tarz Github sayfaları varsa yorumlar kısmına bırakabilirsiniz.

İş Görüşmelerinde Kendinizi Nasıl Tanıtmalısınız?

Arada sırada yeni insanlarla tanıştığımız ve kendimizi tanıtmak zorunda kaldığımız için çoğumuz kendimizi tanıtmaya yabancı değiliz. Bununla birlikte, iş görüşmelerinde kendini tanıtmak gerçek hayattan biraz farklıdır, bu yüzden bunu kendi avantajımıza çevirmemiz gerekiyor bence.

Görüşmelerde bildiğim kadarıyla şu sorular çok soruluyor;

✔️ Bana programcı geçmişinden bahseder misin?

✔️ Kodlamaya nasıl ilgi duydun ve mobil geliştirme neden senin için uygun oldu?

✔️ Bu bizim şirket hedeflerimize nasıl uygun olur?

Burada kullanacağımız yöntem “Elevator pitch” olmalı. https://en.wikipedia.org/wiki/Elevator_pitch

➡️ Elevator pitch nedir peki?

Bu kavram, bu bir gazetecinin bir editöre fikir sunması için asansördeki 30 saniyesini nasıl en iyi şekilde kullanacağına dayanır. Bu kavrama göre;

✔️ Kısa – Sınırlı zamanınız var!

✔️ Doğrudan – Sınırlı süreniz olduğundan, direkt konuya gelmelisiniz.

✔️ Dikkat çekme – En çekici fikirlerini sunma

İster onlarca başka adayla bir iş görüşmesinde ve zamanınız kısıtlı olsun, ya da potansiyel bir müşteriye kim olduğunuzu açıklıyor olun, bilgi ve becerilerinizi hızlı ve net bir şekilde açıklayabilmeniz sizin için harika bir özelliktir.

➡️ Format nasıl olmalı peki?

✔️ Mevcut veya en son görevinizle ilgili bir cümle.

✔️ Geçmişiniz hakkında birkaç cümle. Neye odaklandın bu süreçte?

✔️ Nerede çalıştın? Hangi projelerle uğraştın? Tipik zorluklar ve görevler nelerdi? Hangi teknolojileri kullandın?

✔️ Neden yeni bir iş fırsatı aradığınızı ve başvurduğunuz pozisyonla neden ilgilendiğinizi belirten bir açıklama ile bitirin.

ÖRNEK BİR KENDİNİ TANITMA

Merhaba, ben Soner, İstanbul Üniversitesi Bilgisayar Mühendisliği bölümünden 2011 yılında mezun oldum. İlgi alanlarım backend yazılım geliştiriciliği ve iyi kullanıcı deneyimi ve performanslı ürünler geliştirmek.

İlk olarak Scania Turkey bünyesinde, finans raporlamaları üreten uygulamalar üzerine çalıştım. Ardından Akbank’ta önce açık sistemler veri saklama ve veri yedekleme üzerine, ardından izleme sistemlerinde monitoring uygulamaları geliştirdim. Şu anda mobil ekibinde, bankanın kampanya bazlı uygulaması olan Axess Mobil’in backend geliştiricilerinden biriyim.

Şirketinizdeki X pozisyonu ile ilgilieniyorum çünkü hali hazırda bu teknolojileri kullanıyorum ve şirketinizin açık kaynak kod kültürünü destekliyorum.

Birkaç ufak not;

➡️ En sevdiğiniz ve/veya en etkileyici projelerden, bazı önemli noktaları anlatın ve etkileyiciyse “sayıları” veya üstesinden geldiğiniz zorlukları dahil edin.

➡️ Ve son olarak, konuşmanız için pratik yapmalısınız! Becerilerinizin harika ve kısa bir özetine sahip olmak bu konuda çok önemlidir. Hızlı ama takip etmesi kolay bir hızda pratik yapmalısınız.