Öne çıkan! Android büyük OPPO mülakat soruları ve deneyim özeti

Önüne yaz

Salgın hakkında

Bugün salgın verilerine bir göz attım. 24.363 vaka teşhis edildi Büyüme oranı hayal gücümü aştı.Salgını önlemek için önlemler almalısın. Her zaman ciddiye almayan insanlar olacaktır, işte herkese bir hatırlatma

  • Dışarı çıkarken maske takın, ellerinizi sık sık yıkayın, hapşırırken veya öksürürken ağzınızı ve burnunuzu kapatın.
  • Vahşi veya kümes hayvanları hayvanlarla temastan veya kesmekten kaçının ve çiğ yiyecek yemeyin
  • İç ortam hijyenini ve hava sirkülasyonunu sağlamaya dikkat edin ve kalabalık yerlerdeki faaliyetleri en aza indirin
  • Gerekirse evde tıbbi alkol ile dezenfekte edin
  • Toplama faaliyetlerine katılmayın
  • Uykuyu sağlayın ve bağışıklığı artırın
  • Söylentilere inanma, söylentilere geçme

Salgın virüs şiddetleniyor, yapabileceğimiz şey salgına karşı iyi bir kişisel koruma işi yapmak ve aile üyelerimizin salgını önlemesine yardımcı olmak!

Bugün, OPPO ile önceki röportajın bazı küçük deneyimlerini ve daha sık karşılaşılan bazı soruları paylaşacağım, ancak özgeçmiş deneyimimiz farklı ve sorulan sorular farklı olacak ve büyük fabrika röportajları birkaç röportaj sorusu hakkında düşünülmüş. Hala oldukça zor. Bu nedenle, herkese geçici olarak Buda'nın ayaklarına sarılmamasını hatırlatmak isterim.Birkaç günde ezberleyebilecekleriniz kesinlikle birkaç günde sizi aşacaktır, ancak yerleşmek için birkaç yıl harcadığımız şeyler birkaç ayda yetişemeyebilir. Umarım uçmazsan, gökyüzüne uçarsın.

Tüm mülakat süreci çok havalı.Üç mülakat turu, iki tur teknik (her turda iki mülakatçı) ve bir tur İK vardır.

Teknik taraf

1. Mmap + yerel günlük optimizasyonu?

Geleneksel log baskısının iki performans problemi tartışılmıştır: Biri dosya tanımlayıcı tablosunu tekrar tekrar manipüle etmek, diğeri tekrar tekrar çekirdek moduna girmek ve daha sonra mmap prensibi ve mekanizması tartışılmaktadır.

2. Android önyükleme süreci hakkında konuşun

Çok konuştum, aralarında ServiceManager süreci sistem hizmetlerini yönetmek için kullanılıyor Görüşmeci emin olduğunuzu söyledi? Sistem hizmetlerini yönetmek SystemServer süreci değil mi? Bazı tartışmalardan sonra, görüşmeci şaşkına döndü, SystemUI hizmetinden bahsetti, masaüstü sürecinden bahsetti ve açılış animasyonunun nasıl değiştirileceğini sordu?

3. Sistem, masaüstü uygulamalarını başlatmamıza ve bulmamıza nasıl yardımcı olur?

Niyet üzerinden dedim ve hangi niyetin nasıl bulunacağını söyledi PMS'nin tüm apk'nin AndroidManifest.xml'sini ayrıştıracağını söyledim.Eğer ayrıştırılırsa package.xml'de saklanacak ve tekrar tekrar ayrıştırılmayacak, PMS onunla bulabilir.

4. Dinamik durum sayfasının yüklenmesi hakkında konuşun, bunu neden yapıyorsunuz?

Nesneler oluşturmak için xml ayrıştırma ve yansıtma süresini azaltmak ve aynı anda birden fazla kullanılmayan nesne oluşturmaktan kaçınmak için, bunları dinamik olarak kodla eklemek için bir çerçeve yazdığımı söyledim. Şu anda, görüşmeci, tüm arayüzlerin kodla yazıldığını düşünerek ne demek istediğimi yanlış anladı, bu çok sorun olur ve bunu daha sonra açık bir şekilde açıkladım.

