Salgından sonra BAT fabrikasına girmek ister misiniz? Bu Android mülakat bilgi noktalarına hakim olunmalıdır

Önsöz

Her yıl soğuk kış aylarında, her yıl bir Android programcısının büyük bir fabrikanın peşine düşme kararlılığını durduramaz. Büyük bir fabrikaya girmek istiyorsak hangi bilgi noktalarında ustalaşmamız gerekiyor? Burada herkes için genel bir bilgi yapısı oluşturdum. Hepsi Java, Android, algoritma, ağ vb. İçerir ve ayrıca ilgili bilgi noktası altında bu bilgi noktasıyla ilgili kitaplar ve bloglar da öneririm. Umarım bilgi sisteminizi okuduktan sonra geliştirmenize ve düzenlemenize yardımcı olabilirsiniz. Hepinizin ideal şirketinize bir an önce girmenizi dilerim ~~ Yazının sonunda derlediğim Android röportaj konularını ve cevaplarını sizlerle paylaşacağım.

Makalenin tamamının bilgi noktalarının bir özeti olduğunu ve cevapları içermediğini unutmayın.Kaynak kodunu daha fazla okumanız gerekir.Bilgi, ancak kendiniz keşfedip keşfederseniz değerli olacaktır!

Java temel bilgi noktaları

Jvm ile ilgili

  • Java bellek yapısı ve bölümü
  • Java nesnelerinin oluşturulması, depolanması ve erişimi
  • Java, nesnenin canlı olup olmadığını ve çöp toplama algoritmasını (GC) belirler
  • Jvm'de ortak çöp toplayıcı
  • Java sınıfı yükleme işlemi
  • Java sınıf yükleyici (üst yetki modeli)

Koleksiyonla ilgili

  • ArrayList analizi
  • LinkedList analizi
  • HashMap analizi
  • HashTable analizi
  • LinkedHashMap analizi
  • HashSet analizi
  • LinkedHashSet analizi
  • ArrayMap, SparseMap ve HashMap Karşılaştırması
  • ConcurrentHashMap analizi

Eşzamanlılıkla ilgili

  • Java bellek modeli
  • uçucu ilke
  • Senkronize Prensibi
  • AQS prensibi
  • Durum prensibi
  • ReentrantLock ilkesi
  • Adil kilit ve haksız kilit
  • ReentrantReadWriteLock ilkesi

Konu ile ilgili

  • İş parçacıkları ve süreçler arasındaki fark
  • Konuların başlangıcı ve sonlandırılması
  • İş parçacığı arası iletişim
  • Bekleme / bildirme mekanizması

Konu havuzu ile ilgili

  • İş parçacığı havuzunu kullanma nedenleri
  • İplik havuzunun iç prensibi
  • İş parçacığı havuzundaki birkaç önemli parametre ve işlem açıklaması
  • İş parçacığı havuzlarında birkaç ortak iş kuyruğu
  • Birkaç ortak iş parçacığı havuzu ve kullanım senaryosu.

IO ile ilgili

  • IO ile ilgili mülakat soruları-Soket
  • IO ile ilgili mülakat soruları-BIO / NIO

Android temel bilgi noktaları

Aktivite ile ilgili

  • Tipik koşullar altında yaşam döngüsü
  • Anormal koşullar altında yaşam döngüsü
  • Anormal koşullar altında veri koruma
  • Çeşitli durumlarda bir Aktiviteye atlarken hedef Aktivitenin yaşam döngüsü ve mevcut Aktivite
  • Etkinlik başlatma modu ve uygulama senaryoları
  • Süreç ve uygulama yaşam döngüsü

Hizmetle ilgili

  • Hizmetin tanımı ve işlevi
  • Service iki başlangıç yöntemi startService, bindService farkı ve yaşam döngüsü
  • Hizmet bağlama hizmetini uygulamanın, Binder sınıfını genişletmenin, Messenger kullanmanın, AIDL kullanmanın üç yolu
  • Başlangıç hizmeti ile bağlı hizmet arasındaki dönüşümle ilgili olarak, önce hizmeti bağlayın ve ardından hizmeti başlatın ve önce hizmeti başlatın ve ardından hizmeti bağlayın
  • Service ve Thread arasındaki fark
  • Örtük başlangıç sorunu ve Android 5.0 üzerindeki çözümleri
  • Hizmetin öldürülmemesi nasıl sağlanır
  • IntentService'in kullanımı ve ilkesi

Yayın Alıcı ile ilgili

  • YayınAlıcı tanımı ve işlevi, uygulama senaryoları
  • BroadcastReceiver kayıt yöntemi, statik yöntem, dinamik yöntem
  • BroadcastReceiver kaydının ve iptalinin zamanlaması
  • Farklı Yayın Alıcısı türleri, sıradan yayın, sistem yayını, sıralı yayın, yapışkan yayın, uygulama yayını

