Kodluyoruz Örnek Mülakat Soru Cevapları

Muhammet Aydın
6 min readOct 8, 2022

--

  • HTML nedir?

Web sayfalarını oluşturma aşamasında kullanılan standart bir metin işaret dili olan HTML açılımı “Hyper Text Markup Language” olarak bilinir. Genel bilinen yanlış kanının aksine HTML bir programlama dili değildir. Daha açık anlatmak gerekirse, Chrome, Firefox, Yandex gibi tarayıcıların okuyup anlamlandırdığı dil HTML dilidir.

  • CSS bir programlama dili midir?

CSS, XML (dolayısıyla HTML) biçimlendirme dilleri şeklindedir. Basamaklı Stil Sayfası veya CSS bir programlama dili değildir. Bir web sitesinin kullanıcı arayüzünü tasarlamak için HTML ile kullanılan bir işaretleme dilidir (stil, benzer parçaların aynı bölümleri aracılığıyla işaretleme diline uygulanır).

  • CSS turing complete bir dil midir?

hayır

  • JavaScript’ de Asenkron programlama nasil calisir?

Javascript single-thread ve asenkron yapıda çalışan bir programlama dilir. Aslında bu konu uzun uzun anlatılması gereken bir konu fakat kısaca şu şekilde açıklama yapalım. Javascript single-thread çalıştırma yaptığı için çalıştırdığı eventleri ve callback leri sıraya sokarak hepsini tek bir thread ile işler. Bahsedilen Event’lerin ve Callback’lerin sırada tutulduğu yapı, basit bir kuyruk (Queue) mekanizmasıdır. Thread’in her defasında kuyruktaki ilk Event’i işleyip yeni bir Event alması da Event Loop olarak adlandırılır. Javascript Run-to-Completion adı verilen, elindeki işi tamamlamadan başka bir işe geçmeyen bir mekanizmaya sahiptir.

  • ESS, ES6 Nedir?

Javascript biraz kendini topladıktan sonra, sahipleri ECMA ya götürüp, bunu standartlaştırıverin diyorlar. ECMA Avrupa’da bu işleri bilen bir yer tabi. ECMA-262 olarak buna bir standart oluşturuyorlar, adına da ECMAScript diyorlar. Aslında ECMAScript bir standardın adı, Javascript de bunun bir implementasyonu. Yani birisi interface; öteki, somut sınıf. Actionscript de baska bir uygulaması.

Sondaki rakamlara gelince onlar yayın numaraları. ES5 dedigi, ECMA-262 Edition 5 demek oluyor yani, ya da ECMAScript Edition 5. Bütün yayınları PDF olarak şurada bulabilirsiniz : https://www.ecma-international.org/publications/standards/Ecma-262-arch.htm

  • JavaScript ile Class Nasi! Tanimlanir?
<script>
class Sinif{
constructor() { ... }
}
</script>
  • Closure Nedir?

Bir mülakatta closure nedir sorusuna şu cevap verilebilir. “Closure bir fonksiyonun, başka bir lexical scope tarafından çağırılsa bile kendi lexical scope’unu hatırlamasıdır.”

Cookie, LocalStorage, SessionStorage, LocalForage arasindaki farklar nelerdir?

Local Storage, JavaScript sitelerinin ve uygulamalarının key/value çiftlerini bitiş tarihi olmadan bir web tarayıcısında kaydetmesine olanak sağlayan bir özelliktir. Yani tarayıcı penceresi kapatılsa bile bu veriler saklanmaya devam edecektir.

Session Storage, Local Storage’ın aksine verileri kısıtlı bir süre için depolar. Kullanıcı tarayıcı penceresini kapattığında veriler temizlenecektir. Veriler asla sunucuya gönderilmeyecektir.

Cookies, bir bilgisayar ağını kullanırken bilgisayarınızı tanımlamak için kullanılan kullanıcı adı, şifre gibi küçük veri parçalarını içeren metin dosyalarıdır. HTTP cookies olarak bilinen cookie’ler, kullanıcıları tanımlamak ve web’de gezinme deneyimlerini geliştirmek için kullanılır. Bir cookie’de saklanan veriler, sunucu tarafından bağlantınız üzerine oluşturulur. Bu veriler size ve bilgisayarınıza özel bir kimlikle (ID) etiketlenir. Cookies bilgisayarınız ve ağ sunucusu arasında gönderilip alınırken sunucu ID’yi okur ve size özel olarak hangi bilgileri sunacağını bilir. Yani cookie’ler gizliliğiniz için bir güvenlik açığıdır.

Web Uygulamast ile Web Sayfasi arasinda fark var midir?

Bu tamamen kişisel ve özneldir, ancak bir web sitesi ‘nin içeriği tarafından tanımlandığını ve bir web ygulama’ nin kullanıcı ile olan etkileşimi tarafından tanımlandığını söyleyebilirim. Diğer bir deyişle, bir web sitesi makul bir şekilde tüm ziyaretçilere hitap eden statik bir içerik havuzundan oluşabilir, bir web uygulaması etkileşime dayanır ve programatik kullanıcı girişi ve veri işlemesi gerektirir.

