Sau đó là một số câu hỏi thường chạm chán khi đi phỏng vấn về địa điểm lập trình android mà bản thân tổng đúng theo lại được. Trước khi bước vào buổi phỏng vấn hãy review lại một đợt nhé, biết đâu lại chạm chán phải "câu tủ". Mình sẽ bỏ qua 1 số câu hỏi định nghĩa cơ bản như activity là gì, tốt liệt kê vòng đời của activity cùng fragment, ... Mà triệu tập vào các câu hỏi thường bị vứt qua. Những câu vấn đáp sẽ tập trung vào các ý thiết yếu một bí quyết vắn tắt, chúng ta có thể tìm hiểu chi tiết hơn sử dụng các từ khóa chính trong câu hỏi. Các chúng ta cũng có thể theo dõi phần tiếp sau tại đây.
Bạn đang xem: Câu hỏi phỏng vấn android
1. Application là gì?
Lớp Application trong app android là lớp cơ sở trong ứng dụng android chứa toàn bộ các component khác như activity cùng service. Lớp Application hoặc ngẫu nhiên lớp bé nào của lớp nó sẽ tiến hành khởi sinh sản trước ngẫu nhiên lớp nào không giống khi process cho ứng dụng của người sử dụng được khởi tạo.
2. Context là gì?
Một Context là một đối tượng người dùng để phục vụ các xử lý tương quan tới khối hệ thống hay cung cấp thông tin của môi trường hệ thống. Nó cung cấp các thương mại & dịch vụ như để giải quyết resources, mang quyền truy vấn vào cơ sở tài liệu và preferences, ... Context hoàn toàn có thể được xem là thành phần xử lý về môi trường xung quanh mà ứng dụng của bạn đang chuyển động trong đó.Application Context: là 1 context gắn sát với vòng đời của một ứng dụng. Application context hoàn toàn có thể được sử dụng khi bạn cần một context có vòng đời đơn lẻ với context lúc này hoặc khi chúng ta truyền một context ra bên ngoài phạm vi hoạt động của một activity.Activity Context: context này là tất cả sẵn nghỉ ngơi trong một activity, nó gắn sát với vòng đời của activity này. Các bạn nên thực hiện loại context này khi phạm vi hoạt động bạn yêu cầu chỉ sống trong activity này hay bạn cần một context tất cả vòng đời gắn sát với context hiện nay tại.
3. Vì sao bytecode quan trọng chạy được trong Android?
Bởi vì app android sử dụng DVM - Dalvik Virtual Machine (từ các phiên bạn dạng trước Lollipop) với ART - game android Runtime (chính thức từ phiên bạn dạng Lollipop trở lên, tuy nhiên nó đang được thông báo và cho trải nghiệm nghiệm tự phiên bản Kitkat) để tiến hành chương trình chứ không áp dụng JVM (Java Virtual Machine).
4. Build
Type sống trong Gradle là gì? Nó được thực hiện với mục tiêu gì?
Các các loại build định nghĩa rất nhiều thuộc tính nhưng mà Gradle áp dụng khi kiến tạo và đóng gói một ứng dụng Android.
Build type khẳng định cách một module được xây dựng, ví dụ như có sử dụng ProGuard xuất xắc không, ...Product flavor xác minh những gì sẽ được tạo ra, ví dụ như tài nguyên như thế nào được bao hàm trong phiên bản build.Gradle tạo thành một build variant cho những tổ hợp rất có thể có từ sản phẩm flavor với build type trong dự án công trình của bạn.
5. Quy trình build một ứng dụng trong Android.

