Anasayfa Bloglar Popüler Android Mülakat Soruları ve Yanıtları

Popüler Android Mülakat Soruları ve Yanıtları

Yazılım Geliştirme
11 Dakika Okuma Süresi · 16.10.2023
Blog Small Image

Pazar payının %70'inden fazlasına sahip olan Android, dünyadaki en popüler mobil işletim sistemidir. Android, ilk olarak 2008'de Google tarafından piyasaya sürüldü. Android, mobil cihazlara yönelmek isteyen şirketler ve developer’lar için büyük bir öneme sahiptir.

Android developer’lara olan ilgi, gün geçtikçe artıyor. Android developer mülakatında başarılı olmanıza ve başarılı mobil uygulamalar oluşturmak için ihtiyaç duyduğunuz becerileri geliştirmenize yardımcı olacak sık sorulan Android mülakat sorularının listeledik. Android ile ilgili bir role hazırlanmanıza yardımcı olmak için bu soruları inceleyebilirsiniz.


 

En Popüler Android Mülakat Soruları ve Cevapları

 

1. Android nedir?

📱 Android, cep telefonu ve tablet gibi mobil cihazlarda kullanılan açık kaynaklı bir işletim sistemidir. Developer’ların hem temel hem de gelişmiş işlevleri gerçekleştirebilen uygulamalar oluşturmasına olanak tanır. 

Android’i kullanmak ücretsizdir. Ticari kullanım için bile herkesin ücretsiz olarak erişebilmesini sağlar. Bu, onu Apple'ın iOS, macOS ve Microsoft'un Windows'undan farklı kılar.


 

2. Google Android SDK nedir?

Google Android SDK, Android özellikli cihazlarda uygulama yazmak için developer’ların ihtiyaç duyduğu bir araç setidir. “Android Yazılım Geliştirme Kiti” anlamına gelir. Android SDK'nın yardımıyla kolayca Android uygulamaları oluşturulur.

Android SDK, Android uygulaması geliştirmek için gerekli olan bazı araçlardan oluşur. Bu araçlar arasında, kodları test etme ve hata ayıklama gibi bir takım özellikler bulunur. Android SDK, Windows, Linux, macOS vb. tüm işletim sistemleriyle uyumludur.


 

3. Android'in özellikleri nelerdir?

Android'in önemli özellikleri arasında şunlar bulunur:

✔️ Ücretsiz ve açık kaynaklıdır.

✔️ Özelleştirilebilir bir işletim sistemidir.

✔️ Çeşitli uygulamalar geliştirilebilir.

✔️ Genel karmaşıklığı azaltır.

✔️ Mesajlaşma servislerini, web tarayıcısını, depolamayı (SQLite), bağlantıyı, medyayı ve çok daha fazlasını destekler.


 

4. Android mimarisi nedir?

Android mimarisi, herhangi bir Android cihaz ihtiyacını desteklemek için farklı bileşenler içerir. Android yazılımı, bir uygulama çerçevesi hizmetleri aracılığıyla kullanıma sunulan çok sayıda C/C++ kitaplığı koleksiyonuna sahip açık kaynaklı bir Linux çekirdeği içerir. 

Android mimarisi 4 temel bileşenden oluşur:

  • Linux çekirdeği
  • Kütüphaneler
  • Android Framework
  • Android Uygulamaları


 

5. Android Framework Nedir?

Android Framework, Android mimarisinin önemli bir yönüdür. Android Framework, Android işletim sistemi üzerinde çalışan uygulamaların geliştirilmesinde kullanılan bir yazılım platformudur. Bu platform, Android uygulamaları için gerekli olan çeşitli bileşenlerin yanı sıra, API'ler ve hizmetler de sağlar.

Android Framework, uygulamaların kullanıcı arayüzü, veri depolama, güvenlik, internet bağlantısı, cihaz sensörleri, multimedya gibi birçok konuda ihtiyaç duyduğu çözümleri sağlar. Ayrıca, Android uygulamalarının çalışması için gerekli olan diğer bileşenler, örneğin Activity, Fragment, Service, Broadcast Receiver gibi bileşenler de Android Framework içinde yer alır.

Android Framework, Java programlama diliyle yazılmıştır ve Java Class Library ve C/C++ kütüphaneleri de kullanılır.


 