5. Sayfa yenileme mekanizması hakkında konuşun GPU hata ayıklama aracının renk değerleri neyi temsil eder?

Surface'ın temel yönetiminden bahsetmek aslında IBPQ'dur, asenkron sinyalin kökeninden bahsetmek, SurfaceFlinger'ın donanım ve yazılım mekanizması tarafından gönderilmesi ve uygulama arayüzümüzde çizilen içeriğin nasıl sunulduğu ve SurfaceFlinger'a aktarıldığı hakkında konuşmaktır. GPU hata ayıklama aracının çeşitli renklerinin anlamı da tartışılmaktadır.

6. ConcurrentHashMap'in gerçekleşme ilkesi hakkında konuşun

İş parçacığı açısından güvenlidir ve uygulama ilkesi parçalı bir kilit kullanır.

7. okhttp'nin bağlantıları nasıl yeniden kullandığını biliyor musunuz?

Bu bir ağ optimizasyon problemidir.Aynı ip ve aynı port bir bağlantıyı çoklayabilir.Sonra http 2.0'ın çoğullamasını sordum, bir tcp'nin birden fazla isteği olabilir dedim. Prensip? Bilmiyorum dedim Https hakkında daha sonra konuşmama izin verin.

8. Dizi ve bağlantılı liste arasındaki fark

9. Hızlı sıralama ve özyineleme

Teknoloji

1. Dinamik kayıt ve statik kayıt hakkında konuşun

Statik kayıt, yöntemi paket adı ve işlev adı aracılığıyla bulmaktır ve dinamik kayıt, yöntem tablosunu kaydetmek için hangi işlevin çağrıldığı sorulan kayıt yöntemi tablosu aracılığıyla yapılır.

2. Bunun yükleme süreci nedir ve yaşam döngüsü nedir

Bu, java katmanından kaynak kod analizine bakmak içindir.Hedef yolu bulmak için ClassLoader'ın PathList'inden yüklenir.Aynı zamanda, mmap yüklemesi ile sanal alana eşlenir. JNI_OnLoad ve JNI_OnUnload () yöntemleri, kitaplık yaşam döngüsü sırasında yüklendiğinde ve kaldırıldığında çağrılır.

3. Yerel katman bellek sızıntılarını nasıl algılar?

Fonksiyonu bağlamanın mantıklı olduğunu ve hafıza açma ve hafıza bırakma sayılarının aynı olması gerektiğini söyledim.Farklı iseler hafıza sızıntılarından şüphelenilebilir. Görüşmeci daha sonra test edilebilecek herhangi bir üçüncü taraf araç veya kitaplık olup olmadığını sordu. Aslında şirkette pek yazmadığımı söyledim, motor grubunun hangi çerçeveyi entegre ettiğini bilmiyorum.Çoğunlukla uygulama katmanı geliştirmede iyiyim.

4. Hangi nesnelerin gc-root olarak kullanılabileceği sızıntı kanaryası ilkesi

Tamam, esas olarak uygulama katmanı geliştirmede iyi olduğunuzu söylediniz.Java katmanındaki bellek sızıntılarını nasıl tespit ediyorsunuz? Kullandığımız sızıntı kanarının prensibinden bahsedeyim. İlkeden sonra tüm nesne sızıntılarının sızıntı kanaryası ile tespit edilip edilmediğini sordum. Alıntı zinciri nasıl yönetiliyor? Daha sonra, zayıf referanslı nesnelerin gc olduğunda serbest bırakılacağını, ne zaman serbest bırakılmayacağını söylediğinizi sordum. Şu anda kafam karışmıştı, aslında bir hafıza sızıntısı olduğunda yayınlanmayacak, beynim kısa devre olmuştu ve tepki vermedim.

5. UI nasıl optimize edilir?

Esas olarak kullanıcı arayüzü yenileme mekanizmasının aşağıdan akışından ve SurfaceFlinger'ın altında yatan mekanizmadan bahsettim. Prensip netleştikten sonra birçok optimizasyon yapılabilir. Barabara çok konuştu ve sonunda UI donmasının nasıl izleneceği hakkında konuştu. .

