2. Bölüm: En Sık Kullanılan(6-9) JavaScript Soruları
JavaScript, iş taleplerinde en çok aranan becerilerden biri haline gelen bir programlama dilidir. Web geliştirme, mobil uygulama geliştirme, sunucu tarafı programlama ve daha fazlası için kullanılan değişken bir dildir.
Bu blog gönderisinde, özel görüşmelerde sıkça sorulan sonraki 6-9 ortak JavaScript mülakat sorusunu ele alacağız.
5 Soru'nun ilk bölümüne buradan başvurabilirsiniz.
1. Bölüm: En Sık Kullanılan(1-5) JavaScript Soruları
Soru 6: Eşzamanlı ve eşzamansız kod arasındaki fark nedir?
Eşzamanlı kod, her seferinde bir satır olmak üzere sıralı bir düzende yürütülen bir kod türüdür. Başka bir deyişle, geçerli satırın çalışması bitene kadar bir sonraki kod satırı yürütülmeyecektir.
Bu tür kod genellikle, uygulamanın aynı anda birden çok görevi çalıştırmasına gerek olmayan daha basit, daha küçük uygulamalarda kullanılır. Örneğin, aşağıdaki senkronize kodu göz önünde bulundurun:
function printNumbers() {
console.log(1);
console.log(2);
console.log(3);
}
printNumbers();
Eşzamansız kod ise, birden fazla işlevin, bir işlevin diğerine başlamadan önce bitmesini beklemeden aynı anda çalışmasına izin verir.
Bu tür kod genellikle aynı anda gerçekleştirilmesi gereken birden çok görevin olduğu daha büyük, daha karmaşık uygulamalarda kullanılır. Örneğin, aşağıdaki eşzamansız kodu göz önünde bulundurun:
async function printNumbers() {
console.log(1);
setTimeout(() => {
console.log(2);
}, 1000);
console.log(3);
}
printNumbers();
Eşzamanlı ve eşzamansız kod arasındaki temel fark, kodun yürütülme sırası ve uygulamanın belirli bir görevin tamamlanmasını beklerken diğer görevleri gerçekleştirme yeteneği üzerindeki etkisidir.
Eşzamanlı kod, geçerli görev bitene kadar kodun geri kalanının yürütülmesini engellerken, eşzamansız kod birden çok görevin aynı anda çalışmasına izin vererek uygulamanın genel verimliliğini artırır.
Soru 7: JavaScript'te değere göre geçiş ile referansa göre geçiş arasındaki fark nedir?
JavaScript'te, bir işleve argüman iletmenin iki yolu vardır: değere göre ilet ve referansa göre ilet.
Değere göre geçirme, bir değişken bir işleve bağımsız değişken olarak iletildiğinde, değerinin bir kopyasının oluşturulup işleve iletilmesi anlamına gelir.
İşlev içindeki bağımsız değişkende yapılan herhangi bir değişiklik, işlevin dışındaki orijinal değişkeni etkilemez. Örneğin:
let x = 5;
function changeValue(y) {
y = 10;
}
changeValue(x);
console.log(x); // Output: 5
Öte yandan, başvuruya göre geçirme, bir nesne bir işleve argüman olarak iletildiğinde, nesnenin değerinin bir kopyası değil, nesneye bir başvuru iletildiği anlamına gelir.
Bu, işlev içindeki nesnede yapılan herhangi bir değişikliğin, işlevin dışındaki orijinal nesneyi etkileyeceği anlamına gelir. Örneğin:
let obj = {value: 5};
function changeValue(y) {
y.value = 10;
}
changeValue(obj);
console.log(obj.value); // Output: 10
Kodunuzun davranışı üzerinde önemli bir etkisi olabileceğinden, JavaScript'te değere göre geçiş ile referansa göre geçiş arasındaki farkı anlamak önemlidir.
Sayılar ve diziler gibi ilkel veri türleriyle çalışırken değere göre geçiş kullanılır, ancak nesnelerle çalışırken referansa göre geçiş kullanılır.
Soru 8: JavaScript'te 'katı mod' kullanımı nedir ve onu nasıl etkinleştirirsiniz?
Katı mod, JavaScript'te kodunuz için daha güvenli ve daha güvenli bir yürütme ortamı sağlayan bir özelliktir. Normalde JavaScript yürütmesinde isteğe bağlı olan kuralları uygulayarak daha iyi, daha temiz kod yazmanıza yardımcı olur.
Örneğin, katı mod, bildirilmemiş değişkenlerin kullanımına izin vermez; bu, kazara genellemeleri ve değişkenle ilgili diğer sorunları önlemeye yardımcı olabilir. Ayrıca, nesne gibi salt okunur özelliklerin yanlışlıkla değiştirilmesini önler argumentsve ifade gibi kullanımdan kaldırılan bazı özelliklerin kullanımını ortadan kaldırır with.
JavaScript'te katı modu etkinleştirmek için komut dosyanızın veya işlevinizin en üstüne aşağıdaki satırı ekleyebilirsiniz:
"use strict";
(function () {
"use strict";
// Your code here
})();
Sonuç olarak, JavaScript'te katı modu kullanmak isteğe bağlıdır, ancak kodunuzun genel kalitesini ve güvenliğini artırmak için kesinlikle önerilir. Katı modu kullanarak olası hataları erkenden yakalayabilir, yaygın tuzaklardan kaçınabilir ve daha sürdürülebilir ve ölçeklenebilir kodlar yazabilirsiniz.
Soru 9: JavaScript kodunun performansını optimize etmenin yolları nelerdir?
JavaScript kodunun performansını optimize etmenin birkaç yolu vardır ve en yaygın yöntemlerden bazıları şunlardır:
- Kodun küçültülmesi: Kodun küçültülmesi, boşluk ve yorumlar gibi tüm gereksiz karakterlerin kaldırılması ve kodun boyutunu azaltmak için değişken adlarının kısaltılması anlamına gelir. Daha küçük bir kod boyutu, aktarılacak daha az veri anlamına gelir ve bu da daha hızlı yükleme süreleriyle sonuçlanabilir.
- Önbelleğe almayı kullanma: Sık kullanılan verileri önbelleğe alarak gereksiz hesaplamalardan kaçınabilir ve kodunuzu hızlandırabilirsiniz. Verileri yerel değişkenlerde veya tarayıcının önbelleğinde önbelleğe alabilirsiniz.
- Ana iş parçacığını engellemekten kaçının: JavaScript, tek iş parçacıklı bir dildir, yani aynı anda yalnızca bir şeyi çalıştırabilir. Uzun süren bir göreviniz varsa, ana ileti dizisini engelleyerek sayfanın yanıt vermemesine neden olur. Bundan kaçınmak için, uzun süren görevi bir çalışan iş parçacığına boşaltmak için geri aramalar veya Sözler gibi eşzamansız programlama tekniklerini kullanabilirsiniz.
- Global değişkenleri kullanmaktan kaçının: Global değişkenler, kodun her yerinden erişilebildikleri için kodunuzu yavaşlatabilir ve aynı ada sahip diğer değişkenlerle çarpışmalara neden olabilir. Bunun yerine, işlevler içinde daha hızlı ve çarpışmalara daha az eğilimli olan yerel değişkenleri kullanın.
- Yavaş yüklemeyi kullanın: Yavaş yükleme, sayfanın tamamını bir kerede değil, yalnızca gereken içeriği yüklemek için kullanılan bir tekniktir. Bunu yaparak, aktarılması ve işlenmesi gereken veri miktarını azaltarak daha hızlı yükleme süreleri elde edebilirsiniz.
- Uygun veri yapılarını kullanın: Kodunuz için doğru veri yapısını seçmek, performans üzerinde önemli bir etkiye sahip olabilir. Örneğin, büyük veri kümelerini aramak, sıralamak ve değiştirmek için bir dizi kullanmak yavaş olabilirken, bir nesne veya harita kullanmak çok daha hızlı olabilir.
- Profil Oluşturma: Kodunuzun profilini oluşturmak, darboğazları belirlemenize ve kodunuzun performansını optimize etmenize yardımcı olur. Kodunuzun profilini çıkarmak ve iyileştirilmesi gereken alanları bulmak için tarayıcınızdaki DevTools'u kullanabilirsiniz.
// Minifying the code
const name = "John Doe";
console.log("Hello, " + name);
// Becomes:
const n="John Doe";console.log("Hello, "+n);
// Using caching
const myArray = [1, 2, 3, 4, 5];
function sumArray(array) {
let sum = 0;
for (let i = 0; i < array.length; i++) {
sum += array[i];
}
return sum;
}
let sum = sumArray(myArray);
console.log(sum);
// Using proper data structures
const data = [1, 2, 3, 4, 5];
let sum = 0;
for (let i = 0; i < data.length; i++) {
sum += data[i];
}
console.log(sum);
// Becomes:
const data = new Map([[1, 1], [2, 2], [3, 3], [4, 4], [5, 5]]);
let sum = 0;
for (const value of data.values()) {
sum += value;
}
console.log(sum);
<=====>
Javascript'te kodlama hakkında daha fazla şey öğrenmekle ilgileniyorsanız, daha fazla kod parçacığı ve örnek için beni takip ettiğinizden emin olun. Dilde nasıl ustalaşacağınıza ve bir geliştirici olarak becerilerinizi nasıl geliştireceğinize dair değerli bilgiler ve ipuçları paylaşıyor olacağım. Bu nedenle, daha fazla güncelleme için bizi izlemeye devam edin ve birlikte öğrenmeye devam edelim.
Okuduğunuz için teşekkürler. İyi öğrenmeler
Yayınımızı takip ederek destek olun
SpringBoot ile Splunk Entegrasyonu Bölüm - 1 Tıklama hırsızlığı ve önleyici tedbirler Kişisel gelişim: Kişisel Gelişim Yolculuğu SpringBoot ile Splunk Entegrasyonu - Bölüm 2 2023 React JS Modern Girişimcilerin Propan Kodlamaya Geçmesini İzleyen Trendler : Bir Bilgisayarda Kelimelerin Sırasını Tersine Çevirmek Javascript Dönüşümlerinde Dize ve SpringBoot ile Java Splunk Entegrasyonunda Promosyonlar — Son Bölüm
![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