6. Android uygulama geliştirmede hangi dili destekler?

Android, uygulama geliştirmede Java programlama dilini destekler. Java, uygulama geliştirme için en popüler dillerden bir tanesidir. Bu da onu, Android öğrenmeye yeni başlayan developer’ların bile Android ortamında uygulama oluşturmasını ve dağıtmasını hızlı bir şekilde öğrenmesi sağlar. Bunun dışında desteklenen diller şunlardır:

 

  • Kotlin: Kotlin modern, güvenli ve nesne yönelimli bir çapraz platform programlama dilidir. Android Studio 3.0 yayınlandığında, Kotlin Android için resmi programlama dili olarak duyurulmuştu.
  • C#: C# dilini kullanan geliştiriciler, yerel iOS ve Android mobil uygulamaları oluşturabilir.
  • Python: Python, son zamanların en popüler programlama dillerinden biri olarak ortaya çıkmıştır. Dinamik ve nesne yönelimli bir programlama dili olan Python, makine öğreniminde oldukça popülerdir.


 

7. AAPT nedir?

AAPT, Android Asset Packaging Tool'un kısaltmasıdır. Bu araç, Android uygulamalarının kaynak kodlarını ve diğer bileşenleri paketlemek için kullanılan bir araçtır.

AAPT, Android uygulamalarının derlenmesi sırasında kullanılır ve uygulamanın APK (Android Package) dosyasının oluşturulmasını sağlar. Ayrıca, uygulamanın kaynak kodlarının, kaynak dosyalarının ve diğer bileşenlerinin de APK dosyasına dahil edilmesini sağlar.


 

8. Android emülatörleri nedir?

Android emülatörleri, geliştirme ve test etme amacıyla bir Android mobil aygıtının donanımını ve yazılımını taklit etmek için tasarlanmış yazılımlardır. 

Android emülatörleri, Android uygulamaları oluşturmak için Mac veya PC'de çalışır. Oyun oynamak veya test etmek, android emülatörlerini kullanmak için popüler bir nedendir.


 

9. ActivityCreator ne işe yarar?

ActivityCreator, yeni bir Android projesi oluşturmaya yönelik ilk adımdır. Kabuk betiği tarafından yapılır. Android IDE içindeki kodları yazmak için gerekli olan yeni bir dosya sistemi yapısı oluşturmaya yarar.


 

10. Android’de “activity” ne demek? 

Android'de "activity", bir uygulamanın kullanıcı arayüzünü temsil eden bir bileşendir. Kullanıcı arayüzünün farklı durumları (örneğin, uygulama başlatıldığında veya uygulamadan çıkış yapıldığında) farklı etkinliklerle temsil edilir. Etkinlikler, Android uygulamalarının temel bileşenlerinden biridir ve uygulamanın kullanıcı deneyimini oluşturmak için önemli bir rol oynar.

Bir etkinlik, Activity sınıfının bir alt sınıfı olarak şu şekilde uygulanır 👇:


 

11. Bir etkinliğin dört temel durumu nedir?

Her etkinlik, belirli bir yaşam döngüsüne sahiptir. Bu yaşam döngüsü, etkinliğin oluşturulmasından (onCreate() yöntemi) başlayarak, kullanıcının etkinliği terk etmesine kadar (onDestroy() yöntemi) devam eder. 

 

  • onCreate () : Etkinlik oluşturulur.
  • onStart () : Bu geri çağırma yöntemidir.
  • onResume () : Kullanıcı etkinlikle etkileşim kurabilir.
  • onPause () : Etkinlik, başka bir etkinlik tarafından kısmen engellenmiştir.
  • onStop () : Etkinlik kullanıcı tarafından görülmez.
  • onDestroy () : Etkinlik silinir. 


 

12. onStop() yöntemi ne zaman çağırılır?

Başka bir etkinliğin devralınması durumunda, etkinlik artık kullanıcı tarafından görüntülenemediğinde onStop yöntemi kullanılır. 


 

13. Android projesinde hangi ögeler önemlidir?