Parça ile ilgili

  • Parça yaşam döngüsü
  • Parça tembel yükleme
  • Fragment arasındaki iletişim
  • FragmentPagerAdapter ve FragmentStatePagerAdapter arasındaki fark
  • Verilerin doğrudan yeni Fragment kullanılarak aktarılması neden önerilmez

Serileştirmeyle ilgili

  • Serileştirme ve seriyi kaldırma tanımı ve farkı
  • Serializable'da serialVersionUID ve geçici anahtar kelimelerin rolü
  • Serileştirme: Parcelable ve Serializable arasındaki fark

IPC ile ilgili

  • Android'de hangi durumlarda çoklu işlem modu kullanılacak ve çoklu işlem nasıl etkinleştirilir?
  • Android neden IPC mekanizması olarak Binder'ı kullanıyor?
  • Yaygın IPC yöntemleri Bundle kullanın, dosya paylaşımı kullanın, Messenger kullanın, AIDL kullanın, ContentProvider kullanın, Soket kullanın
  • AIDL'nin semantiği
  • AIDL nasıl oluşturuldu
  • AIDL tarafından oluşturulan Java dosyalarının ayrıntılı analizi

İlgili olay mekanizmasını görüntüleyin

  • Görünümün koordinat sistemi
  • Kaydırmanın çeşitli yolları, ScrollTo / ScrollBy kullanın, animasyon kullanın, düzen parametrelerini değiştirin
  • Elastik kaymanın prensibi ve gerçekleştirilmesi
  • Olay dağıtım mekanizmasını, tıklama olay teslim kurallarını, olay dağıtımının kaynak kodu yorumlamasını görüntüleyin
  • Değişken çatışmaların üstesinden gelmek için senaryolar ve çözümler

İlgili çizimi görüntüle

  • DecorView, Window, ViewRootImpl ve diğer kavramlar
  • MeasureSpec kavramı
  • İş akışını görüntüleyin, süreci ölçün, düzen süreci, çizim süreci
  • Görünümü özelleştirirken dikkat edilmesi gerekenler
  • Etkinlik, Pencere ve Görünüm arasındaki ilişki

İlgili animasyonu görüntüle

  • Ortak animasyon Görünümü animasyonu (ara animasyon), nitelik animasyonu ve kare animasyonu
  • Ara animasyonu ile nitelik animasyonu arasındaki fark
  • Farklılaştırıcı ve tahminci anlayışı
  • Mülk animasyonu nasıl çalışır?

İşleyiciyle ilgili

  • ThreadLocal of Handler mekanizması
  • Looper, Handler ve Handler mekanizmasının mesaj kuyruğu nasıl anlaşılır?
  • İşleyici mekanizmasının mesajını gönderme ve alma
  • Handler mekanizmasının Mesaj ve Mesaj geri dönüşüm mekanizması
  • İşleyici mekanizmasının döngüsel mesaj kuyruğunun çıkışı
  • İşleyici mekanizmasının bellek sızıntısı
  • IdleHandle of Handler mekanizmasının anlaşılması ve kullanımı

AsyncTask ile ilgili

  • AsyncTask'ın kullanımı ve önlemleri
  • AsyncTask doInBackgound, onProgressUpdate, onPostExecute, vb .'nin birkaç önemli yöntemi.
  • AsyncTask'ın çalışma prensibi ve kaynak kodu anlayışı

Bitmap kompresör geri dönüşümü ile ilgili

  • Bitmap tarafından kullanılan bellek
  • Resimleri sıkıştırmanın yaygın yolları
  • LruCache prensibi
  • DiskLruCache ilkesi
  • LinkedHashMap ilkesi

ListView, RecyclerView ile ilgilidir

  • ListView ilkesi ve yeniden kullanım mekanizması
  • ListView ve RecyclerView arasındaki fark

Veri depolamayla ilgili

  • Yaygın olarak kullanılan veritabanı çerçevesi Yeşilda, resmi Oda
  • Veritabanı veri taşıma sorunları
  • Yeşildao'da bire bir, bire çok ve çoktan çoğa ilişkiler
  • SharedPreferences kullanım ve kaynak kodu, commit ve apply () yöntemleri arasındaki fark

Android açık kaynak çerçevesi bilgi noktaları

OkHttp ile ilgili

  • OkHttp'nin Avantajları
  • OkHttp, isteğin tüm sürecini yürütür
  • OkHttp'de Interceptor
  • OkHttp'de eşzamanlı ve eşzamansız isteklerin anlama ve kaynak kodunu anlama
  • OkHttp'de yer alan tasarım desenleri
  • OkHttp temel ağ isteği uygulaması, soket veya URL Bağlantısı

