En İyi 24 Servlet Mülakat Soruları ve Cevapları
Yayınlanan: 2021-06-03Sunucu uygulaması, bir sunucunun yeteneklerini genişleten Java tabanlı bir yazılımdır. Kapsayıcı isteklerine yanıt verdikleri ve web uygulamalarını barındırdıkları için herhangi bir sunucunun hayati bir bileşenidir. Bir web sitesinin arka ucunu, yani sunucu tarafını çalıştırmak için sunucu uygulamalarına ve bunların nasıl çalıştıklarına aşina olmanız gerekir.
Java tabanlı sunucular oldukça popüler olduğundan, web sunucularıyla çalışmak istiyorsanız sunucu uygulamaları hakkında bilgi edinmek çok önemlidir.
Bir geliştirici röportajına hazırlanıyorsanız, doğru yere geldiniz. Aşağıdaki servlet görüşme soruları, görüşmeden ne bekleyeceğiniz konusunda size bir fikir verecektir.
İçindekiler
En İyi Servlet Mülakat Sorularının Listesi
- Bir Servlet ile ne demek istiyorsun?
Cevap: Servlet'ler Java teknolojileridir ve onları yöneten konteynere servlet motoru denir. Bir sunucu uygulaması dinamik içerik üretir ve İstemci ile İstek ve Yanıt yoluyla etkileşime girer. Genellikle bir bağlantıya tıkladığınızda veya bir web sitesinde herhangi bir işlem gerçekleştirdiğinizde çalışırlar. Servlet'ler, uygulamalara benzer, ancak fark, istemcinin makinesinde bir uygulama işlenirken sunucuda işlenmeleridir.
- Servlet kapsayıcı nedir?
Cevap: Servlet kapsayıcıları, ağ hizmetleri sunan bir web sunucusunun parçasıdır. MIME tabanlı isteklere ve yanıtlara bağlıdırlar. Bir sunucu uygulaması kapsayıcısı, sunucu uygulamalarını işler.
- Neden servlet kullanıyoruz?
Cevap: Genellikle, platformdan bağımsız oldukları için sunucu uygulamaları kullanırız. Ayrıca, platformdan bağımsız bir bayt kodunda derlenirler. Java bayt kodunu dinamik olarak Java etkin bir web sunucusuna yükleyebilirsiniz.
- Filtreden kastınız nedir?
Cevap: Filtreler, HTTP isteklerinin, yanıtlarının ve başlıklarının içeriğini dönüştürebilen yeniden kullanılabilir kod parçalarıdır.
- Bir uygulama sunucusu ile bir web sunucusu arasındaki fark nedir?
Cevap: Bir web sunucusu, istemci tarayıcısından gelen HTTP isteklerini işler ve HTML yanıtıyla yanıt verir. HTTP dilini işler ve HTTP protokolünde çalışır.
Öte yandan, bir uygulama sunucusu, bir web sunucusunun temel işlevleriyle birlikte JMS Mesajlaşma desteği, Enterprise JavaBeans desteği vb. gibi ek özellikler sağlar.
- Bir seanstan kastınız nedir?
Cevap: Oturum bir süre anlamına gelir. Sunucu uygulamasında oturumlar, bir sunucu uygulamasının birden çok HTTP isteğinde web uygulamalarıyla kullanıcı etkileşimini izlemek için kullandığı nesnelerdir.
- Bir sunucu uygulaması bağlamı ile ne demek istiyorsunuz?
Cevap: Sunucu uygulaması bağlamı, bir sunucu uygulamasının sunucu uygulaması kapsayıcısıyla iletişim kurmak için kullandığı bir dizi yöntemi tanımlar. Sunucu uygulaması kapsayıcısı, ilk yapılandırmayı veya parametreleri tüm uygulamayla paylaşmak için bu nesneyi oluşturur.
ServletContext nesnesini getServletContext() yöntemini kullanarak alabilirsiniz. Bir uygulama için yalnızca bir sunucu uygulaması bağlamı vardır. Tüm uygulamada bilgi paylaşmak için ServletContext'i kullanabilirsiniz.
Not: Bu, en önemli servlet mülakat soruları ve cevapları arasındadır.
- Sunucu uygulaması eşlemesi ne anlama geliyor?
Cevap: Sunucu uygulaması eşlemesi, belirli bir URL için Java sunucu uygulamasının çağrılması gereken belirli web kapsayıcısını verir. URL kalıplarını sunucu uygulamasına eşler. Bir istemci bir istek gönderdiğinde, sunucu uygulaması kabı, bunu hangi uygulamaya ileteceğini belirler ve sistem, sunucu uygulaması eşlemesi gerçekleştirmek için bağlam yolu ile eşleşir.
- Veritabanına yeni veri girdikten sonra otomatik olarak nasıl yenilenirsiniz?
Cevap: Veritabanına yeni veri girerken otomatik olarak yenilemek için Sunucu İletme ve İstemci tarafında Yenile'yi kullanabilirsiniz.
- Bir sunucu uygulamasının yaşam döngüsünü açıklayın.
Cevap: Bir sunucu uygulamasının yaşam döngüsü beş adıma bölünmüştür. Önce sunucu uygulaması sınıfını yüklersiniz, ardından sunucu uygulaması örneğini yaratırsınız. Bundan sonra, init() yöntemini, ardından servis yöntemini ve son olarak da destroy() yöntemini çağırırsınız. Bir sunucu uygulamasının üç durumu vardır: yeni, hazır ve son.
Servlet oluşturulduğunda yeni durumda olacaktır. init() yöntemini çağırdıktan sonra hazır durumuna geçer. Son olarak, destroy() yöntemi çağrıldığında bitiş durumuna geçer.
- Servlet 2.5'e hangi yeni özellikler eklendi?
Cevap: Servlet 2.5 aşağıdaki yeni özelliklerle geldi:
- J2SE 5.0 bağımlılığı
- Ek açıklamalar desteği
- sınıf yükleme
- Yeni web.xml
- Edge vaka açıklamaları
- Kısıtlamaların kaldırılması
- Tüm sunucu uygulamaları hangi arabirimi uygular (veya uygulamalıdır)?
Cevap: Tüm sunucu uygulamaları, sunucu uygulaması arabirimini uygulamalıdır.
- Bir sunucu uygulaması ne zaman yüklenir?
Cevap: Bir sunucu uygulaması şu durumlarda yüklenir:
- İlk istek yapılır.
- Sunucu ve otomatik yükleme başlatma.
- Tek bir örnek, tüm istekleri aynı anda yanıtlar, dolayısıyla bellekten tasarruf sağlar.
- Yönetici manuel olarak yükler.
- Bir sunucu uygulaması ne zaman kaldırılır?
Cevap: Sunucu kapatıldığında veya yönetici manuel olarak kaldırdığında bir sunucu uygulaması kaldırılır.
- MIME Türü ile ne demek istiyorsunuz?
Cevap: MIME, Çok Amaçlı İnternet Posta Uzantısı anlamına gelir. MIME türü, bir tarayıcıya ne gönderdiğimiz hakkında bilgi veren bir HTTP başlığıdır. Veri işlemede müşteriye yardımcı olur. Yaygın MIME türleri metin (HTML), metin (düz), resimler (jpeg), uygulama (jar) vb.'dir.
Belirli bir dosyanın doğru MIME türünü elde etmek için ServletContext getMimeType() yöntemini kullanabilirsiniz. Bir sunucudan sunucu uygulamaları aracılığıyla dosya indirirken kullanışlıdır.
- POST ve GET yöntemleri arasındaki fark nedir?
Cevap: POST ve GET yöntemleri arasındaki birincil fark, POST yönteminin ileti gövdesindeki yanıt parametrelerini taşıması, GET yönteminin ise URL dizesine eklenen yanıt parametrelerini taşımasıdır.
- Bir web uygulaması ile ne demek istiyorsun?
Cevap: Web uygulaması, istemci tarayıcısına dinamik ve statik içerik sağlamak için sunucu üzerinde çalışan bir modüldür. Apache web sunucusu PHP'yi destekler ve aynısını kullanarak bir web uygulaması oluşturabilirsiniz.
Java, JSP'ler aracılığıyla web uygulamalarını destekler ve bir sunucu uygulaması kapsayıcısında çalışan sunucu uygulamaları, istemci tarayıcısına dinamik içerik sunar.
- Bir sunucu uygulamasının CGI'ya göre sunduğu avantajlar nelerdir?
Cevap: CGI teknolojisinin birçok eksikliği vardı. Bunun üstesinden gelmek için Servlet'ler tanıtıldı.
Sunucu uygulamaları, bellek kullanımı ve işlem süresi açısından CGI'dan daha iyi performans sunar. Her istek için yeni bir iş parçacığı oluşturdukları ve hızlarını büyük ölçüde artırdıkları çoklu iş parçacığının avantajlarını kullanırlar. Buna karşılık, CGI, her istek için sunucu uygulamalarının sürecinden nispeten daha yavaş olan yeni bir Nesne oluşturur.
Servlet'ler sistemden ve platformdan bağımsızdır. Sunucu uygulaması tabanlı bir web uygulamasını herhangi bir standart web kapsayıcısında (Glassfish, Tomcat ve JBoss) ve işletim sistemlerinde (Unix, Windows, Mac, vb.) çalıştırabilirsiniz.
Yalnızca uygulama için iş mantığını ele almanız gerektiğinden, sunucu uygulamaları için öğrenme eğrisi oldukça küçüktür. Ayrıca, kapsayıcıları sunucu uygulamasının yaşam döngüsünü yönetir, bu nedenle bellek sızıntısı, çöp toplama ve güvenlik riski yoktur.
- ServletConfig nesnesi hakkında ne biliyorsunuz?
Cevap: Belirli bir sunucu uygulamasına yapılandırma bilgisi vermek için ServletConfig nesnesini kullanırsınız. Her sunucu uygulamasının benzersiz bir ServletConfig nesnesi vardır ve sunucu uygulaması kapsayıcısı onu başlatır. WebInitParam ek açıklaması aracılığıyla servlet init parametrelerini verebilirsiniz. Bir sunucu uygulamasının ServletConfig nesnesini almak için getServletConfig() yöntemini kullanmanız gerekir.
- Bir sunucu uygulaması kapsayıcısı genellikle hangi görevleri gerçekleştirir?
Cevap: Bir sunucu uygulaması kapsayıcısı aşağıdaki görevleri gerçekleştirir:
- Sunucu uygulamaları, JSP'ler ve web istemcisi arasındaki iletişimi kolaylaştırır. Kapsayıcı sayesinde istekleri almak, bunları ayrıştırmak ve yanıtlar oluşturmak için bir sunucu soketi oluşturmanız gerekmez. Kapsayıcı, bu görevleri üstlenerek iş mantığına odaklanmanıza olanak tanır.
- Sunucu uygulaması kapsayıcısı, sunucu uygulamalarının yaşam döngüsünü yönetir. Servlet'leri belleğe yükler, başlatır, gerekli yöntemleri çağırır ve onları yok eder. Servlet kapsayıcıları ayrıca JNDI gibi yardımcı programlar sunarak kaynak yönetimini basitleştirir.
- Servlet kapsayıcıları, her istek için yeni iş parçacıkları oluşturur ve sunucu uygulamalarına istek ve yanıt nesneleri verir. Bu şekilde, çok fazla bellek ve zaman tasarrufu sağlayarak, her istek için sunucu uygulamalarını başlatmanız gerekmez.
- Servlet'ler JSP'leri derler ve onları servlet'ler gibi yönetmek için onları servlet'lere dönüştürerek görevinizi basitleştirir.
- İstek gönderici ile ne demek istiyorsunuz?
Cevap: İstekleri başka bir kaynağa iletmek için RequestDispatcher arabirimini kullanırsınız. Bu kaynak, uygulamadaki başka bir sunucu uygulaması, HTML veya JSP olabilir. Yanıtınıza başka bir kaynağın içeriğini eklemek için RequestDispatcher arabirimini kullanabilirsiniz. Sunucu uygulamaları arası iletişim için mükemmel bir çözümdür.
RequestDispatcher arabiriminde iki yöntem tanımlayabilirsiniz:
- Boş ileri yöntemi. İsteği bir sunucu uygulamasından farklı bir kaynağa iletir.
- Boşluk dahil etme yöntemi. Yanıtınıza başka bir kaynağın içeriğini ekler.
- ServletContext ve ServletConfig arasındaki fark nedir?
Cevap: ServletContext tüm uygulama için benzersiz bir nesnedir, ServletConfig ise bir sunucu uygulaması için benzersiz bir nesnedir. Uygulamanın tamamında tüm sunucu uygulamalarının kullanabileceği init parametreleri vermek için ServletContext'i kullanabilirsiniz. Öte yandan, yalnızca belirli bir sunucu uygulamasına init parametreleri sağlamak için ServletConfig'i kullanabilirsiniz.
Diğer sunucu uygulamalarının kullanabileceği nitelikleri ServletContext'te ayarlayabilirsiniz, ancak ServletConfig'de nitelikleri seçemezsiniz.
Not : Bu, en önemli servlet mülakat soruları ve cevapları arasındadır. Dikkatlice hazırlamanız gerekir.
- Servlet öznitelikleri hakkında ne biliyorsunuz?
Cevap: Servlet öznitelikleri, sunucular arası iletişimde size yardımcı olur. Uygulamada öznitelikleri ayarlayabilir, alabilir ve kaldırabilirsiniz. Servlet özniteliklerinin istek kapsamı, oturum kapsamı ve uygulama kapsamı olmak üzere üç kapsamı vardır. İnit parametrelerinden farklıdırlar.
- Başka bir sunucu uygulamasından bir sunucu uygulamasını nasıl çağırırsınız?
Cevap: İstek işlemeyi farklı bir sunucu uygulamasına iletmek için RequestDispatcher forward()'ı kullanabilirsiniz. Bir yanıta başka bir sunucu uygulaması çıktısı eklemek istiyorsanız, RequestDispatcher include() yöntemini kullanabilirsiniz.
Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Çözüm
Yukarıdaki servlet röportaj soruları ve cevapları, bir röportajın size ne tür sorular soracağını anlamanıza yardımcı olmuş olmalıdır. Daha sonra geri dönebilmeniz ve soruları birkaç kez gözden geçirebilmeniz için bu sayfaya yer işareti koymanızı öneririz.
Görüşme sırasında sakin ve sakin kalmaya çalışın. Soruları yakından dinlemenize ve buna göre cevaplamanıza yardımcı olacaktır. Java ve ilgili konular hakkında daha gelişmiş kavramları öğrenmek için Tam Yığın Geliştirmede Uzmanlık ile Yazılım Geliştirmede Executive PG Programımıza göz atabilirsiniz .
Java'daki sunucu uygulamaları nelerdir?
Bir sunucu uygulaması, bir HTTP sunucusu tarafından çağrılabilen bir Java sınıfıdır. Servlet'ler genellikle web uygulamalarının geliştirilmesinde kullanılır. Bir sunucu uygulamasının temel amacı, bir HTTP istemcisinden gelen istekleri işlemek ve uygun bir yanıt döndürmektir. Pek çok sunucu uygulaması türü vardır, ancak en popüler olanı, dinamik web içeriği oluşturmak için kullanılabilecekleri için Java Sunucu Sayfalarıdır (JSP).
Java sunucu uygulamasında istek-yanıt nasıl çalışır?
Sunucular, kullanıcıdan gelen isteklere yanıt vermek için sunucu uygulamaları kullanır. Bir sunucu uygulaması, bir veritabanından bilgi indirmek, e-posta göndermek veya bilgileri görüntülemek için kullanılabilir. Sunucu için belirli bir görevi yerine getiren küçük bir programdır. Servlet'ler Java ile yazılır ve tek bir sınıf dosyasında derlenir. Ardından, web sunucusuna dağıtılırlar. Sunucu uygulamaları dağıtıldıktan sonra kullanıcılardan gelen istekleri kabul etmeye hazırdır. İstek, bir bağlantıya tıklayan bir kullanıcıdan formu dolduran bir kullanıcıya kadar herhangi bir şey olabilir. İstek, uygun sunucu uygulamasına yönlendirildiği sunucuya gönderilir. Sunucu uygulaması daha sonra isteği işler ve bir yanıt gönderir. Bu yanıt, isteğin türüne göre değişiklik gösterebilir. Örneğin, kullanıcı bilgi istiyorsa, sunucu uygulaması bu bilgiyi kullanıcıya geri gönderebilir. Sunucu uygulaması bir form isteğine yanıt veriyorsa, kullanıcıya bir onay e-postası veya gönderim hakkında bir bildirim gönderebilir.
Bir sunucu uygulamasının yaşam döngüsü nedir?
Bir sunucu uygulamasının yaşam döngüsünde üç aşaması olduğu söylenebilir: 1. Yükleme 2. Yürütme 3. Yok etme. Yükleme sırasında sunucu uygulaması bazı başlatma parametreleri alır. Bu parametreler dağıtım tanımlayıcısında tanımlanır. Yükleme tamamlandıktan sonra sunucu uygulaması, sunucu uygulaması kapsayıcısı tarafından çeşitli şekillerde çağrılabilir - init() yöntemini çağırarak, ajax çağrılarıyla veya yaşam döngüsü olaylarıyla. Bir sonraki ve son aşama imhadır, yani sunucu uygulaması konteynırdan çıkarıldığında. Bir sunucu uygulamasının sunucu uygulaması kapsayıcısından kaldırılmasının birkaç yolu vardır, örneğin kap durdurulduğunda veya web uygulaması durdurulduğunda.