.NET dünya genelinde yazılmı yapı çerçeveleri içinde çok tanınan ve iyi bilinen bir tanesidir. Gün geçtikçe daha da fazla program .NET kullanmakta. Popülerliği arttıkça programcılar günlük işleri için .NET’i daha fazla kullanmaya başladılar. .NET dersleri gün geçtikçe popülerleşmekte. Şirketler .NET kullanan insanları işe almaya başladı. .NET hem uygulama hem de web geliştiricilikte işe yarayan bir şey. Eğer böyle bir işe baş vurmak istiyorsanız bu .NET mülakat soruları rehberini bir inceleyin. Yapacağınız iş görüşmesinde sizin için çok faydalı olacaktır.
.NET’in ne olduğundan ve ne için kullanıldığından bahsedeceğiz. .NET framework ne işe yarar aydınlatmaya çalışacağım. Ayrıca neden insanların bunu kullanmayı seçtiğini ve benzeri konuları ele alacağız. Öncelikle temelleri ele alacağız. Ondan sonra da daha gelişmiş .NET mülakat soruları ve cevaplarına geçeceğiz.
Giriş
Bazı temel .NET mülakat soruları ile başlayacağız. Yazılım mülakat soruları genellikle tanım-temelli sorular ve genel bir iş görüşmesinde beklemeniz gereken şeyler.
Bu noktadan sonra da daha ileri seviye .NET yazılım mülakat soruları konusuna geçeceğiz. .NET en zor yapı çerçevesi teknolojilerinden biri olarak kabul edildiği için bu tür ileri seviye konuları yeniden gözden geçirmek iyi bir seçenek olacaktır. Temelleri de unutmamalısınız tabii ki!
İçindekiler
- 1. Soru 1: .NET Nedir?
- 2. Soru 2: .NET Kaç Tane Dili Destekler?
- 3. Soru 3: ViewState içindeki nesnelerin devamlılık süresi nedir?
- 4. Soru 4: ‘CTS’ Nedir?
- 5. Soru 5: ‘Enkapsülasyon’u tanımlayın
- 6. Soru 6: ‘Sınıf’ ve ‘Nesne’ arasındaki fark nedir?
- 7. Soru 7: ‘Debug’ ve ‘trace’ arasında bir fark var mıdır?
- 8. Soru 8: ‘In-process’ ve ‘out-of-process’ arasındaki fark nedir?
- 9. Soru 9: MSIL Nedir?
- 10. Soru 10: ‘Kalıtım’ nedir?
- 11. Soru 11: ‘Yönetilen kod’ ve ‘yönetilmeyen kod” arasındaki fark nedir?
- 12. Soru 12: ‘int’ ve ‘System.Int32’ arasında bir fark var mıdır?
- 13. Soru 13: ‘Önbellek’ nedir?
- 14. Soru 14: ‘Montaj’ nedir?
- 15. Soru 15: .NET bir OOP ağ mıdır yoksa AOP ağ mı?
- 16. Soru 1: ‘Session out’ sayacını manuel olarak kurmak mümkün müdür?
- 17. Soru 2: ‘App_Code’ dosyasındaki farklı dilleri birbirine karıştırabilir misiniz?
- 18. Soru 3: Bir “.dll” dosyası nedir?
- 19. Soru 4: ‘Stack’ ve ‘queue’ arasında fark var mıdır?
- 20. Soru 5: ‘Boxing’ nedir?
- 21. Soru 6: Ana anahtarın göstergesi değiştirilebilir ya da üzerinde oynama yapılabilir mi?
- 22. Soru 7: Bir web sayfasındaki veriyi nasıl onaylayabilirsiniz?
- 23. Soru 8: ‘Fonksiyonlar’ ve ‘depolanan prosedürler’ arasındaki temel farklılıklar nelerdir?
- 24. Soru 9: LINQ nedir?
- 25. Soru 10: ‘Stack’ler ve ‘heap’ler arasında bir fark var mıdır?
- 26. Soru 11: ‘Değişken’ ve ‘değişmez’ tabirlerini tanımlayın.
- 27. Soru 12: Garbage Collector nedir?
- 28. Soru 13: Bir arayüzde erişim tanımlayıcıyı belirtebilir misiniz?
- 29. Soru 14: ‘Tuple’ nedir?
- 30. Soru 15: .NET içinde kaç tane işaret vardır?
Soru 1: .NET Nedir?
Potansiyel işverenleriniz şöyle bir şeyler diyebilir:
Şu Anda Etkin Olan Güncel Teklifler:
SAVE 50%
DataCamp End of Year Sale
Unlock a year of unlimited data and AI learning at half the price! This is your final call to save big on expertise for 2025. Act fast and secure your 50% discount with DataCamp's End of Year Sale – the clock is ticking!
Diyelim ki .NET hakkında hiçbir şey bilmediğimi farzedin. Bana .NET’in ne olduğunu, açılımının ne olduğu vs. açıklayın lütfen.
Burada basitçe mülakatı gerçekleştiren kişi konuyu sizin kendi kelimelerinizi kullanarak .NET framework ne işe yarar anlatmanızı istiyor. Sizlere çok daha basit, konuya doğrudan giriş yapan tanımlar vereyim. Bu şekilde fikri aklınızda tutabilir ve cevabınızı ona göre formüle edebilirsiniz.
“.NET”’in hiçbir açılımı yoktur (yani hiçbir şeyin kısaltılmışı değil). Terimin tam açılımı ise “Microsoft .NET” olarak ele alınmalıdır, çünkü bu yapı çerçevesinin oluşturucusu Microsoft’tur.
Öyleyse nedir?
Basitçe açıklamak gerekirse, .NET, bir yazılım ve web geliştirme yapı çerçevesidir. Bu iş için kullanılan iyi ve güvenilir bir yapı çerçevesi olarak görülür. Aynı zamanda da oldukça dik bir öğrenme eğrisi vardır. Çoğu insan .NET’i “diller arası işlevselliği” yüzünden sever. Bu da .NET içindeki herhangi bir dil başka bir dilde yazılmış olan kodu kullanabilir demektir.
Geliştiricilerin .NET’i takdir etmesinin bir diğer noktası da büyük bir önkurulmuş fonksiyonlar ve şablonlar barındırmasıdır.
Soru 2: .NET Kaç Tane Dili Destekler?
Bu rehberin yazılması itibariyle .NET 44 farklı dili destekliyor.
Soru 3: ViewState içindeki nesnelerin devamlılık süresi nedir?
ViewState içindeki öğeler içinde bulundukları sayfa yok edilene kadar kalırlar.
Soru 4: ‘CTS’ Nedir?
CTS, Common-Type System (Ortak Tür Sistemi) tabirinin kısaltılmışıdır. Basitçe, sistemde kullanılan verilerin türünü belirler.
CTS ile ilgili olan .NET mülakat soruları dikkat gerektirir. .NET iş mülakatı sorularına geldiği zaman oldukça önemlidirler.
Soru 5: ‘Enkapsülasyon’u tanımlayın
Enkapsülasyon farklı metotlar ve verilerin bir proje içinde yer alan farklı fonksiyonlarına denilir. Bu da programın içindeki nesnenin kendi fonksiyonlarını rahatlıkla gerçekleştirip hatasızca çalışması içindir.
Soru 6: ‘Sınıf’ ve ‘Nesne’ arasındaki fark nedir?
Bir diğer .NET tanımlama mülakat sorularından biri. Eğer programlama dilleriyle aranız iyiyse kolayca cevapayacağınız bir soru.
Basitçe açıklamak gerekirse, bir “nesne”, “sınıf” içinde olan veya gerçekleşen bir şeydir. Sınıflar nesnenin neye benzediğini belirler, nasıl davrandıklarını ve ne tür özelliklere sahip olduğunu belirlerler. Karşılığındaysa benzer nesneler bu sınıfları oluşturur.
Soru 7: ‘Debug’ ve ‘trace’ arasında bir fark var mıdır?
Evet. Trace sınıfı debug ve belli sürümlerin yayınlanması için kullanılır. Debug ise -evet doğru bildiniz- yalnızca debug etmek amacıyla kullanılır.
Bu biraz yanıltıcı bir .NET sorusu sınıfına sokulabilir, çünkü Trace’in ek fonksiyonunu bir mülakat sırasında unutmak çok mümkündür.
Soru 8: ‘In-process’ ve ‘out-of-process’ arasındaki fark nedir?
Bunların her ikisi de oturum bellek yönetimiyle ilgilidir. In-process bir web sunucusunun geliştirilme sürecindeki bütün veriyi depolar. Buna karşılık out-of-process ise aynı veriyi harici bir bellek yönetim alanında depolar. Bu tür bir harici bellek depolama alanlarından birine SQL örnek verilebilir.
Soru 9: MSIL Nedir?
MSIL, Microsoft Intermediate Language (Microsoft İleri Seviye Dil) anlamına gelir. Belli belirtici değerleri, bellek depolamayı ve diğer benzeri ileri seviye görevleri yerine getirmek için kullanılır. .NET içindeki her bir kod öncelikle MSIL’dan geçmelidir.
Soru 10: ‘Kalıtım’ nedir?
Her ne kadar ana .NET mülakat soruları içinden biri olmasa da sık sık sorulan bir sorudur çünkü .NET ile alakası var.
Kalıtım alt sınıflardan birinin özellikleri ve parametreleri daha büyük olan bir diğerine geçtiği zaman denilir. Bu daha büyük sınıf diğer küçük olana “kaynak” olur.
Ayrıca bu daha iyi .NET yapı çerçevesi mülakat sorularından biridir. Genişletilebilir. .NET yalnızca tek bir kalıtımı destekler. Bu da küçük, alt bir sınıfın ancak bir tane büyük sınıftan kalıtım alabileceği anlamına gelir.
Soru 11: ‘Yönetilen kod’ ve ‘yönetilmeyen kod” arasındaki fark nedir?
Yönetilen kod bir şekilde .NET içinde oluşuturulmuş ve derlenmiş olan koda denilir. Buna karşılık olarak yönetilmeyen kod da farklı yazılım için kullanılan yapı çerçevelerinden gelen koddur. Diğer yapı çerçevesinin bütün özelliklerini ve ayarlarını beraberinde getirir.
Soru 12: ‘int’ ve ‘System.Int32’ arasında bir fark var mıdır?
.NET geliştirme mülakat soruları hakkındaki ufak numarayı açıkladığım bölümü hatırlıyor musunz? İşte bu onlardan biri.
“Int” ve “System.Int32” arasında bir fark yoktur. “Int” basitçe aynı adın kısaltılmışıdır.
Soru 13: ‘Önbellek’ nedir?
Daha önceki programlama tecrübelerinizden tanıdık gelecek olan bir diğer tabir daha ‘önbellek’tir. .NET mülakat soruları içinde sık sık kullanılan bir tanesidir.
Önbellekleme en çok kullandığınız dosyaları ve verileri farklı bir bellekte depolama olayına denilir. Bu farklı alana -önbelleğe- hedeflediğiniz dosyaların hepsine erişim sağlayabilirsiniz. Önbellekleme geliştiricileri çok fazla zamandan tasarruf ettirir ve bellek yönetimlerini arttırır.
Soru 14: ‘Montaj’ nedir?
Bir montaj .NET kullanılarak oluşturulan bütün web sayfalarının ve programların araçlarının depolandığı yere denilir. Bir geliştiricinin bireysel ya da paylaşılan olarak iki farklı montajı olabilir.
Soru 15: .NET bir OOP ağ mıdır yoksa AOP ağ mı?
OOP Object-Oriented Programming (Nesne Yönelimli Programlama) anlamına gelir. AOP ise Aspect-Oriented Programming (Cephe Yönelimli Programlama) anlamına gelir. Peki .NET bunlardan hangisini kullanıyor?
Bunun cevabı aslında önceki .NET mülakat soruları içerisinde saklıydı. .NET tamamen OOP bir yapı çerçevesidir. Daha önce bahsi geçen enkapsülasyon ve kalıtım gibi kavramlar nesne temelli programlama yapı çerçevesinin anahtar özelliklerindendir.
.NET mülakat soruları arasından bu da ilginç olanlardan bir tanesi olsa gerek. Gene de cevap oldukça bariz, özellikle de OOP ve AOP arasındaki farkı biliyorsanız.
.NET Mülakat Soruları - İleri Seviye
Artık bazı temel mülakat sorularını ele aldığımıza göre, artık daha ileri seviye konulara geçiş yapabiliriz. Kendinizi .NET dersleri almış gibi hissedebilirsiniz.
Unutmayın ki “ileri seviye” kelimesi bu sorulara cevap vermek için yirmi yıllık bir .NET fedaisi olmuş olmanız gerektiği anlamına gelmiyor. Bunun anlamı yalnızca .NET hakkında bilgi sahibi olduğunuz değil, kullanmayı da bildiğinizi göstermesidir.
Soru 1: ‘Session out’ sayacını manuel olarak kurmak mümkün müdür?
Evet, mümkün. Aslında bu ardından gelen bir ikincil soru olan .NET mülakat sorularından biridir. İşvereniniz büyük ihtimalle tek kelimelik bir cevapla yetinmeyecektir.
Genellikle mantıklı olan takip eden soru “Nasıl?” sorusu olacaktır. Bunu yapmanızın yolu da web.config’e erişmekten geçer.
Soru 2: ‘App_Code’ dosyasındaki farklı dilleri birbirine karıştırabilir misiniz?
Hayır. Üzerinde çalıştığınız dosyanın tek bir tane, spesifik kodu olmalıdır. Kodlama dillerini birbirlerine karıştıramazsınız
Soru 3: Bir “.dll” dosyası nedir?
En sevdiğiniz oyunu oynarken birdenbire onu modlama fikri aklınıza geldiğinde ve modladıktan sonra bir sürü “DLL” dosyasının kayıp olduğunu fark ettiğinizde nasıl bir his olduğunu çok iyi biliyoruz değil mi?
DLL dosyaları doğrudan gözden saklanması gereken dosyalara denilir. Aslında bu tabirin kısaltması olduğu şey doğrudan “Dynamik Link Library” yani Dinamik Link Kütüphanesi’dir. Bu kütüphaneler muazzamdır ve devasa miktarda komutla dosya barındırırlar. DLL’ler aynı zamanda diğer programlar ve uygulamalar arasında da paylaşılabilirler.
Soru 4: ‘Stack’ ve ‘queue’ arasında fark var mıdır?
Evet. Bunun çok kısa ve net bir açıklaması stack’lerin LIFO olduklarını söylemek olur. Queue’ler ise FIFO’dur.
LIFO, “Son gelen ilk çıkar” anlamına gelir. Stack’ler değer türlerini “yukarıdan aşağıya” doğru bir hiyerarşiyle işleme alırlar. Öte yandan FIFO ise “İlk gelen ilk çıkar” demektir. Queue’ler bu prensibi izler ve yukarıdaki öğeleri silerken yenilerini aşağıdan eklerler.
Soru 5: ‘Boxing’ nedir?
Boxing nesneleri belli değer türleriyle oluşturma işlemine denilir. Bu süreçler üstü kapalıdır.
.NET mülakat soruları içinden bu da arkasından başka bir soru gelecek olan soru türlerinden birisi. Tek mantıklı takip eden soru “O halde unboxing ne demek?” olacaktır. Ancak bu da, doğrusunu söylemek gerekirse, oldukça basit bir cevaba sahip. Unboxing, boxing’in zıttıdır.
Soru 6: Ana anahtarın göstergesi değiştirilebilir ya da üzerinde oynama yapılabilir mi?
Hayır. Bu kadar basit.
Soru 7: Bir web sayfasındaki veriyi nasıl onaylayabilirsiniz?
Her ne kadar bir fikir soran .NET mülakat soruları içinden birisiymiş gibi gelse de, aslında öyle değil. Neden mi? Eh, temel olarak böyle bir veriyi onaylamanın “en iyi yolu” var da ondan.
İstemci-taraflı onaylama web sayfanızdaki veriyi onaylamanın en iyi yollarından kabul edilir. Bunun temel sebebi ise bunu gerçekleştirmek için hiçbir kaynağı harcamanıza gerek olmaması. Web sayfanıza gelen kullanıcıların kendilerinin halletmeleri gereken bir işlem.
Soru 8: ‘Fonksiyonlar’ ve ‘depolanan prosedürler’ arasındaki temel farklılıklar nelerdir?
Her ne kadar bu iki özellik arasında birden fazla farklılık olsa da, en çok göze çarpanı özelliklerin farklı görevleri yerine getirirken depolanan prosedürlerin tek bir spesifik görevi yerine getirmesi olarak açıklanabilir.
Soru 9: LINQ nedir?
LINQ bir Language Integrated Query, yani Entegre Dil Sorgusu’dur. Microsoft’un kendi üretimi olan spesifik bir sentakstır. LINQ, C# programlama dili tabanlıdır ve diğer kodlama dillerinin kütüphanelerine de uygulanabilir.
Soru 10: ‘Stack’ler ve ‘heap’ler arasında bir fark var mıdır?
Evet - stack’ler veri türleridir, heap’ler ise referans türleridir.
Soru 11: ‘Değişken’ ve ‘değişmez’ tabirlerini tanımlayın.
Bir değişken bilgisayar üzerinde bir verinin depolandığı yerdir. Her değişkenin verilmiş bir veri türü vardır. Değişkenler kendilerine özel bir isim alabilirler.
Değişmezler ise neredeyse değişkenlerle aynı şeydir. Tek fark onlara kesin değerler atanmış olmasıdır ve bunlar üzerinde oynama yapılmaz.
Bir değişmeze örnek vermek gerekirse:
Const int interestRate =73
Bu sizin bazı kodlama bilginizi uygulamayla ortaya koymanızın istenebileceği .NET mülakat soruları içinden biridir, o yüzden yeteneklerinizi geliştirmeyi unutmayın!
Soru 12: Garbage Collector nedir?
Garbage collector’lar, .NET içindeki özel araçlardır. Kullanılmayan alanları açarlar ve yapı çerçevesinin daha hızlı çalışıp işlemesini sağlarlar.
Bu araç şu komutla birlikte açılabilir: System.GC.Collect()
Soru 13: Bir arayüzde erişim tanımlayıcıyı belirtebilir misiniz?
Bu sorunun nesne erişim tanımlıyıcıları ima ettiğini varsayarsak - hayır, yapamazsınız. Neden? Basitçe açıklamak gerekirse, arayüz her zaman ortada olan bir şeydir.
Soru 14: ‘Tuple’ nedir?
Tuple’ler, aynı ya da farklı veri türlerinin biriktirilmesidir. Tuple boyutları her zaman belirlidir (1-8) - geliştirici istediği boyutu “declaration” anında belirtmelidir.
Biliyor Muydunuz?
Kariyeriniz için hangi online eğitim platformunun daha iyi olduğunu merak etmiş miydiniz?
Soru 15: .NET içinde kaç tane işaret vardır?
İki tür işaretleme vardır - clustered işaretçiler ve non-clustered işaretçiler.
Özet
Bu rehberde bazı temel ve ileri seviye .NET mülakat soruları konusunu ele aldık ve cevaplandırdık. .NET’in genel olarak ne olduğunu ve açılımının ne anlama geldiğini belirttik. Son olarak da daha popüler .NET geliştirme mülakat sorularını ele aldık. Ş görüşemeleri ve mülakatlar alanında .NET dersleri almış kadar oldunuz.
İş görüşmeniz için hazırlık yaparken her zaman farklı sorular bulmayı deneyebilirsiniz. Zaman geçtikçe siz de bu soruların genel olarak kulağa aynı geldiğini göreceksiniz… ya da hatta, belki de daha kolaylaştıklarını..?
Bunun sebebi aradaki şablonları görebilmeniz ve beyninizin bu türden bilgileri daha kolay ezberleyebilmesidir. Yazılım mülakat soruları aşağı yukarı benzer şablonları izler. Bir kez teorik becerileriniz konusunda kendinize güven kazandınız mı, artık iş olayı uygulamaya dökmeye gelmiş demektir. Bütün teorik bilginizi uygulamalı kodlamaya dökmelisiniz.
Sonuçlar
Eh, artık bu .NET geliştiriciler mülakat sorularının sonuna geldik. .NET framework ne işe yarar kapsamlıca ele aldık. Cevapları verdik ve rehberimizi sunduk. Umarım yeni bir şey öğrenmişsinizdir ve .NET yazılım (ya da web sayfası!) geliştirici pozisyonu için olan o mesleği kaparsınız! Bol şans!