Güçlendirme ile ilgili

  • İyileştirme, talebin tüm sürecini yürütür
  • Dönüştürmede ConverterFactory ve CallAdapterFactory'yi Anlama
  • Güçlendirmede CallAdapter'ın adaptör modu

RxJava ile ilgili

  • RxJava yaygın olarak kullanılan oluşturma operatörleri, sadece aralık, aralık vb. Oluşturur.
  • RxJava yaygın olarak kullanılan kombinasyon ve birleştirme işleçlerini birleştirir Son, birleştir, birleştir, sıkıştır, vb.
  • RxJava hata işleme operatörleri onErrorReturn, onErrorResumeNext, onExceptionResumeNext, vb.
  • RxJava filtre operatörleri filtre, ofType, sample, take vb.
  • Rxjava geri basınçla ilgili anlayış
  • Gerçek geliştirmede RxJava'nın kullanımı: ağ isteği yoklama, ağ isteği yuvalanmış geri aramalar, disk / bellek önbelleğinden önbelleğe alınmış verilere erişim, vb.

Kayma ile ilgili

  • Glide'ın yürütme süreci
  • Glide'ın önbelleğe alma mekanizması
  • Glide görüntü dönüştürme
  • Glide'ın ilerleme ile resim yükleme işlevi
  • Kayma belleği, disk önbelleği, öncelikli kullanım

ButterKnife ile ilgili

  • Java notu ile ilgili Annotation
  • Java notlarıyla ilgili APT araçları
  • ButterKnife Ek Açıklama Çerçevesinin İlkeleri

EventBus ile ilgili

  • EventBus ilkesi ve dizin sınıflarının kullanımı

Android performans optimizasyonu

  • Performans optimizasyonu: düzen optimizasyonu, işleme optimizasyonu, iş parçacığı optimizasyonu vb.
  • ANR istisnası: Ana iş parçacığı, BroadcastReceiver (ön planda 10 saniye, arka planda 60 saniye), Hizmet (ön planda 20 saniye, arka planda 200 saniye) gibi zaman alıcı işlemler gerçekleştirdi, ilgili görevleri tamamlamadı.
  • OOM istisnası: bellek taşmasının nedeni
  • Bellek sızıntıları: tekli modun neden olduğu sızıntılar, statik değişkenlerin neden olduğu sızıntılar, öznitelik animasyonunun neden olduğu bellek sızıntıları gibi çeşitli bellek sızıntıları senaryosu.

Android ekran uyarlaması bilgi noktaları

  • Toutiao adaptasyon yöntemi
  • Genişlik ve yükseklik niteleyicisi uyarlama yöntemi
  • smallestWidth adaptasyonu

Android paketleme bilgi noktaları

  • Android imzalarını anlama
  • Gradle çok kanallı paketleme

Android mimarisi bilgi noktaları

  • MVC mimari tasarım modeli mülakat soruları açıklandı
  • MVP Mimari Tasarım Modeli Mülakat Sorularının Açıklaması
  • MVVM mimari tasarım modeli mülakat soruları açıklandı

Android'in farklı sürümlerinin bilgi noktaları

Önerilen okuma: Android Adapt to Android 6.0'ın 7.0, 8.0, 9.0 altında farklı sürümleri altında yayın özellikli yayınlar Android 7.0 uygulama paylaşım dosyalarına adaptasyon (FileProvider) Android 7.0 paylaşılan dosyaları nasıl kullanılır

Ağ bilgi noktaları

  • Üç bilgisayar ağı mimarisi, OSI mimarisi (7 katman), TCP / IP mimarisi (4 katman), beş katman
  • TCP bağlantı yönetimi (üç mesaj anlaşması, dört mesaj anlaşması)
  • TCP ve UDP'yi anlama ve arasındaki fark
  • Http (HyberText Aktarım Protokolü) temel kavram ve mesaj yapısı
  • Http yaygın hata kodları
  • Http1.0 ile Http1.1 ve Http2.0 arasındaki fark
  • Http'de istek alma ve istek gönderme arasındaki fark
  • HTTP'de tanımlama bilgisi ve oturum arasındaki fark
  • Http ve Https arasındaki fark
  • Https şifreleme algoritmasıyla ilgili mülakat soruları, imza sertifikası, açık anahtar özel anahtarı, dijital özetin anlaşılması

Tasarım modellerinin bilgi noktaları

  • Tekli mod
  • Oluşturucu modu
  • Dekoratif desen
  • Strateji modu
  • Şablon yöntemi
  • Gözlemci modu
  • Bekle.....

Algoritma bilgi noktaları

  • Sekiz yaygın sıralama yöntemi
  • Zaman karmaşıklığı hesaplaması
  • Bağlantılı liste ile ilgili algoritmalar, bağlantılı liste çevirme, bağlantılı liste birleştirme vb.
  • Ön sipariş, orta sıra ve ikili ağaçla ilgili algoritmaların konumlayıcı geçişi (özyineleme, yineleme)
  • Kırmızı-siyah ağaç ve BL ağacı
  • Bekle