Örneğin, bir haber sitesi bir “web sitesi” olur, ancak bir elektronik tablo veya ortak bir takvim web “uygulamaları” olur. Takvim, bireysel verileri işlerken, esasen tüm ziyaretçiler için aynı bilgiyi gösterir.

Pratik olarak, hızla değişen içeriğe sahip web sitelerinin çoğu aynı zamanda karmaşık bir programatik (ve/veya veritabanı) arka ucuna da dayanacaktır, ancak en azından prensip olarak yalnızca çıktıları tarafından tanımlanmaktadır. Öte yandan web uygulaması, uzaktan çalışan bir program ‘dır ve temel olarak bir işleme ve veri depolama arka ucuna bağlıdır.

  • Chrome dev tools tizerinden debug yapabiliyor musunuz?

Evet -dev tools mu emin değilim-

BACKEND

  • Backend nedir?
    Kullanıcı tarafından doğrudan erişilmeyen, genellikle verilerin depolanmasından ve işlenmesinden sorumlu olan bir bilgisayar sistemi veya uygulamasının parçası.
  • backend frontend arasındaki farklar nelerdir?
    Ön uç, istemci tarafını ifade ederken, arka uç, uygulamanın sunucu tarafını ifade eder.
  • Backend’de çok katmanlı mimari nedir?
    Çok katmanlı uygulamalar, her biri farklı bir özel sorumluluğa karşılık gelen birden çok katmandan oluşur. Katmanları ve sorumlulukları bu şekilde ayırmak, uygulamayı geliştirmeyi ve sürdürmeyi çok kolaylaştırır.
  • internet sunucusu nedir?
    Web sunucusu, web sitelerini çalıştıran bir bilgisayardır. Web sunucusunun temel amacı, web sayfalarını depolamak, işlemek ve kullanıcılara sunmaktır. Bu iletişim, Köprü Metni Aktarım Protokolü (HTTP) kullanılarak yapılır.
    İletişim protokolleri nelerdir?
    Bir iletişim protokolü, bir iletişim sisteminin iki veya daha fazla varlığının herhangi bir fiziksel nicelik varyasyonu yoluyla bilgi iletmesine izin veren bir kurallar sistemidir. Protokol, iletişimin kurallarını, sözdizimini, anlamını ve senkronizasyonunu ve olası hata kurtarma yöntemlerini tanımlar.
  • Soket nasıl çalışır?
    Soket, ağ üzerinde çalışan iki program arasındaki iki yönlü iletişim bağlantısının bir uç noktasıdır. TCP katmanının verilerin gönderileceği uygulamayı tanımlayabilmesi için bir soket bir bağlantı noktası numarasına bağlıdır. Uç nokta, bir IP adresi ve bir bağlantı noktası numarasının birleşimidir.
  • HTTP nedir?
    Köprü Metni Aktarım Protokolü, kullanıcıların World Wide Web üzerinde veri iletmesine olanak tanıyan dağıtılmış, işbirliğine dayalı, hiper ortam bilgi sistemleri için bir uygulama protokolüdür.
  • Veritabanı türleri nelerdir?
    Merkezi Veritabanı (düşük yönetim riski, daha ucuz, daha iyi veri kalitesi|büyük, yüksek ping, güncellemesi zor, sunucu hatası riski yüksek)
    Dağıtılmış Veritabanı (sunucular birbirleriyle iletişim kurar, sunucu arızası etkilemez, modüler geliştirme mümkündür)
    İlişkisel Veritabanı(ACID özellikleri atomite, tutarlılık, izolasyon, dayanıklılık)
    NoSQL Veritabanı (verileri yapılandırılmamış biçimde depolamak, büyük, yüksek düzeyde ölçeklenebilir, hızlı erişimi yönetmek ve işlemek için daha iyi)
    Bulut Veritabanı(sanal ortam, SaaS, PaaS, IaaS gibi birçok hizmet)
    Nesneye Yönelik Veritabanları (veriler nesneler olarak saklanır)
    Hiyerarşik Veritabanları(ebeveyn-çocuk ilişkisi düğümlerinin şekli)
    Ağ Veritabanları (ebeveyn-çocuk ilişkisi düğümlerinin şekli)
    Kişisel Veritabanı(Kullanıcının sisteminde veri toplama ve saklama.Kolay,küçük,basit)
    Operasyonel Veritabanı(veritabanını gerçek zamanlı olarak oluşturur ve günceller)
    Kurumsal Veritabanı(kuruluşlar, büyük, çoklu süreç, paralel sorgular tarafından kullanılır)
  • RDBMS ve NoSql arasındaki farklar nelerdir?
    RDBMS uygulamaları, verileri tablo şeklinde yapılandırılmış bir şekilde depolar. NoSQL, ilişkisel olmayan bir veritabanı sistemidir. NoSQL, verileri yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış formlarda depolamak için kullanır.
  • Monolitik sistem nedir?
    Yazılım mühendisliğinde, monolitik bir uygulama, kullanıcı arayüzü ve veri erişim kodunun tek bir platformdan tek bir programda birleştirildiği tek katmanlı bir yazılım uygulamasını tanımlar.
  • Mikro hizmet yapısı nedir ve nasıl çalışır?
    Mikro hizmetler, bulut uygulamaları oluşturmaya yönelik mimari bir yaklaşımdır. Mikro hizmetleri kullanırken, yazılım işlevselliğini, kesin olarak tanımlanmış, bağımsız görevleri gerçekleştirmekten ayrı ayrı sorumlu olan birden çok bağımsız modüle ayırırsınız. Bu modüller, basit, evrensel olarak erişilebilir uygulama programlama arabirimleri (API’ler) aracılığıyla birbirleriyle iletişim kurar.
  • SOA (servis odaklı mimari) nedir?
    SOA veya hizmet odaklı mimari, yazılım bileşenlerini hizmet arabirimleri aracılığıyla yeniden kullanılabilir ve birlikte çalışabilir hale getirmenin bir yolunu tanımlar. Hizmetler ortak arabirim standartlarını kullanır ve ! bir mimari model, böylece yeni uygulamalara hızla dahil edilebilirler.

