Aptal Javascript mülakat soruları
Teknik sorulara doğrudan karşı değilim. Adayın teknik becerileri hakkında fikir edinmenin yollarından biri olduğunu düşünüyorum. Teknik bir tartışmayı sıkı bir teknik röportaja tercih ederim. Ama bugün Javascript'in en kötü sorularından birini ve nedenini açıklayayım.
Amacımı açıklamaya başlamadan önce, Javascript'in tarihine biraz göz atalım.
1995 yılıydı , Netscape (Brendan Eich) tarafından geliştirildi, daha sonra Mozilla javascript'i geliştirmeye ve geliştirmeye devam etti. Javascript'in arkasındaki fikir, çevrimiçi dünyada gezinirken bir tür dinamik yaratmaktı. Bazı uyarılar veya çok basit animasyonlar için kullanıldı. Javascript, Java'nın görünümüne ve hissine sahip olacak, ancak programcı olmayanlar için daha kolay çalışacak şekilde tasarlanmıştır. O zamanlar AJAX bile yoktu -> İstekler ve benzeri için Javascript kullanılmıyordu.
1997 civarında Javascript, ECMA standartlarının bir parçası oldu.
2005 yılında AJAX'ın ilk resmi yayınını yaptık -> bu, bugünün web geliştirmesinin başladığı noktadır. Verileri yeniden yükleyebilmek için sayfayı yenilemek artık gerekli değildi. Aniden bir tür web uygulaması oluşturabildiğinizi hayal edin. Ancak soru şu: Javascript buna hazır mıydı? Aslında değil. Geliştiriciler, IIFEE gibi şeyleri kullanmaya hızla alıştı :
(function() {
// Code that runs in your function
var name = 'John Doe'
}
)()
console.log(name) // error as the name is not defined in this scope
IIFEE , temelde bugünün bakış açısından, daha fazla .js dosyasıyla karmaşık bir uygulama oluşturabilmek için hileli bir çözümdü . Bu tür bir çözüme ihtiyacımız vardı çünkü aksi takdirde, Javascript sınıflar olmadan tamamen işlevsel bir dil olduğundan, değişkenlerin , işlevlerin vb . adlandırılmasında bir çelişki yaşardık.
VAR ve Kaldırma -> Kaldırma, bildirimleri en üste taşıma davranışıdır. Javascript'te değişken, bildirilmeden önce kullanılabilir. Bu geçerli bir senaryodur:
myVariable = ‘is this shit possible?’
var myVariable;
console.log(myVariable); // is this shit possible?
Bu örnekte, myVariable değişkeni en üste taşınmış ve aynı anda başlatılmıştır, değişkenin 3. satırda zaten dizeyi depolamasının nedeni budur.
Ve bunun gibi çok daha fazla şey ve sorun vardı. Burada bulabileceğiniz javascript'in garip kısımlarını unutmamak için:https://hackernoon.com/the-weird-parts-of-javascript-zxo34i8
Ancak es6 sürümünden Javascript ile bir şeyler değişti
Yeni yaklaşımla kaldırma örneğimize dönersek:
myVariable = ‘is this shit possible?’
let myVariable;
console.log(myVariable); // undefined
Javascript hala değişkenin bildirimini en üste koyuyor, ancak başlatmayı değil. Böylece konsolumuz string yerine tanımsız bir değişken yazacaktır.
es6 sürümüne ek olarak şunlara sahibiz:
- Ok İşlevleri
- sınıflar
- Modüller
- sözler
- jeneratörler
- değişkenler için let ve const bildirimleri
- Spread ve Rest operatörleri
- Şablon Değişmezleri
- Şeklini bozma
- Ve daha fazlası
O halde yanlış görüşme soruları nelerdir?
Amacımı çizmeye başlamadan önce bu örneklerden en azından bazılarını göstermem gerekiyordu.
Yeni bir geliştirici olduğunuzu ve Javascript öğrenmeye başladığınızı hayal edin. Şunları anlamanız gerçekten gerekli değil:
- Var
- IIFEE
- kapanışlar
- Sözler ve kullanımları (ama bunu bilmekte fayda var)
Ancak Javascript'in eski sürümünün bilgisini kontrol etmek kesinlikle gerekli değildir. Eski Javascript, bugün kullanılandan farklı bir amaç için inşa edildi.

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