sonuç olarak

Öğrenme teknolojisi yavaş, uzun ve meşakkatli bir yoldur.Bir tutkuya güvenemezsiniz, birkaç gün ve gece ayakta kalarak iyi öğrenemezsiniz.Normal zamanlarda çok çalışma alışkanlığı edinmelisiniz. ve bu yüzden: Azim!

Son olarak, buradaki editör, yukarıdaki teknik sistem şemalarıyla ilgili düzinelerce set koleksiyonunu paylaşıyor. Tencent, Toutiao, Ali, Meituan ve diğer şirketlerden 19 yıl içinde mülakat soruları , Teknik noktaları video ve PDF olarak düzenledi (aslında beklenenden çok daha fazla enerji harcadı), Bilgi bağlamı + birçok ayrıntı , Sınırlı alan nedeniyle, işte resim şeklinde bir parçası.

ve ayrıca Gelişmiş mimari teknolojisi gelişmiş zihin haritası, Android geliştirme röportajı özel materyalleri , Herkesin ileri seviyeyi geliştirmeyi öğrenmesine yardımcı olmak için gelişmiş gelişmiş çerçeve materyalleri ve ayrıca internette öğrenmek için materyal aramak için herkesin zamanından tasarruf sağlar ve ayrıca birlikte öğrenmek için arkadaşlarla paylaşılabilir.

[Android geliştirmeyle ilgili temel bilgilerle ilgili notlar]

[Android zihin haritası (beceri ağacı)]

[Android temel ileri teknoloji PDF belgesi, BAT görüşmesindeki gerçek soruların analizi]

[Android Advanced Architecture Video Öğrenme Kaynakları]

Android Tanıtım Videosu alıp öğrendikten sonra, daha da güçlü hale geliyor! BATJ fabrikasına girin ve benzeri (hazırlık)! Günümüzde İnternetin soğuk olduğu söyleniyor. Aslında, yanlış arabaya bindiğinizden ve daha az (beceri) giydiğinizden başka bir şey değil. Doğru arabaya binerseniz ve kendi teknik yeteneğiniz yeterince güçlüyse, şirketin değişim maliyeti yüksek olacaktır. Sadece son iş Curd'u ortadan kaldırmak için! Günümüzde piyasada genç programcılar akınına uğramaktadır. Bu eğitim seti 1-6 yaş arası Android geliştirme mühendislerine yöneliktir. Darboğaz dönemindedirler. Gelecek yıl maaş artışlarını aşmak isteyenler, ileri düzey Android orta ve kıdemli, mimarlar daha da önemlidir Sudaki bir balık gibi, çabuk alın!

[Android gelişmiş öğrenme videosu], [Android mülakat hilelerinin tam seti PDF], [Android geliştirme temel bilgi notları] özel mesajla [Android] ücretsiz olarak elde edilebilir!

Son olarak, işini değiştirmek ve iyi bir iş bulmaya hazırlanan herkese diliyorum!

Çok fazla ileri düzey mülakat sorusu var, bu temel Android mülakat sorularını yine de yapabilir misin?
önceki
30 yaşında bir mühendis istifa etmek zorunda kalabilir mi? Statüko nasıl kırılır?
Sonraki
Sao Nian! Android görüşmecilerini tamamen fethetmek için Binder ilkesini kullanın
Altın üç gümüş dört: 2019'daki gerçek röportajın özeti, bu Android mülakat sorularına ihtiyacınız var
Mobil: Salgın gökyüzünün yarısına vuruyor ve programcılar istikrar istiyorlarsa güç için savaşmalılar
Android programcısı: "Bytedance röportajcısı olarak bir şey söylemem gerekiyor!"
İş değiştirmeyi düşündün mü? İşte Android mimarlarının görüşmeler için bazı önerileri ve hazırlıkları var
Altın üç gümüş dörtlü için hazır mısınız: işte Android 20'nin sorulması gereken mülakat soruları ve ayrıntılı analiz
Öne çıkan! Android büyük OPPO mülakat soruları ve deneyim özeti
Android LayoutManager üst düzey oyuncular, süslü formların farkına varın
Android programcı sorunu: farklı geliştirme aşamalarında nasıl ilerlenir?
Android geliştiricilerinin 2020'de tanrı olmasına giden yol! Bu temel becerileri öğrenin
Mobil programcıların iş değiştirmeleri ve mülakat başarı oranını% 80 artırmaları için mülakat sorularına nasıl hazırlanılır?
2020'de ne öğrenmeli? Android beceri haritası yükselişte
To Top