6. Ở trong activity, lúc nào thì on
Destroy() được gọi mà không có on
Pause() và on
Stop()?
Khi finish() được gọi ở trong cách làm on
Create() của activity đó, khối hệ thống sẽ điện thoại tư vấn trực tiếp on
Destroy().
7. Tại sao chỉ nên người ta gọi set
Content
View() trong on
Create() làm việc trong một activity?
Vì on
Create() chỉ được hotline tới một đợt nên đây là thời điểm họ nên khởi tạo đa số các yếu ớt tố cần thiết. Nó sẽ không kết quả nếu ta call set
Content
View() sinh sống trong on
Resume() hay on
Start() (bởi bọn chúng được gọi tới các lần) vày set
Content
View() là một vận động tiêu tốn tương đối nhiều tài nguyên.
8. Minh bạch Service, Intent Service, Async
Task cùng Thread.
Service là một thành phần được sử dụng để triển khai các tác vụ ở background ví như chơi nhạc. Nó không tồn tại giao diện người dùng (user interface). Service có thể chạy nghỉ ngơi trong background vô thời hạn trong cả khi vận dụng bị hủy.AsyncTask cho phép bạn triển khai các các bước bất đồng nhất ở background thread với publish tác dụng lên trên UI thread nhưng không yêu cầu chúng ta phải cách xử trí cách các thread giỏi handler hoạt động.Intent
Service là 1 loại Service để cách xử trí lần lượt những yêu cầu bất đồng nhất (thông qua Intent) sinh hoạt background thread. Client đã gửi yêu cầu thông qua việc call tới start
Service(Intent) cùng nó cũng không yêu cầu bạn phải "động tay động chân" tới câu hỏi xử lý thread / handler.Một Thread là một trong luồng thực hiện tuần tự trong một chương trình. Thread rất có thể được xem là một mini-process chạy làm việc trong main process.
9. Job Scheduling là gì?
Job Scheduling API, như cái tên gọi của nó, đến phép họ lên lịch các bước trong khi khối hệ thống sẽ thực hiện quá trình tối ưu hóa dựa trên bộ nhớ, nguồn với trạng thái kết nối. Job
Scheduler hỗ trợ lập định kỳ biểu các công việc. Hệ thống Android có thể kết phù hợp các các bước này để sút lượng tiêu thụ pin. Job
Manager giúp việc xử lý upload tiện lợi hơn bởi nó auto xử lý các trạng thái kết nối của mạng. Nó cũng sẽ sống sót kể cả khi áp dụng bị khởi đụng lại. Một vài tình huống hữu ích:
10. Mối quan hệ giữa vòng đời của Async
Task với Activity? Những vấn đề gì rất có thể xảy ra khi thực hiện chúng phổ biến với nhau? xử lý những vấn đề này thế nào?
Async
Task không được đính thêm với vòng đời của Activity chứa nó. Ví dụ, nếu khách hàng khởi rượu cồn Async
Task phía bên trong một Activity cùng khi người dùng quay thiết bị, Activity có khả năng sẽ bị hủy (và một instance bắt đầu của Activity sẽ được tạo) nhưng lại Async
Task sẽ không bị hủy mà cố gắng vào đó sẽ tiếp tục chạy cho tới khi nó hoàn thành.Sau đó, lúc Async
Task trả thành, rứa vì update giao diện người tiêu dùng của Activity mới, nó sẽ cập nhật phiên phiên bản Activity trước kia (Activity đã biết thành hủy). Điều này có thể dẫn đến một Exception: java.lang.Illegal
Argument
Exception.Ngoài ra còn có công dụng dẫn mang lại rò rỉ bộ lưu trữ (memory leak) vì Async
Task duy trì một tham chiếu mang lại Activity cũ, ngăn cản Activity này bị thu gom rác của Java thu thập khi vẫn còn đấy hoạt động.Vì những nguyên nhân này, việc áp dụng Async
Task cho các tác vụ nền chạy dài thường là một ý tưởng tồi. Cố kỉnh vào đó đối với các tác vụ nền chạy dài, bạn nên sử dụng một hình thức khác (chẳng hạn như service).
11. Cách làm on
Trim
Memory() là gì?
on
Trim
Memory (): Được điện thoại tư vấn khi hệ điều hành xác minh rằng đó là thời điểm giỏi để xử lý bộ lưu trữ không quan trọng từ một các bước của nó. Ví dụ vấn đề đó sẽ xảy ra khi tiến trình chạy ở chính sách nền cùng không đủ bộ nhớ lưu trữ để gia hạn được nhiều quy trình nền như mong mỏi muốn, khi đó hệ thống sẽ dựa vào độ ưu tiên của các bước để kill bớt tính đến khi bộ lưu trữ đã ổn định.Hệ thống Android hoàn toàn có thể lấy lại bộ nhớ cấp phát cho ứng dụng của người sử dụng theo rất nhiều cách thức hoặc kill ứng dụng của khách hàng nếu cần thiết để giải phóng bộ lưu trữ cho những tác vụ quan trọng. Để giúp cân nặng bằng bộ nhớ của khối hệ thống và né việc hệ thống hủy quá trình của ứng dụng, bạn có thể implement interface Component
Callbacks2 ở trong những lớp Activity của mình. Cách thức callback on
Trim
Memory () được cung cấp được cho phép ứng dụng của bạn lắng nghe các sự kiện tương quan đến bộ nhớ khi ứng dụng của doanh nghiệp ở foreground hoặc background từ đó bạn có thể xử lý khi khối hệ thống cần thu hồi lại bộ lưu trữ từ vận dụng của bạn.
12. App android Interface Definition Language (AIDL) và Messenger Queue.
Messenger Queue khiến cho ta một hàng đợi và những dữ liệu / thông điệp được truyền thân 2 hoặc nhiều hơn thế các các bước một cách tuần tự. Trong trường vừa lòng của AIDL thì những thông điệp được tương truyền một cách tuy vậy song.AIDL sử dụng giành cho mục đích khi chúng ta phải tiếp xúc ở mức vận dụng để share và kiểm soát và điều hành dữ liệu. Ví dụ: một ứng dụng yêu mong danh sách toàn bộ các contact từ áp dụng Danh bạ và nó có muốn hiển thị thời lượng cuộc điện thoại tư vấn và chúng ta cũng có thể ngắt liên kết nó khỏi ứng dụng đó.Đối với trương hợp của Messenger Queue, bạn sẽ chủ yếu làm việc trên các thread với process để làm chủ hàng ngóng chứa các thông điệp để không xuất hiện sự can thiệp của những dịch vụ bên ngoài tại đây.13. Thread
Pool là gì? Có công dụng hơn nếu thực hiện nó cố gắng vì thực hiện nhiều Thread riêng rẽ biệt.
Việc chế tạo ra và hủy những Thread bao gồm mức áp dụng CPU cao, bởi vì vậy khi họ cần thực hiện không hề ít tác vụ solo giản, nhỏ, giá cả để tạo những Thread riêng rẽ rất có thể chiếm một trong những phần đáng kể chu kỳ CPU và tác động nghiêm trọng cho thời gian đáp ứng nhu cầu cuối cùng. Thread
Pool bao gồm 1 hàng đợi nhiệm vụ và một tổ các worker thread, được cho phép nó chạy những instance một cách song song của một tác vụ.
14. Sự khác biệt giữa Serializable và Parcelable?
Serialization là vượt trình chuyển đổi một đối tượng người sử dụng thành một luồng (stream) byte để lưu trữ một đối tượng vào bộ nhớ, để nó có thể được tái tạo về sau khi cần, trong những lúc vẫn giữ lại trạng thái với dữ liệu thuở đầu của đối tượng.Serializable là 1 standard Java interface. Parcelable là 1 trong những interface ví dụ của Android, các bạn phải tự thực thi việc serialization. Tuy nhiên Parcelable có tác dụng hơn các so với Serializable (vấn đề với biện pháp tiếp cận thực hiện Serializable là nó sự dụng chế độ reflection và chính là một quá trình tương đối chậm. Phép tắc này cũng có thể có xu hướng tạo nên rất nhiều đối tượng người dùng tạm thời với gây tiêu hao tài nguyên khi bộ Garbage collection buộc phải thu thập tất cả chúng).
15. Các bạn sẽ cập nhật UI bên trên activity xuất phát điểm từ 1 background service như vậy nào?
Ta rất cần được đăng ký kết một Local
Broadcast
Receiver trong activity đó. Cùng gửi một broadcast với dữ liệu chứa vào intent trường đoản cú background service này. Miễn sao activity còn chuyển động ở trên foreground, giao diện người dùng sẽ được cập nhật. để ý bạn yêu cầu nhớ hủy đk broadcast receiver ngơi nghỉ trong phương thức Stop()của activity để tránh bị memory leak. Ta cũng có thể sử dụng một Handler để truyền dữ liệu trải qua nó.
16. Sự khác biệt giữa việc showroom / replace fragment vào backstack?
replace đào thải fragment hiện gồm và thêm 1 fragment new vào. Điều này có nghĩa là khi bạn nhấn nút quay lại, fragment đang được sửa chữa sẽ được khởi tạo thành lại cùng với onCreate
View của nó được gọi.add giữ lại các fragment hiện có và thêm một fragment mới đè lên chúng, có nghĩa là fragment hiện gồm sẽ vận động và các fragment sống dưới sẽ không rơi vào tâm trạng paused. Cho nên khi nút back được dìm on
Create
View ko được gọi cho đều fragment này.
17. Lý do ta phải truyền các tham số vào Fragment thông qua Bundle?
Lý do tại sao bạn phải chuyển những tham số trải qua bundle là vì khi hệ thống khôi phục một fragment (ví dụ: tín đồ dùng đổi khác cấu hình), nó sẽ tự động hóa khôi phục bundle của bạn. Bằng cách này, bạn bảo vệ được rằng tinh thần của fragment sẽ được khôi phục một cách đúng đắn về đúng tâm trạng của fragment đó khi được khởi tạo.
18. Retained fragment là gì?
Mặc định, Fragment sẽ ảnh hưởng hủy với được chế tạo ra lại cùng rất parent Activity của bọn chúng khi đổi khác cấu hình xảy ra. Lời hotline tới cách làm set
Retain
Instance(true) mang lại phép chúng ta bỏ qua quy trình "hủy-và-tái tạo" này; báo cáo cho hệ thống rằng bạn muốn giữ lại instance lúc này của fragment khi activity được tạo thành lại, đó đó là retainted fragment.
19. Sự khác nhau giữa Fragment
Pager
Adapter cùng Fragment
State
Pager
Adapter?
FragmentPager
Adapter: fragment của mỗi trang mà người dùng truy cập sẽ tiến hành lưu trữ trong cỗ nhớ, tuy nhiên view của nó sẽ bị hủy. Vày vậy, khi trang được hiển thị lại, chỉ view được tạo ra lại còn instance của fragment không được chế tạo ra lại. Điều này rất có thể dẫn tới việc một lượng bộ lưu trữ đáng nói được áp dụng cho các bước này. Fragment
Pager
Adapter chỉ nên được áp dụng khi chúng ta cần lưu toàn bộ fragment trong cỗ nhớ. Fragment
Pager
Adapter điện thoại tư vấn detach(Fragment) vào transaction thay vị remove(Fragment).Fragment
State
Pager
Adapter: instance của fragment vẫn bị hủy hoại khi nó không thể hiển thị cho những người dùng nữa, kế bên saved state của nó. Điều này dẫn đến việc chỉ sử dụng một lượng nhỏ tuổi bộ ghi nhớ và rất có thể hữu ích để xử lý các tập dữ liệu lớn hơn. Nên được áp dụng khi bọn họ phải sử dụng những fragment động. Nó sẽ không ảnh hưởng đến hiệu suất ngay cả khi có số lượng fragment là cực kỳ lớn.
20. Sự không giống nhau giữa margin & padding.
Xem thêm: Trụ cổng nhà cấp 4 đẹp đang được sử dụng nhiều nhất 2023, 15 mẫu cổng sắt đẹp cho nhà cấp 4
Padding là không gian gian nhận thêm vào bên phía trong container (ví dụ, nếu như nó là 1 trong button, padding sẽ tiến hành thêm vào bên phía trong button đó. Còn margin sẽ được thêm vào không gian bên phía ngoài của container.
21. View Group là gì? Nó không giống View như thế nào?
View: các đối tượng người tiêu dùng View là những khối giao diện cơ bản User Interface (UI) trong Android. View là một trong những hộp hình chữ nhật đối chọi giản, nó có thể phản hồi hành vi của người tiêu dùng lên nó. Ví dụ: EditText, Button, Check
Box, ... View tham chiếu đến lớp android.view.View, là lớp cửa hàng của tất cả các lớp UI.View
Group: View
Group là một trong container vô hình. Nó có thể chứa những View và View
Group. Ví dụ, Linear
Layout là 1 View
Group hoàn toàn có thể chứa Button (View) và những Layouts khác. View
Group là lớp đại lý cho Layout.
22. Sự không giống nhau giữa hình hình ảnh .png thông thường và hình ảnh nine-patch là gì?
Nine-patch là trong số những tài nguyên bitmap có thể thay đổi được kích thước, bọn chúng được thực hiện làm nền game hoặc các hình ảnh khác trên thiết bị. Lớp Nine
Patch có thể chấp nhận được vẽ một bitmap vào chín phần tử (section). Tứ góc (corner) ko scale được; phần trọng tâm của hình hình ảnh có thể được scale theo cả hai trục, tư cạnh được scale bên trên một trục.
23. Khi nào thì chúng ta nên sử dụng Frame
Layout?
Frame
Layout được thiết kế với để đựng một chiến thắng duy nhất, làm cho chúng đổi thay lựa chọn công dụng khi bạn phải hiển thị một View duy nhất.Nếu chúng ta thêm các View vào Frame
Layout thì bọn chúng sẽ xếp ông chồng lên nhau (cái sau đè lên cái trước), bởi vậy Frame
Layout cũng bổ ích trong ngôi trường hợp nếu bạn cần các View xếp chồng chéo.
24. Adapter là gì?
Một Adapter chịu trách nhiệm đổi khác từng data entry vào View, sau đó hoàn toàn có thể được cung cấp Adapter
View (List
View / Recycler
View) để hiển thị.
25. Nắm tắt quy trình tạo một custom View.
Tạo một tấm là Subclass của một View.Tạo một tệp tin res/value/attrs.xml với định nghĩa những thuộc tính bạn muốn sử dụng cùng với custom View đó.Trong lớp này, chế tạo ra một constructor, khởi tạo nên các đối tượng người dùng Paint và lấy những thuộc tính sống trên.Ghi đè onSize
Changed() hoặc on
Measure().Vẽ View của bạn bằng phương pháp ghi đè on
Draw().
26. Diễn đạt ngắn gọn gàng một số cách để tối ưu hóa View usage.
Kiểm tra những quá trình draw tiêu tốn nhiều tài nguyên (excessive overdraw): setup ứng dụng của khách hàng trên thiết bị android và sau đó bật tùy lựa chọn Debug GPU Overview.Làm phẳng view hierarchy: kiểm tra khối hệ thống phân cấp cho view của bạn bằng phương tiện Hierarchy Viewer của app android Studio (nên áp dụng ConstraintLayout những nhất hoàn toàn có thể để bảo đảm an toàn layout của người tiêu dùng luôn chỉ tất cả một tầng duy nhất).Ước lượng thời gian mỗi View đề xuất để hoàn thành quá trình measure, layout và các giai đoạn draw. Chúng ta cũng có thể sử dụng Hierarchy Viewer nhằm xác định bất kỳ phần nào của rendering pipeline mà bạn cần tối ưu hóa.
27. Bitmap pooling trong Android?
Bitmap pooling là một trong những kỹ thuật dễ dàng và đơn giản nhằm mục tiêu sử dụng lại bitmap thay bởi vì tạo các đối tượng người sử dụng bitmap mới những lần cần. Khi chúng ta cần một bitmap, bạn sẽ kiểm tra một bitmap stack giúp thấy có ngẫu nhiên bitmap nào có sẵn xuất xắc không. Nếu không có bitmap tất cả sẵn, bạn tạo một bitmap mới, trái lại bạn pop một bitmap từ bỏ stack và sử dụng lại nó. Sau đó, khi chúng ta hoàn thành công việc với bitmap này, bạn cũng có thể đặt nó lại lên một stack.
28. Sự khác hoàn toàn giữa commit() với apply() vào Shared
Preferences là gì?
commit () ghi tài liệu một cách nhất quán và trả về giá trị boolean thành công hay thua thảm tùy ở trong vào hiệu quả ngay lập tức.apply() hoạt động một biện pháp bất đồng hóa và nó sẽ không trả về ngẫu nhiên giá trị boolean nào. Bên cạnh đó nếu bao gồm apply() chưa được hoàn thành và bạn tiến hành một commit() khác. Commit() đó có khả năng sẽ bị chặn cho tới khi apply() được hoàn thành.Về tính năng apply nhanh hơn commit vày nó xử trí việc lưu trữ dữ liệu một cách sự không tương đồng bộ.
29. Có tác dụng giảm dung lượng file game android trong Android như vậy nào?
Bật Proguard vào project của bạn.Bật shrinkResources.Loại bỏ tất cả các tài nguyên toàn bộ không được sử dụng bằng phương pháp thêm thương hiệu tài nguyên quan trọng trong res
Configs.Chuyển đổi toàn bộ các hình ảnh sang dạng webp hoặc vector drawable.
30. S.O.L.I.D principles trong cải tiến và phát triển phần mềm.
The Single Responsibility Principle (SRP)The Open-Closed Principle (OCP)The Liskov Substitution Principle (LSP)The Interface Segregation Principle (ISP)The Dependency Inversion Principle (DIP)Rõ ràng là game android được hàng triệu con người trên quả đât yêu thích. Thiết kế Android, được tạo thành và cải cách và phát triển bởi Google, là một các bước đáng mơ ước so với các lập trình viên. Hiện tại nay, tất cả rất nhiều cơ hội việc làm yêu cầu các bạn phải làm quen với xây dựng Android. Đây thường là những công việc mang tính chuyên môn cao đem về mức lương và phúc lợi an sinh tuyệt vời. Hãy cùng free
C đi tìm hiểu những câu hỏi phỏng vấn apk developer thường gặp nhé.

Mục Lục
1 Các câu hỏi phỏng vấn game android developer thường gặp2 Câu hỏi phỏng vấn android developer nâng caoCác câu hỏi phỏng vấn apk developer thường gặp
Cho biết android là gì?
Hầu hết vào các cuộc phỏng vấn, nhà tuyển dụng sẽ hỏi app android là gì trước tiên. Bạn cần trả lời đầy đủ, ko chỉ giải đáp định nghĩa mà còn thể hiện sự hiểu biết sâu của bản thân thông qua ngôn từ diễn đạt dễ hiểu.
Nói một cách đối kháng giản, android là hệ điều hành trên thiết bị di động, nó được tạo ra và phát triển bởi chính đội ngủ Google. Code của nó dựa trên nhân Linux nguồn mở và android được thiết kế chủ yếu bên trên các thiết bị cảm ứng. Đối thủ lớn nhất của apk là IOS.
Trình bày Application là gì?
Application trong lập trình android là lớp đại lý trong ứng dụng chứa toàn bộ các yếu ớt tố đặc biệt hỗ trợ cho các hoạt động và dịch vụ của android. Trước khi các bước cho ứng dụng của khách hàng được khởi tạo, lớp hoặc bất kỳ các lớp nhỏ nào của nó cũng sẽ được khởi tạo trước.
Nơi app android lưu trữ GUI được gọi là gì?
GUI (Graphical User Interface) nghĩa là đồ họa giao diện người dùng. Nó là một công cố giúp các nhà lập trình app android mô phỏng các kịch bản cụ thể một mực và xem chúng theo hướng mà người dùng ứng dụng sẽ quan sát thấy.

Phân biệt “implicit” và “explicit”
Với implicit intent, giao diện app android sẽ kiểm tra hệ thống để biết các thiết lập có thể giúp cho bạn thực hiện nay nhiệm vụ của chính bản thân mình hay không. Còn với explicit intent (mục đích rõ ràng) là bạn chỉ định những thành phần mà hệ thống của các bạn sẽ sử dụng vào khi tiến hành nhiệm vụ.
Nêu 4 lớp cảm biến của Java
Android sử dụng 4 lớp cảm biến của Java cụ thể như: Sensor, Sensor
Event, Sensor
Event
Listener, và Sensor
Manager.
Vì sao bytecode không chạy được vào Android?
Nếu công ty tuyển dụng đặt thắc mắc phỏng vấn android developer này thì số đông họ vẫn hỏi tiếp là Tại sao. Bạn chỉ cần trả lời là Android dựa vào và sử dụng một loại bytecode đặc thù và khác biệt.
Nêu một vài ưu thế của hệ thống Android
Đây là câu hỏi mang tính chất tương đối đề xuất sẽ không có đúng sai cụ thể. Mặc dù nhiên, hãy tham khảo từ một vài ý kiến khác nhau từ những fan học lập trình game android về những tính năng rất tốt như: apk là nguồn mở, được cung ứng bởi nhiều nhà trở nên tân tiến phần cứng, dựa vào Java,…
Cho biết “Content Provider” có trọng trách gì?
Lệnh này được sử dụng để truy vấn các loại dữ liệu có tổ chức và có cấu tạo cụ thể. Nó có thể được xem như 1 loại phương tiện đi lại – kết nối những chuỗi mã với các chuỗi mã khác.
Android sử dụng Bytecode gì?
Ở câu trước đã có đề cập app android không sử dụng Bytecode vì nó có mã riêng. Mã đó được gọi là Dalvik Virtual Machine.
Adapter được sử dụng để làm gì?
Adapter được sử dụng để kết nối Adapterview với dữ liệu bên ngoài.
Câu hỏi phỏng vấn android developer nâng cao

Kể tên 2 phương pháp lưu trữ dữ liệu chính
Internal Storage (Bộ lưu giữ trong) là địa điểm lưu trữ toàn bộ dữ liệu và thông tin riêng tư trong phòng lập trình apk trong bộ nhớ trong của thiết bị.Shared Preferences (Tùy chọn chia sẻ) đa phần được thực hiện để lưu giữ trữ các cặp khóa giá chỉ trị.Cách sử dụng “intent”
Hầu hết các câu hỏi phỏng vấn android developer đều có nhiều rộng một câu trả lời, và câu này cũng không ngoại lệ. Chúng ta sử dụng “intent” trong ba trường hợp để khởi cồn thiết bị, ban đầu một hoạt động cụ thể và ban đầu phát sóng.
Cho biết “activity” là gì?
Thực ra, đấy là một câu hỏi rất đơn giản dễ dàng và dễ dàng hiểu, activity là vật đựng trong giao diện bạn dùng. Mặc dù nó lại được công ty tuyển dụng gửi vào câu hỏi nâng cao với mục đích làm bạn mất tập trung với câu hỏi dễ.
Cho biết các thành phần cốt lõi của Android
Hệ điều hành game android có năm thành phần cốt lõi chính:
ActivityContent Provider
Fragment
Intents
Services
Hai ứng dụng Android khác nhau có thể share cùng một Linux ID xuất xắc không?
Câu trả lời là có. Mặc dù câu trả lời của công ty không nên chỉ có thể có vậy. Mà cần được thêm đk đó là cả nhì sẽ buộc phải ký cùng một certificate(chứng chỉ) và share chung một VP.
Một số câu hỏi phỏng vấn apk developer khác

4 Component chính trong apk là gì?
Phân biệt Implicit cùng Explicit Intent.Phân biệt Service cùng Intent
Service.Trình bày Life
Cycle của Activity.Trình bày Life
Cycle của Fragment.Sự khác nhau của Activity với Fragment?
Khi nào thì dùng Fragment, hãy cho ví dụ.Giải thích Back stack fragment manager.Giải thích dp, dpi, pt, sp vào Android.Cho biết phương pháp quy thay đổi giữa px và dp.Khi 1 activity sẽ chạy, ta nhấn nút trang chủ thì activity đó đi vào những trạng thái nào?
Khi 1 Activity sẽ chạy, ta chọn recent apps, quét qua nhằm kill phầm mềm đó thì activity đó lấn sân vào những tâm lý nào?
Khi 1 Activity đang làm việc mà bị crash, activity đó bước vào trạng thái nào?
Nếu thêm các Fragment vào cùng 1 Frame
Layout bởi Fragment
Manager thì thực tế hiển thị fragment nào, những fragment kia lâm vào hoàn cảnh trạng thái gì?
Khi đã ở trong Activity, xoay screen thì Activity đi vào những tinh thần nào?
Khi sẽ ở trong Activity, mở 1 Alert
Dialog thì activity bước vào những tâm lý nào?
Tạo mới 1 Thread vào activity, khi mở activity bắt đầu thì Thread đó có còn chạy không?
Tạo bắt đầu 1 Async
Task trong activity, mở activity new thì Async
Task đó còn chạy không?
Media
Player đang chạy trong, tạo new activity khác, player đó còn chạy không?
Giải thích hợp về 4 launchmode:standard, single
Top, single
Task, single
Instance.Foreground cùng Background Service là gì, Bound service là gì?
Phân biệt Serializable với Parcelable, loại nào giỏi hơn?
ANR là gì, bao giờ nó xảy ra?
So sánh Linear
Layout cùng Constrain
Layout.Sự khác biệt giữ View.GONE với View.INVISIBLE.Liệt kê một số trong những thư viện http đang dùng.Rest APIs là gì, tại sao lại cần sử dụng nó?
Tại sao app android dùng db SQLite?
Khi nào cần sử dụng SQL, khi nào dùng XML.Android Gradle là gì?
Dependency injection là gì?
Làm cố gắng nào nhằm upload 1 file hình ảnh trong máy android lên server?
Liệt kê, phân tích và lý giải 4 tính chất OOP.MVVM, MVP, MVC là gì, khi nào dùng cái nào?
Singleton dùng để làm gì?
Khi nào dùng Interface hoặc Abstract Class.Immutable cùng mutable là gì?
Tại sao Class String trong Java lại immutable
Daemon Thread là gì?
Android Garbage collection chuyển động như thế nào?
Khi như thế nào 1 object sẵn sàng chuẩn bị for Garbage collection?
Phân biệt String
Builder và String.Phân biệt String
Builder và String
Buffer.Liệt kê mọi trường hợp mà lại finally không được gọi.Java dùng pass-by-value xuất xắc pass-by-reference?
Trình bày phương pháp để break phía bên trong vòng lặp lòng nhau.Cách hoán thay đổi 2 số a với b mà không yêu cầu tạo thêm phát triển thành thứ 3.
Bài viết này vẫn tổng hợp một loạt những câu hỏi phỏng vấn android developer, trường đoản cú cơ phiên bản đến nâng cao. Tuy nhiên, đây chỉ là 1 trong hàng nghìn câu hỏi của các nhà tuyển dụng. Dẫu vậy khi nói đến thắc mắc phỏng vấn Android, các câu hỏi được cung cấp trong bài viết này để giúp đỡ bạn có một số trong những ý tưởng hay với câu vấn đáp cho cuộc phỏng vấn. Hãy gây tuyệt vời với công ty tuyển dụng của người sử dụng và nỗ lực là chủ yếu mình! Chúc bạn sẽ sớm có được quá trình mơ mong này.