Teknik mülakatlar

Herkese merhaba diyerek başlamak istiyorum öncelikle. Uzun zamandır bloguma gereken özeni göstermediğimin farkındayım tabi ki bir sürü şey okuyup teknik şeyler deneyimliyoruz iş hayatında fakat bunlardan çok azını yazıyorum, işin korkunç olan kısmı bu yazım bile 2017’nin ilk yazısı. Neyse artık daha çok yazı yazmaya özen göstereceğim kendime buradan söz vermiş olayım.

Bu yazımda teknik mülakatlar üzerine deneyimlerimi aktarmaya çalışacağım.Yazılımcı olarak belirli dönemler de iş değişikliği veya yeni fırsatları değerlendirme anlamında bir dizi iş görüşmesinde katılıyoruz.Bu iş görüşmelerinin ilk olarak insan kaynakları ile görüşürsünüz.eğitim ve kariyer sürecinizden bahsedip genel bir tanışma havasında geçer bu görüşme. Daha sonra eğer olumlu bir izlenim bırakırsanız teknik insanlarla mülakat sürecine girersiniz.Bu aşamada teknik bilginizi ve analitik düşünme, problem çözme becerinizi ölçmeye yönelik sorular sorulur.

Bu görüşmeler yüz yüze olabileceği gibi skype üzerinden uzaktan bağlantı şeklinde de olabiliyor ve hatta teknik görümeler adayı daha iyi tanımak ve ölçmek için iki adet teknik görüşme isteyebilirler.

Yaklaşık 4.5 senedir profesyonel olarak yazılım geliştirici olarak çalışıyorum.Özellikle .NET teknolojilerinde uzman arkadaşlar için bu teknik mülakatlarda ne gibi sorular sorulduğuna dair bir liste paylaşacağım sizlerle.

  • String ve StringBuilder arasındaki fark nedir ?
  • Access Modifiers nelerdir ? Internal ?
  • Sealed nedir ?
  • Pattern ve Anti-Pattern kavramlarını açıklar mısınız ?
  • Reference-Type ve Value-Type nedir ? String ne tipindedir ?
  • OOP temelleri açıklayabilir misin ?
  • ORM nedir ? Hangilerini kullandın ?
  • Reflection nedir ?
  • Aspect Oriented Programming nadir ?
  • Interface ve Abtract Class arasındaki fark nedir ?
  • Process ve Thread ilişkisini söyler misiniz ? Multi-Thread nedir ?
  • Tek Process li bir CPU da birden fazla Thread oluşturabilir misin ?
  • Thread-Safe nasıl sağlanır ? Thread statusları nelerdir ?
  • Virtual – Override nedir ?
  • Dapper ı diğer ORM kütüphanelerinden ayıran nedir ?
  • WebStorage nedir ?
  • Micro servis nedir ?
  • Stored Procedure ve Function arasındaki farklar nedir ?
  • MVC nedir ? MVC life-cycle ı açıklayabilir misin ?
  • Sistemde bir sayfa çok geç yükleniyor, ilk önce bakacağın şey ne olur ?
  • Post-back ve call-back arasındaki fark nedir ?
  • Linq nedir ? ne işe yarar ?
  • Normalizasyon nedir ?
  • Asp.net MVC de HtmlHelper nedir ? TextBox ve TextBoxFor arasında ne fark var ?
  • RazorEngine nedir ?
  • SOLID prensipleri nedir ? bir kaçını açıklar mısınız ?
  • Tasarım desenleri daha önce hangilerini kullandın ? Bir kaçını açıklayabilir misin ?
  • Singleton ve Static sınıflar arasında ne fark var ?
  • Jquery de == ve === arasındaki fark nedir ?
  • Bir tabloda A.B ve C kolonlarına index tanımladım.Daha sonra tablodan sorgu çekerken where ifadesine sadece A ve B için kriter ekledim. Bu durumda Index çalışır mı ?
  • Index nedir ne işe yarar ? clustered Index nedir ?
  • Rest API nedir ?

Bu tür soruları ikiye ayırabiliriz. Temel yazılım geliştirme soruları; tasarım desenleri, prensipler nesne yönelimli sorular vs. ve teknoloji odaklı sorular; asp.net mvc, razor engine, jquery vs.

Şirketler özellikle yüz yüze olan mülakatlarda genele 10 soruluk bir sınav da yapabiliyor. Burada bazı kod parçalarını vererek hatayı bulmanızı veya kodun çıktısını yorumlamanızı isteyebilirler.

Örneğin ; Aşağıdaki resimde bunun benzeri bi soru göreceksiniz. Her bir mesaj ayrı bir soru olarak düşünün kalıtım ve type dönüşümlerine ait bir soru. kod parçasınınn hata alıp almayacağını hata alırsa runtime-error mü yoksa compile-error mü olacağını soruyor.

Bazı sorular ise problem çözmeye becerinizi ölçmeye dair sorular. Örneğin ;

  • Bir üçgen düşün. bu üçgenin her köşesinde bir karınca var ve hepside aynı hızda yürüyorlar ve hepside üçgenin çizgileri üzerinde yürüyorlar. Bu karıncaların çarpmama olasılığı kaçtır ?
  • Bir yazılımcınız var ve bu yazılımcıya A/G olarak her gün sonunda bir külçe altın veriyorsunuz. Elinizde de 7 külçeli bütün bir altın var.Tabi ki bu külçeler bölünebiliyor. Elinizdeki bu 7 parçalı altını toplamda iki kere bölerek 7 gün boyunca yazılımcının A/G bedelini ödemeniz gerekiyor nasıl yaparsınız ?
  • Sınırsız bir su kaynağınız var. 3 ve 5 litrelik bir su kabınız var. Bir de 4 litrelik bir su kabı var.Elinizdeki 3 ve 5 litrelik kapları kullanarak 4 litrelik kaba su koymanız gerekiyor. Kaplarda kalan sular dökülmeden bunu nasıl yaparsınız ?

Ekte yazılı bir mülakat sorularını bulacaksınız. Technical_Interview_Questions indirebilirsiniz.

Umarım faydalı olmuştur. Görüşmek üzere

Leave a Reply

Your email address will not be published. Required fields are marked *