Web Programlama-2 2024-2025 Final Soruları
Web Programlama-2 2024-2025 Final Soruları
#1. Bir Asp.Net Core MVC uygulamasında model doğrulamanın sunucu tarafında gerçekleşmesi için aşağıdaki hangi nesneye ait özellik true (doğru) olmalıdır?
Cevap : A) ModelState.IsValid
Açıklama : Sunucu tarafında modelin kurallara (Data Annotations) uyup uymadığını kontrol etmek için Controller içerisinde ModelState.IsValid özelliği kontrol edilir. Eğer true ise veriler geçerlidir.
var context = new KitapContext()
context.Add(new Kitap() { KitapAd = “Budala”, Yazar = “Dostoyevsky” });
context.SaveChanges();
#2. Yukarıdaki kod çalıştırıldığında veri tabanında aşağıdaki işlemlerden hangisi gerçekleşir?
Cevap : C) Insert
Açıklama : Entity Framework Core’da context.Add() metodu yeni bir kaydı veritabanına eklemek üzere işaretler. SaveChanges() çağrıldığında bu işlem SQL’deki INSERT komutuna dönüştürülerek veritabanına ekleme yapılır.
public IActionResult Index() {
new int[6] sayilar = { 0, 1, 2, 3, 4, 5 };
var sonuc = sayilar.FirstOrDefault(x => x % 3 == 0);
return Content(sonuc.ToString());
}
#3. Yukarıda yer alan Index() action metodu çağrıldığında ekrana hangi sayı basılır?
Cevap : A) 0
Açıklama : Kodda x yüzde 3 == 0 şartını sağlayan ilk eleman aranmaktadır. Dizinin ilk elemanı olan 0, 3’e tam bölünür (kalan 0’dır). FirstOrDefault metodu şartı sağlayan ilk değeri döndürdüğü için cevap 0’dır. (3 de bölünür ama ilk sırada 0 vardır).
#4. Sunucu taraflı Web frameworkler (çerçeveleri) ile ilgili olarak aşağıdaki seçeneklerden hangisi yanlıştır?
Cevap : A) Web frameworkler olmadan web programlama gerçekleştirilemez.
Açıklama : Web frameworkler (ASP.NET Core, Django vb.) geliştirme sürecini hızlandırır ve standartlaştırır ancak zorunlu değildirler. Saf (native) kod yazılarak da web programlama yapılabilir; bu nedenle A şıkkı yanlıştır.
#5. Bir Asp.Net Core MVC uygulamasında migration oluşturduktan sonra migration işlemini yürütmek (veritabanına uygulamak) için Package Manager Console Ekranı’nda aşağıdaki hangi komut çalıştırılmalıdır?
Cevap : C) Update-Database
Açıklama : Migration oluşturmak için Add-Migration kullanılırken, oluşturulan bu migration dosyalarını veritabanına fiziksel olarak yansıtmak/uygulamak için Update-Database komutu kullanılır.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#6. Asp.Net Core MVC’de SQL Server veri tabanı yönetim sisteminin EF Core ile birlikte kullanılacağı varsayıldığında, proje oluşturulduktan sonra projeye SQL Server’a ait aşağıdaki hangi veri sağlayıcısı eklenmelidir?
Cevap : A) Microsoft.EntityFrameworkCore.SqlServer
Açıklama : Entity Framework Core ile SQL Server kullanabilmek için Microsoft tarafından sağlanan resmi NuGet paketi Microsoft.EntityFrameworkCore.SqlServer’dır. InMemory testi için, diğerleri ise geçerli olmayan veya eski isimlendirmelerdir.
#7. Bir Model sınıfı tanımlanmak istendiğinde bu sınıfın uzantısı aşağıdakilerden hangisi olabilir?
Cevap : D) .cs
Açıklama : ASP.NET Core uygulamaları C# dili ile yazılır. Model sınıfları da normal C# sınıfları olduğu için dosya uzantıları .cs (CSharp) olur.
var sonuc = from x in Personel
where x.PersonelNo > 10
select x;
#8. Yukarıda yer alan kod bloğu Asp.Net Core uygulamalarında hangi sözdizimi yapısına uygundur?
Cevap : D) LINQ-Query syntax
Açıklama : LINQ (Language Integrated Query) sorguları iki şekilde yazılabilir. SQL benzeri from … where … select yapısı Query Syntax (Sorgu Sözdizimi) olarak adlandırılır. Metot zincirleme (Personel.Where(…)) yapısı ise Method Syntax’tır.
public class Personel {
public int PerNo { get; set; }
public string PerBirim { get; set; }
}
#9. Yukarıdaki sınıf form elemanlarına model bağlama ile bağlanmak istendiğinde form nasıl tanımlanabilir?
Cevap : C)
Açıklama :
[Range(5, 10)]
public int Deger { get; set; }
#10. Bir Asp.Net Core MVC uygulamasında bir model içerisinde yukarıdaki gibi tanımlı [Range(5, 10)] özniteliği ile Deger özelliği için nasıl bir kısıtlama sağlanmış olur?
Cevap : E) Değer özelliğinin [5,10] arasında değerler alabilmesi sağlanır.
Açıklama : [Range(min, max)] özniteliği, sayısal bir alanın alabileceği değer aralığını belirler. Karakter uzunluğu için [StringLength] kullanılır. Bu durumda girilen sayısal değerin 5 ile 10 arasında (sınırlar dahil) olması gerekir.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#11. Asp.Net Core uygulamalarında modele ait özellik değerinin mail adresine uygunluğunu denetleyen öznitelik aşağıdakilerden hangisidir?
Cevap : B) [EmailAddress]
Açıklama : Data Annotations kütüphanesinde, bir string alanın geçerli bir e-posta formatında olup olmadığını kontrol eden doğrulama (validation) özniteliği [EmailAddress]’tir.
#12. Cookie’ler ile aşağıdaki bilgilerin hangisini tutmak en uygun olur?
Cevap : B) Kullanıcı renk tercihlerini
Açıklama : Cookie’ler (Çerezler) istemci tarafında (tarayıcıda) saklanır ve güvenlik açısından hassas verilerin (şifre, veritabanı bilgisi vb.) burada tutulması risklidir. Kullanıcı renk tercihleri, dil seçimi gibi hassas olmayan kişiselleştirme ayarları cookie’lerde saklamak için en uygun verilerdir.
#13. Asp.Net Core uygulamalarında kullanılan [ApiController] özniteliği için aşağıdakilerden hangisi doğrudur?
Cevap : B) Kullanıma hazır doğrulama ve model bağlama sağlar.
Açıklama : [ApiController] özniteliği, API geliştirmeyi kolaylaştıran birtakım özellikler ekler. Bunlar arasında otomatik model doğrulama (bad request dönüşü), binding source inference (verinin nereden geleceğini otomatik algılama) gibi yetenekler bulunur.
Asp.Net Core MVC’de oluşturulan bir web APP’ye ait
http://localhost/api/Personel/
#14. adresine bir Http Get metodu isteği gönderildiğini varsayalım. Bu durumda RESTful mimarisine göre hangi işlemin yapılması beklenir?
Cevap : E) Tüm personel kayıtlarının listelenmesi
Açıklama : RESTful mimaride GET metodunun amacı veri okumaktır. Eğer bir ID belirtilmeden ana kaynağa (Personel/) GET isteği atılırsa, beklenen davranış o kaynağa ait tüm listeyi (Personel Listesi) döndürmesidir.
#15. Bir ASP.NET Core MVC uygulaması için varsayılan olarak oluşturulan layout aşağıdaki seçeneklerden hangisinde doğru olarak verilmiştir?
Cevap : B) _Layout.cshtml
Açıklama : ASP.NET Core MVC projelerinde ortak görünüm yapısını (header, footer, menü vb.) belirleyen ana şablon dosyası varsayılan olarak _Layout.cshtml ismini taşır.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#16. Form tag helper’ı ile siteler arası istek sahteciliği (CSRF) saldırısını önlemek için kullanılan özellik aşağıdakilerden hangisidir?
Cevap : D) asp-antiforgery
Açıklama : CSRF (Cross-Site Request Forgery) saldırılarını önlemek için formlarda doğrulama jetonu (token) kullanılır. ASP.NET Core’da bu özelliği asp-antiforgery="true" niteliği ile kontrol edebiliriz.
public DateTime KayitTarihi { get; set; }
#17. şeklinde tanımlı bir model elemanının tag helper ile kullanım biçimi aşağıdakilerden hangisidir?
Cevap : C) <input asp-for=”KayitTarihi” />
Açıklama : ASP.NET Core’da bir input elementini modeldeki bir property’e bağlamak için asp-for Tag Helper’ı kullanılır. Bu, otomatik olarak id, name ve uygun type özelliklerini oluşturur.
List kitaplar = new List {
new Kitap { Ad = “A”, Sayfa = 80 },
new Kitap { Ad = “B”, Sayfa = 90 },
new Kitap { Ad = “C”, Sayfa = 70 },
new Kitap { Ad = “D”, Sayfa = 40 },
new Kitap { Ad = “E”, Sayfa = 30 }
};
bool sonuc = kitaplar.All(x => x.Sayfa > 50 && x.Sayfa < 95);
#18. Yukarıdaki kod çalıştırıldığında sonuc değişkenindeki değer ne olur?
Cevap : D) false
Açıklama : All() metodu, listedeki tüm elemanların belirtilen şartı sağlayıp sağlamadığını kontrol eder. Şart: Sayfa sayısı 50’den büyük VE 95’ten küçük olmalı. Ancak listedeki 40 ve 30 sayfalık kitaplar bu şartı sağlamadığı için sonuç false döner.
#19. Asp.Net Core MVC uygulamalarında bir model içerisinde kullanılan Display özelliği hangi tag helper ile kullanılır?
Cevap : E) Label
Açıklama : Model property’leri üzerine eklenen [Display(Name=”Adı”)] gibi öznitelikler, View tarafında <label asp-for=”…”> tag helper’ı kullanıldığında ekranda etiket ismi olarak görünür.
#20. Asp.Net Core Rest Api mimarisinde bir kaydı güncellemek istediğimizde bu isteğe yanıt veren metot aşağıdaki hangi öznitelik ile belirtilmelidir?
Cevap : E) HttpPut
Açıklama : RESTful standartlarında; veri okumak için GET, eklemek için POST, silmek için DELETE ve güncellemek için PUT (veya kısmi güncelleme için PATCH) metodları kullanılır.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
SONUÇ
Web Programlama-2 2024-2025 Final Soruları
Web Programlama-2 Final Notları: ASP.NET Core, EF Core ve API Mimarisi |
|
|
|
| @lolonolo_com |
|---|
Web Programlama-2 2024-2025 Final Soruları
Web Programlama-2 2024-2025 Final Soruları |
|
|---|---|
|
|
| @lolonolo_com |