Bunlar, her Android projesi oluşturulduğunda mevcut olan temel öğelerdir:

  1. Manifest: XML dosyasını içerir.
  2. Build/: Derleme çıktısını içerir.
  3. Res/: Kod dışı kaynakları içerir.
  4. Src/: Kodu ve kaynakları içerir.
  5. Assets/: .apk dosyasına dönüştürülebilen bir dosya içerir.


 

14. Konteyner nedir?

Konteynerler, nesneleri ve pencere ögelerini bir arada tutan yapılardır. Etiketleri, alanları ve düğmeleri içerir.


 

15. Adb nedir?

Adb (Android Debug Bridge), Android Hata Ayıklama Köprüsü anlamına gelir. Android cihazları ile bilgisayarlar arasında iletişim kurmak için kullanılan bir araçtır. 

ADB, bir USB kablosu veya Wi-Fi bağlantısı aracılığıyla Android cihazlarına erişim sağlar ve geliştiricilerin uygulamalarını test eder. Ayrıca, ADB, Android SDK'nın bir parçasıdır. Android Studio gibi entegre geliştirme ortamları tarafından da desteklenir. 


 

16. ANR nedir?

ANR (Application Not Responding), uygulama yanıt vermiyor ifadesinin kısaltmasıdır. Bir Android uygulamasının kullanıcı arayüzünün yanıt vermediği durumlarda ortaya çıkan bir hata mesajıdır. 

Uygulama uzun bir süre yanıt vermediğinde kullanıcıya bir iletişim kutusu şeklinde gözükür. Bu durumda, GUI (Grafik Kullanıcı Arayüzü) kilitlenecek ve bu da kullanıcının herhangi bir tuşa basamamasına neden olur. 

ANR, kullanıcıya iki durumda görünür: Bunlardan bir tanesi, kullanıcının giriş yaptığında 5 saniye içinde yanıt alamadığı durumdur. Diğeri ise, bir yayın alıcısının çalışmasını 10 saniye içinde tamamlamadığı durumdur.


 

17. Dalvik, Android geliştirmede nasıl bir rol oynar?

📍 Dalvik, Java ile yazılmış uygulamaları ve kodları çalıştıran sanal bir makinedir. Java derleyicisi, kaynak kodunu Bytecode'a dönüştürür, ardından Dalvik VM'nin okuyup kullanabileceği bir .dex dosyasında derler. Sınıf dosyalarını .dex dosyalarına dönüştürülür ve ardından Dalvik Sanal Makinesi tarafından okunur ve yürütülür. Dalvik aracılığıyla bir cihaz, daha iyi bellek yönetimi yoluyla birden fazla sanal makineyi verimli bir şekilde çalıştırabilir.


 

18. AndroidManifest.xml nedir?

AndroidManifest.xml, kodların çalıştırılabilmesi için Android sisteminin uygulama hakkında bilmesi gereken bilgileri içerir. Temel özellikleri şunlardır:

✅ AndroidManifest.xml, android uygulaması için gerekli xml dosyasıdır.

✅ Etkinlikler, hizmetler, yayın alıcıları, içerik sağlayıcılar vb. gibi uygulamanın bileşenlerini içerir.

✅ Uygulamanın korunan herhangi bir bölüme erişmesini sağlamaktan sorumludur.

✅ Uygulamada kullanılacak android api'yi bildirir.

✅ Enstrümantasyon sınıflarını listeler.


 

19. Tüm cep telefonları en son Android işletim sistemini destekler mi?

Bazı Android destekli telefonlar, daha yüksek Android işletim sistemi sürümüne yükseltme yapmaya izin verir. Ancak, en son Android sürümünün destekleyip destekleyemeyeceği, büyük ölçüde telefonun kapasitesine ve özelliklerine bağlıdır.


 

20. Android'de derleme süreci nasıl işler?

  1. Kaynak kodlarının yazılması: Uygulama geliştiricileri, uygulamanın çalışma mantığını belirleyen kaynak kodlarını yazarken, gerekli bileşenleri ve arayüz tasarımlarını da oluştururlar.
  2. Kodların derlenmesi: Kaynak kodları, Android Studio gibi bir geliştirme ortamında veya terminal gibi bir araçla, Java bytecode'a dönüştürülür.
  3. Bileşenlerin ve kaynak dosyalarının paketlenmesi: Derlenen kodlar, diğer bileşenler (örneğin resimler, ses dosyaları, yazı tipi dosyaları vb.) ve manifest dosyasıyla birleştirilir. Bu işlem, bir Gradle betiği tarafından otomatik olarak gerçekleştirilir.
  4. APK dosyasının oluşturulması: Tüm dosyalar, bir APK dosyası olarak paketlenir ve imzalanır. APK dosyası, Android cihazlara yüklenerek uygulama çalıştırılabilir hale getirilir.


 

