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.