En Popüler 22 Erlang Röportaj Soruları ve Cevapları (2025)
İşte hem yeni başlayanlar hem de deneyimli adaylar için hayallerindeki işi bulmaları için Erlang mülakat soruları ve cevapları.
1) Erlang nedir?
Erlang genel amaçlı bir programlama dili ve çalışma zamanı ortamıdır. Eşzamanlılık, hata toleransı ve dağıtım için yerleşik desteğe sahiptir. Erlang açık kaynak olarak mevcuttur.
Ücretsiz PDF İndir: Erlang Röportaj Soruları ve Cevapları
2) OTP (Açık Telekom Platformu) nedir açıklayınız?
OTP açık kaynaklı bir platformdur ve Erlang'ın ASN.1'i derlemekten WWW sunucusu sağlamaya kadar her şeyi yapabileceği geniş bir kitaplıklar kümesidir.
3) Erlang'ın temel özellikleri nelerdir?
Erlang'ın temel özellikleri,
- Bildirimsel Sözdizimi: Bildirimsel sözdizimine sahiptir
- Eşzamanlı: Süreç tabanlı eşzamanlılık modeline sahiptir
- Gerçek zaman: Gerçek zamanlı sistemi programlar
- Sürekli operasyon: Sürekli çalışmaya olanak sağlar
- Güçlü: Çalışma zamanı hatalarını tespit etmek için dilde üç yapıya sahiptir.
- Hafıza yönetimi: Bellek otomatik olarak tahsis edilir ve gerekmediğinde tahsisi kaldırılır
- dağıtım: Paylaşılan hafızası yoktur, dağıtılmış sistemler erlang'da kolayca oluşturulabilir
- Entegrasyon: Başka dilde yazılmış programın kolay entegrasyonu
4) Erlang'ın sağladığı veri türlerini adlandırın?
Erlang iki veri türü sağlar
- Sabit veri türleri: Bu tür veri türleri daha ilkel alt türlere bölünemez. Sayılardan ve Atomlardan oluşur.
- Bileşik veri türleri: Bu veri türleri, diğer veri türlerini bir arada gruplamak için kullanılır. Tuple ve listelerden oluşur.
5) Erlang'daki düğümün bağlantısını kesme komutu nedir?
erlang:connect_node (Node) çağrıldığında düğümün bağlantısının kesilmesi zorlanır.
6) Erlang'daki modüllerin ne olduğunu açıklayın?
Erlang, kodu modüller halinde düzenlemeyi sağlar. Bir modül işlevlerden oluşur; yerel bir işlev kapsamı sunar (Kamu ve Özel).
7) Modülün Erlang'da nasıl saklandığından bahsedin mi?
Bir modül adı .erl adlı bir dosyada saklanır. Dosya taban adı ve modül adı aynı olmalıdır.
8) Erlang'daki Bit dizilerinin ne olduğunu açıklayın?
Türlenmemiş belleğin bir alanını depolamak için bir bit dizisi kullanılır ve bit sözdizimi kullanılarak ifade edilir.
9) Desen Eşleştirme nedir açıklayınız?
Bir işlev çağrısını değerlendirirken bir model eşleşmesi meydana gelir. Desen eşleştirme mekanizması sayesinde değişkenler değerlere bağlanır.
10) PID veri tipi nedir açıklayınız?
PID, Süreç Tanımlayıcı anlamına gelir ve her sürece atanan benzersiz süreç tanımlayıcıları için kullanılan veri türüdür.
11) Erlang'a bir dosya eklemek için kullanılan komut nedir?
İki şekilde bir dosya Erlang'a dahil edilebilir
- (Dosya) öğesini içerir.
- include_lib (Dosya).
12) Erlang'da çalışma zamanı hatası nasıl ele alınır?
Catch veya Try komutlarını kullanarak çalışma zamanı hatalarının ve diğer istisnaların sürecin sonlandırılmasına neden olmasını önlemek mümkündür. Catch Expr, değerlendirme sırasında bir istisna oluşmadığı sürece ifadenin değerini döndürür. Try Exprs, istisna sınıfını tanımlama ve istenen sınıfı ele almayı seçme yeteneği ile yakalamanın geliştirilmesidir.
13) Erlang'da “süreç” nasıl yaratılır?
Süreç, Spawn çağrılarak oluşturulur ve Spawn yeni bir süreç oluşturur ve pid'i döndürür.
- Spawn (Modül, İsim, Bağımsız Değişkenler) -> pid ()
14) Koruma sırasını tanımlayın ve geçerli koruma ifadeleri nelerdir?
Erlang fonksiyon cümleleri korumalarla korunabilir; bir madde ancak gardiyan tutarsa korunabilir. Bu, noktalı virgülle (;) ayrılmış bir koruma dizisidir ve koruma, virgülle (,) ayrılmış bir koruma ifadeleri dizisidir. Korumalardan en az birinin doğru olması durumunda koruma dizisi doğrudur.
15) Geçerli koruma ifadelerinin listesini verir misiniz?
Geçerli koruma ifadeleri:
- Atom doğru,
- diğer sabitler
- Belirtilen BIF'lere yapılan çağrılar
- Dönem Karşılaştırmaları
- Aritmetik İfadeler
- Boole İfadeleri
- Kısa Devre İfadeleri
16) Erlang'da mesajın nasıl gönderilip alındığını açıklayın?
Mesaj göndermek için Erlang, mesaj gönderme operatörü olarak ünlem işaretini (!) kullanır. Mesaj göndermek için kullanılan sözdizimi Pid'dir! İleti. Mesaj almak için Erlang, Desen Eşleştirmeyi kullanır, mesaj kuyruğundan bir mesaj iletmek için ise alma ifadesi kullanılır.
17) Spawn/ 1l3 ve Spawn_link 1l3'ün ne olduğunu açıklayın.
Spawn/ 1l3: Yeni bir süreç oluşturur ve pidini döndürür. Sistem zamanlayıcı kuyruğunda, yeni süreç bir süre sonra çalışacak şekilde yerleştirilir. Spawn_link/1l3: Spawn/1l3 ile aynı işlevselliği sağlar ancak yeni oluşturulan süreç ile çağıran arasında atomik olarak oluşturulan bir bağlantının eklenmesiyle sağlanır.
18) Erlang'da Makro yazmanın sözdiziminin ne olduğundan bahsedin.
Erlang'da Makro yazmak için kullanılan sözdizimi şöyledir:
define ( Const, Replacement ).
define ( Fun ( Var1 , Var2, …., Var ) , Replacement )
19) Erlang'da önceden tanımlanmış Makroları listelemek ister misiniz?
Erlang'da önceden tanımlanmış Makrolar
- Modüller: Geçerli modülün adını döndürür
- Modül_Dizesi: Geçerli modülün adını bir dize olarak döndürür
- Dosya: Geçerli dosya adını döndürür
- Satır: Geçerli satır numarasını döndürür
- Makine: Geçerli makine adı olan 'BEAM'i döndürür.
20) Kayıt nedir ve Erlang'da kayıtları nasıl tanımlayabilirsiniz?
Sabit sayıda öğeyi depolamak için bir veri yapısı kayıt olarak adlandırılan kullanılmaktadır. Derleme kaydı sırasında ifadeler tuple ifadelerine çevrilir. Erlang'da kayıt, kaydın adıyla ve ardından kaydın alan adlarıyla tanımlanır. Kayıt ve alan adları atom olmalıdır.
record (Name, { Field1 [= Value] , … FieldN [= ValueN] } )
21) Erlang'da kayıt alanına erişim için kullanılan komut nedir?
Expr#Name.Field, bu komut belirtilen alanın değerini döndürürken, belirtilen alanın konumunu döndürmek için #Name.Field kullanılır.
22) Epmd nedir açıklayınız?
epmd, dağıtılmış Erlang iletişimleri kurarken Erlang programları tarafından kullanılan küçük bir ad sunucusudur. Aynı zamanda Erlang Port Mapper Daemon olarak da anılır. Sembolik düğüm adlarının, kullanıldığı makine adreslerine eşlenmesinden sorumludur.
Bu mülakat soruları aynı zamanda yaşamınızda da yardımcı olacaktır.