21. Android Arayüz Tanımlama Dili Dosyayı (AIDL) nedir?

AIDL, bir arabirim tanımlama dilidir. Android Arayüz Tanımlama Dili veya AIDL, istemci ile hizmet arasındaki iletişimi kolaylaştırır. AIDL, Java diline benzer bir yapıya sahiptir ve veri türleri, metotlar ve arabirimlerin tanımlanmasını sağlar. Ayrıca, AIDL dosyaları, uygulamanın manifest dosyasında da tanımlanmalıdır.


 

22. Android Runtime (ART) nedir?

Android Runtime (ART), Android işletim sistemi tarafından çalışma zamanı ortamı olarak kullanılan bir uygulamadır. Sanal Makine (VM) olan Dalvik'in yerini almıştır. ART, uygulamanın bayt kodunu, cihazın çalışma zamanı ortamı tarafından gerçekleştirilen yerel talimatlara çevirmeye yarar.

 

 

23. Android uygulamalarındaki bellek sızıntılarını nasıl bulunur?

Android Aygıt Yöneticisi (ADM) kullanarak Android platformunda bulunan uygulamalardaki bellek sızıntıları tespit edilebilir. 


 

24. Android intent nedir?

Android intent, başka bir uygulama bileşeninden eylem istemek için kullanılan bir haberleşme nesnesidir.

  • ✔️ context.startActivity() – Bir aktiviteyi başlatmak için
  • ✔️ context.startService() – Bir servisi başlatmak için
  • ✔️ context.sendBroadcast() – Bir broadcast yapmak için


 

25. Android intent türleri nelerdir?

Android'de intentler, bir aktiviteden diğerine veya bileşenler arasında iletişim sağlamak için kullanılan temel mekanizmalardan biridir. 

 

1️⃣ Örtülü (Implicit) intent: Örtülü intent, hedef bileşenin intentte tanımlanmadığı ve android sisteminin, intent verilerine dayalı olarak kayıtlı bileşenleri değerlendirmesi gerektiği zaman kullanılır. Yani, işlevi belirtilmemiş hedef bileşenlerini başlatmak için kullanılır.

Örneğin, web sayfasını görüntülemek için aşağıdaki kodu yazabilirsiniz. 👇

 

2️⃣ Açık (Explicit) intent: Bir uygulamanın hedef bileşeninin doğrudan intentte tanımlamasıdır. Bir etkinlikten başka bir etkinliğe geçmenize yardımcı olur. Ayrıca, putExtra yöntemini kullanarak veri iletmek için de kullanılır. 


 

26. Android'de dosya, sınıf ve etkinlik arasındaki fark nedir?

  • 🗃️ Dosya (File), bilgi depolamak için kullanılan bir bilgi veya kaynak bloğudur. Herhangi bir dosya türü olabilir.
  • 📑 Sınıf (Class), Android'in yürütülebilir bir apk oluşturmak için kullandığı .Java dosyasından derlenmiş bir dosyadır.
  • 🖥️ Etkinlik (Activity), kullanıcı arayüzünün olduğu ve kullanıcının uygulama ile etkileşimde bulunabildiği temel bileşendir.


 

27. Android Toast nedir?

✅ Android'de "Toast", geçici ve genellikle altta beliren bir bildirim mesajıdır. 

✅ Kullanıcıya önemli bilgileri veya kısa mesajları göstermek için yaygın olarak kullanılan bir bildirim mekanizmasıdır. 

✅ Yalnızca mesaj için gereken alanı kaplar.

✅ Bildirimler otomatik olarak açılır ve kapanır.

✅ Toast, küçük bir açılır penceredeki işlem hakkında basit geri bildirim sağlar.

 

📍 Örnek syntax:


 