DevOps

• Mesaj Kuyruklama ( Messaging Queueing ) Nedir ?

Bilgisayar biliminde, mesaj kuyrukları ve posta kutuları, genellikle süreçler arası iletişim veya aynı süreç içinde zincirler arası iletişim için kullanılan yazılım mühendisliği bileşenleridir. Mesajlaşma için bir kuyruk kullanırlar — kontrolün veya içeriğin geçirilmesi.

  • Redis nedir ? Neden kullanılır ?
    Redis — Remote Dictionary Server (Uzak Sözlük Sunucusu); ilişkisel olmayan anahtar/değer veri tabanlarını ve önbellekleri uygulamak için yaygın olarak kullanılan açık kaynaklı bir bellek içi veri deposudur.
  • Docker nedir ? Neden kullanılır ?
    Docker, uygulamalarınızı hızla derlemenize, test etmenize ve dağıtmanıza imkan tanıyan bir yazılım platformudur. Docker, yazılımları kitaplıklar, sistem araçları, kod ve çalışma zamanı dahil olmak üzere yazılımların çalışması için gerekli her şeyi içeren container adlı standartlaştırılmış birimler halinde paketler.
  • Container teknolojisi nedir ?
    Container Nedir? Container yani kapsayıcı, sanal makinelere (VM’ler) benzer bir rol oynayan bir uygulama dağıtım teknolojisidir. Tıpkı geleneksel sanallaştırma gibi, container’lar da uygulamalarınız için yalıtılmış ortamlar sağlar. Ancak, altyapı kaynaklarını bölmek için farklı bir yöntem kullanır.
  • Monitoring nedir ? Neden kullanılır ?
    Sistem ve ağ yapısını izlemek (monitoring), sistem ve ağ yapısında oluşabilecek olası hataları ve hatalara yakın durumları öğrenmenize ve anlık müdahale ederek, sistem ve ağ yapısının çalışmasına sorun teşkil edecek durumları kontrol altında tutmanıza yardımcı olur.
  • Linux dağıtımı ne demektir ?
    Linux dağıtımı; Linux çekirdeği, GNU araçları ve bir masaüstü ortamının bir araya gelmesiyle, bu birlikteliği sürdürülebilir şekilde yönetecek bir yapılandırma araçları seti, yazılım güncelleme araçları vb. ile oluşturularak tam teşekküllü bir işletim sistemi haline gelen uygulamalar bütününü ifade eder.
  • IP Nedir ? DNS Nedir ?
    DNS, internet uzayını bölümlemeye, bölümleri adlandırmaya ve bölümler arası iletişimi organize etmeye yarayan, bilgisayar, servis, internet veya özel bir ağa bağlı herhangi bir kaynak için hiyerarşik dağıtılmış bir adlandırma sistemidir. İnternet ağını oluşturan her birim sadece kendine ait bir IP adresine sahiptir
  • VM ile Container teknolojisi arasındaki farklar nelerdir ?
    Sanallaştırma teknolojisi ile yaptığımız şey aslında, mevcut fiziksel kaynakların sanal sunucu sistemlerine emule edilerek daha verimli kullanılmasını sağlayan bir teknolojidir. Ancak bu teknolojide her bir sanal sunucu kendi işletim sistemlerini barındırır ve uygulamalar da bu işletim sistemleri üzerinde çalışmak zorundadır.Yani üç sanal makine çalıştıran fiziksel bir sunucunun üzerinde bir hipervizör ve üç ayrı işletim sistemi bulunur.
    Bunun aksine, Containerlar ile üç kapsayıcı uygulama çalıştıran bir sunucuda tek bir işletim sistemi çalıştırır ve her container işletim sistemi çekirdeğini diğer containerlar ile paylaşır. İşletim sisteminin paylaşılan kısımları salt okunur dur, her container veri yazmak için kendi erişilen alanlarına sahiptir. Bu, containerların çok daha hafif olduğu ve sanal makinelere göre çok daha az kaynak kullandığı anlamına gelir.

Umarım hazırladığım bu metin işinize yaramıştır. Yorumlarınızı bekliyorum.

--

--

No responses yet