6. İplik zaman alıcı gecikme nasıl izlenir?

Algılamak için temelde araçlar kullanın O zamanlar sadece systrace + fonksiyon enstrümantasyon yönteminden bahsedildi.

7. Bana Tinker prensibinden bahseder misiniz?

8. Karşılaştığınız en zor sorun nedir?

Şirket projemizin dinamik yükleme çerçevesini kullanmadığını söyledim, ancak daha sonra entegre edilen U3D projesinin dinamik olarak yüklenmesi gerektiğini, ancak yalnızca bu ve kaynak dinamik yüklemesinin gerekli olduğunu söyledim.Üçüncü kütüphane işlevsel ihtiyaçlarımızı desteklemiyor, bu yüzden sadece mermiyi ısırıyorum. Her ana sürümün kaynak kodu desteklenir, dinamik onarım ve değiştirme yüklemesi ve varlıkların kaynak dinamik onarımı ve yüklemesi desteklenir ve ardından belirli ayrıntılar açıklanır.

9. Hangi ortak veri yapılarına aşinasınız? Profesyonel bir algoritma değilseniz bunu nasıl öğrendiniz?

Dizi, bağlantılı liste, yığın, ikili ağaç, sıra, yığın, dengeli ikili ağaç, kırmızı-siyah ağaç, Huffman ağacı, grafik. Kitabı kendim okudum ve algoritma sorulardan geçiyor ve burada belirli bir algoritma detayı yok.

10. Çevrimiçi birinden gelen geri bildirimlerle genellikle nasıl ilgilenirsiniz?

Geliştirme süreci sırasında önemli günlükleri kaydedin ve analiz için çevrimiçi kullanıcı günlükleri edinin.

Kişisel deneyim

Her şeyi elde etme mantığıyla yapmaya gerek yok, BAT'a girmek için olmam gerektiğini öğrenmek gibi. Durum buysa, BAT'a girdiğimizde ne yapmalıyız, ölüm gibi hayatın sonu anlamına gelmez. Ömür boyu. Sakinleşebildiğimiz sürece doğal olarak gelecek olan şey olacak, Yüksek bir kariyeriniz yoksa, bayağılıktan kurtulabilir ve ünlü olabilirsiniz; öğrenmek için fazla zamanınız yoksa, işlerin yükünü azaltabilirsiniz ve süper kutsal olursunuz. .

Her şeyi ilgiyle yapmayın, her zaman savundum Başkalarına ulaşırken kendinizi başarın . Bir ilgi zihniyetiyle hareket etmediğim müddetçe, bunu bırakabilirim. Konuşmak istediğimde konuşabilirim ve konuşmak istemediğimde bunu atlayabilirim. Süreçte kesinlikle her türlü şüphe ve şüphe olacaktır, ısrar edemezseniz vazgeçersiniz ama kalbinizde problemler varsa hatırlayacaksınız.

Sonunda

Kendinizi daha iyi geliştirmek için farklı görüşmeler aracılığıyla kendi görüşme sürecinizi kaydedin.

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!

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
önceki
Android LayoutManager üst düzey oyuncular, süslü formların farkına varın
Sonraki
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
Android mülakat deneyimi için gerekli beceri rezervinin detaylı açıklaması, teklifi aldı
Teknik yön konusunda kafanız mı karıştı? Kıdemli mobil geliştiriciler, Android geliştirmenin gelecekteki yönü hakkında konuşuyor
Mülakat ve mülakat soruları öncesindeki Android mülakat engellerini ortadan kaldırın.
Bu, üst düzey üreticilerin Android mühendisleri için gerekli beceriler sistemi + öğrenme rotası koleksiyonudur
Ayrıcalıklı günlük Sırbistan'da Çinli uzmanlar sadece tavsiyelerle ilgilenmiyor
Wuhan'da havai fişekler var
Xi Jinping, çok kısa bir süre içinde özel bir zirvede Çin'in
Güncel Olaylar HaberleriXi Jinping bu özel zirveye katıldı ve "salgın" Çin politikasına karşı küresel bir savaş önerdi
To Top