28. Android Broadcast Receiver (Yayın alıcısı) nedir? Nasıl uygulanır?

Broadcast Receiver, sistem tarafından gönderilen yayınları (broadcast) dinleyebilen bir mekanizmadır. Gelen aramayı dinlemek gibi işlemlerde kullanılır. 

Broadcast Receiver, diğer uygulamalardan veya sistemden gelen yayın mesajlarına yanıt vermeye yardımcı olur. Android işletim sistemi ile diğer uygulamalar arasındaki iletişimi yönetmek için kullanılır. 

👇 Broadcast Receiver'ı uygulamak için, BroadcastReceiver sınıfını miras alarak kendi sınıfınızı oluşturmanız gerekir. Bu sınıf, onReceive() adlı bir metot içermelidir. Bu metot, yayını alındığında otomatik olarak çağrılır ve yayınla ilgili işlemleri gerçekleştirir. 

 


 

29. Android’te veriler alt faaliyetlere nasıl aktarılır?

Verileri alt faaliyetlere iletmek için Bundles yani paketler kullanılır. 👇


 

30. Android'de WebView’ün kullanımı nasıldır?

WebView, uygulamanın içindeki web sayfalarını görüntüleyen bir bileşendir. Web sayfalarını görüntülemek için WebKit oluşturma motorunu kullanır. Bu, ileri ve geri gezinmek, yakınlaştırmak, uzaklaştırmak, metin aramaları yapmak ve daha fazlasını yapmak için gerekli yöntemleri içerir. 

Uygulamaya WebView eklemek için, XML layout dosyasına <WebView> öğesi eklenir. 

XML dosyasında eklemek için ⬇️:


 

31. Android Service (Hizmet) nedir? Nasıl uygulanır?

Android'de servis, uzun süren işlemleri gerçekleştirmek için kullanılan bir arka plan işlemidir. Servisler, uygulama devam etse de etmese de çalışabilirler ve diğer bileşenlerle iletişim kurabilirler. Örneğin, müzik çalma, veri senkronizasyonu, dosya indirme gibi işlemler için servisler kullanılabilir.


 

32. Android DDMS (Dalvik Debug Monitor Server) nedir?

Android yazılım geliştirme kitindeki (SDK) bir hata ayıklama aracıdır. Android işletim sisteminde harcanan her iş parçacığının ve harcanan sürenin ayrıntılarını bildirir. DDMS, Android Studio veya Eclipse IDE ile birlikte gelir ve Android cihazları veya sanal cihazları yönetmek ve izlemek için kullanılır.

DDMS sayesinde cihaz üzerinde çalışan uygulamalar görüntülenebilir, cihazın dosya sistemine müdahale edilebilir, sahte konum gönderebilir ve ekran görüntüleri alınabilir. 


 

33. Dalvik Sanal Makinesi (DVM) nedir?

✅ Dalvik, Android işletim sisteminde kullanılan sanal makinedir. 

✅ Dalvik VM, dosyaları .dex biçiminde yürüten, yalnızca yorumlayıcı bir sanal makinedir.

✅ Sanal makine, Java dili derleyicisi tarafından derlenen ve ‘dx' aracı kullanılarak yerel biçimine değiştirilmiş sınıfları çalıştırabilir.


 

34. .dex dosyası nedir?

Android programları, tek bir .apk dosyasına sıkıştırılmış '.dex' (Dalvik Executable) dosyalarında derlenir. '.dex' dosyaları, Java'da yazılmış derlenmiş uygulamalar çevrilerek oluşturulabilir. (.dex), etkili depolama ve bellek eşlenebilir yürütmeler için optimize edilmiş bir biçimdir. 

 

Bir Sonraki Adım

Android developer rolü için teknik mülakatlara hazırlanıyorsanız ilk olarak, tüm temel kavramları netleştirin. Mülakatta sorulan pek çok soru, sizin teknik becerilerinizi test eder.

Android mülakat soruları hakkındaki bu makalenin, size yardımcı olacağını umuyoruz. Android öğrenmek ve bu alanda kariyer yapmak istiyorsanız, ücretsiz Android Bootcamp’lerimize göz atmayı unutmayın.

İÇERİKLER
Konu içeriği

Önerilen İçerikler

Tüm İçerikler