Teknik ön yüz görüşmeleri zordur. Bu bir gerçek. Yalnızca bilgisayar bilimi temellerini sağlam bir şekilde kavramanız değil, aynı zamanda web performansı, yapı sistemleri ve CSS düzen motorları gibi şeyleri de anlamanız gerekir.
Orada kaynaklar olsa da, bir ön uç görüşmesine hazırlanmanıza yardımcı olacak yalnızca birkaç eksiksiz kılavuz olduğunu keşfettim . Bu yüzden, bir sonraki röportajınızda başarılı olmanıza yardımcı olacağını umduğum ana hatlarına göre bir konu yazmaya karar verdim.
Görüşmeden önce
Bu nedenle, mülakatınızdan önce, işvereninizden mülakat formatını sorun. Bazı görüşmeler bir beyaz tahta etrafında dönebilirken, diğerleri CoderPad gibi bir çevrimiçi metin düzenleyici kullanabilir. Mülakatınızın gerçekleşeceği ortamda pratik yapabilmeniz için bilmek önemlidir.
Ayrıca işe alım uzmanınızdan, hazırlanırken hangi konulara odaklanılması gerektiği konusunda ipuçları isteyin. Bunun arkasındaki neden, ön yüze özgü soruya ek olarak, bazı şirketlerin size algoritmaları arama ve sıralama gibi konular hakkında geleneksel bilgisayar bilimi soruları soracak olmasıdır.
Ön uç kavramları
HTML ve CSS, Javascript ve Javascript tasarım kalıpları, bir görüşme sırasında test edeceğiniz temel kavramlardır. Listeyi gözden geçirin ve her konuda rahat olduğunuzdan emin olun.
HTML ve CSS, ön uç geliştirmenin ekmek ve tereyağı gibidir. Görüşmeler sırasında, büyük olasılıkla HTML ve CSS'nin nüansları hakkında sorular sorulacaktır. Ayrıca, bir modele dayalı bir düzeni kodlamanız istenmeye hazır olun.
Bir HTML ve CSS tazeleme ihtiyacınız olması durumunda, işte göz atmanız gereken birkaç temel kavram.
- CSS animasyonları
- CSS sprite
- Sözde sınıflar
- Izgara sistemleri
- Anlamsal biçimlendirme
Bu kavramlara ek olarak, SASS veya LESS gibi CSS ön işlemcileri ve faydaları hakkında bilgi edinin. Ayrıca BEM ve OOCSS gibi CSS adlandırma kurallarına da aşina olun.
Bir diğer önemli nokta ise görüşmecilerin CSS'nin en iyi uygulamalarını savunan adaylar aramalarıdır. İyi bir referans olarak, Medium'da bir ön uç tarafından yazılan bu kılavuz, Medium'un mevcut CSS mimarisine nasıl yinelendiğine dair içgörü sağlar.
Daha önce bazı görüşmecilerin sizden HTML ve CSS'de düzenleri yeniden oluşturmanızı isteyeceğini söylemiştim. CodePen gibi bir oyun alanında pratik yapın. Dribbble'a göz atın, çünkü yeniden yaratması eğlenceli olacak birçok basit ama güzel tasarıma sahip.
Son olarak, ön uç olarak, düzenleyicimizde değişiklik yapmaya ve ardından tarayıcımızdaki değişikliği doğrulamaya çok alıştık. Çoğu zaman görüşmeler sırasında bu lükse sahip olmayacaksınız. Eğer görüşme için hazırlanırken bittiğinde, en Düzeninizin kodu deneyin olmadan sonuna kadar sonuca bakarak.
HTML ve CSS, ön uç geliştirmenin ekmek ve tereyağıysa, o zaman Javascript bıçaktır. Şirketler mülakatınız sırasında Javascript bilginizi test etmek için çok zaman harcayacaklar. Soruların çoğu aşağıdaki kavramlar etrafında dönecektir.
- Prototip kalıtımı
- Kapsam belirleme
- Kapanışlar
- Olay döngüsü
- Olay köpürmesi
- Uygula, ara ve bağla
- Geri aramalar ve vaatler
- Değişken ve fonksiyon kaldırma
- Köri
Bir Javascript sorusu verildiğinde, bu kavramlardan hangisi üzerinde test edildiğinizi belirleyin ve doğru çözümü bulmak çok daha kolay olacaktır. Javascript becerinizden emin hissediyorsanız, bilginizi burada, burada ve burada test edin.
Javascript'teki tasarım kalıpları, genel sorunlara tekrarlanabilir çözümler sunar. Bunlar, bilinmesi önemli tasarım modellerinden birkaçıdır.
- Dekoratör
- Fabrika
- Singleton
- Açığa çıkarma modülü
- Cephe
- Gözlemci
- MVC, MVP, MVVM
Javascript tasarım modellerinin yanı sıra, Javascript çerçevelerine aşina olmak iyidir. Bu mu değil size Görüşmeden önce başka bir çerçeve öğrenmek gitmek zorunda anlamına gelir. Bunun yerine, ön uç ekiplerin ne zaman ve neden çerçeveleri kullandığını bilin . Ayrıca, React + Flux veya Angular konumu gibi bir şey için röportaj yapıyorsanız, çerçeve mimarisi için bazı belgeleri önceden gözden geçirin.
Bilgisayar bilimi kavramları
Bazı şirketler, ön uç geliştiricilerden önce yazılım mühendisleri işe alır. Bunun anlamı, bu şirketlerin sizden iyi yazılım tasarımı ilkeleri, ölçeklenebilir kod mimarisi ve test etme gibi konularda iyi temellere sahip olmanızı beklemesidir.
İşvereniniz veri yapıları ve algoritmalar hakkındaki bilgilerinizi gözden geçirmenizi önerirse, bu bölüm tam size göre. Aksi takdirde, bu bölümü atlayabilirsiniz. Bilgisayar bilimleri geçmişiniz yoksa sorun değil. Bu kavramların çoğunun öğrenilmesi oldukça kolaydır.
Bunlar, kafanızın tepesini bilmenizi önereceğim temel veri yapılarıdır. Bunları sadece okumayın, bunları Javascript'te de uygulamaya zaman ayırın. Birim testine aşina değilseniz, öğrenmek için veri yapınızı Mocha gibi bir kitaplıkla test edin.
- Bağlı listeler
- Hashtables
- Yığınlar ve kuyruklar
- Ağaçlar (ikili ağaçlar ve yığınlar)
- Grafikler
Not: Grafikler için, önce derinlik ve genişlik öncelikli arama geçişlerinin nasıl uygulanacağını da öğrenin.
Bu veri yapılarının uygulamaları için SanFoundry'ye göz atabilirsiniz. Tüm örnekleri Java'dadır ancak bunları Javascript'te yeniden uygulamak oldukça kolaydır.
Veri yapıları konusunda kendinizden emin olduğunuzda, sıralamaya geçebilirsiniz. Listeyi inceleyin, bunları Javascript'te uygulayın ve ardından zaman ve mekan karmaşıklıklarını not edin.
- Ikili arama
- Kabarcık sıralaması
- Ekleme sıralaması
- Sıralamayı birleştir
- Hızlı sıralama
- Seçim sıralaması
Veri yapılarını ve algoritmaları inceledikten sonra, Leetcode ve bu teknik Javascript soruları ile bilginizi test edin.
Sarmalamak
Biliyorum, özellikle ön uç geliştirmede yeniyseniz, dikkate alınması gereken çok şey var. Mülakatınız için önceden hazırlanmaya başlayın, böylece rahat bir hızda hareket edebilirsiniz.
Ayrıca, röportajların bir programcı olarak değerinizin ölçüsü olmadığını unutmayın. Bazı insanlar röportajlarda iyidir, diğerleri değildir. Bazen görüşmecinizle tıklarsınız, diğer zamanlarda yapmazsınız.
Herhangi bir sorunuz varsa, bir not bırakabilir veya bana Tweet atabilirsiniz. Ben de istiyorum seviyorum mülakat deneyimi nasıl gittiğini bilmek. İyi şanslar!
Not: Bu makaleyi beğendiyseniz, tavsiye et düğmesine basarsanız veya arkadaşlarınızla paylaşırsanız çok şey ifade eder.
Daha fazlasını istiyorsanız, beni Twitter'da takip edebilirsiniz; burada tasarım, ön uç geliştirme, botlar ve makine öğrenimi hakkında anlamsız saçmalıklar yayınlıyorum.