Câu hỏi phỏng vấn Android Developer

69 Các câu hỏi phỏng vấn Android Developer được chia sẻ bởi các ứng viên

Bộ câu hỏi phỏng vấn về thông tin cá nhân

Hãy giới thiệu qua về bản thân bạn?

Đây là dạng câu hỏi phổ biến mà khi đi phỏng vấn xin việc bạn sẽ được hỏi. Bạn hoàn toàn có thể chuẩn bị và luyện tập trước ở nhà. Câu trả lời cần ngắn gọn, khoảng 2-3 phút. Bên cạnh đó, cũng cần phải đầy đủ với các thông tin cần thiết nhất cho nhà tuyển dụng, đặc biệt là kinh nghiệm liên quan đến vị trí PHP. 

Theo bạn, điểm mạnh điểm yếu của mình là gì?

Đây là phần mà các bạn sẽ tự đánh giá về bản thân mình để đưa điểm mạnh, điểm yếu. Dựa vào đó, nhà tuyển dụng sẽ có cái nhìn tổng quan nhất về con người, tính cách và có phù hợp với vị trí họ đang tuyển dụng cũng như văn hóa công ty hay không?  

Bạn biết gì về công ty chúng tôi?

Nhà tuyển dụng rất quan tâm đến việc bạn biết về công ty của họ như thế nào? Hơn hết họ biết được ứng viên có thực sự hiểu rõ về công ty và tìm hiểu trước khi tham gia phỏng vấn hay không. Bởi vậy, bạn nên tìm hiểu kỹ lưỡng về công ty và trình bày một số vấn đề liên quan như lĩnh vực hoạt động, văn hoá, quy mô hoạt động của công ty như thế nào?,..

Bạn có kinh nghiệm làm việc với các dự án lớn không?

Tùy vào quy mô của doanh nghiệp sẽ yêu cầu kinh nghiệm làm việc của bạn với các dự án lớn, điều này sẽ giúp gây ấn tượng trong mắt nhà tuyển dụng. Dù bạn đã là việc với dự án quy mô lớn hay nhỏ cũng đều nên thể hiện kỹ năng quản lý của mình và đưa ra các con số cụ thể. Ví dụ: “Tôi đã đứng đầu dự án A, một hệ thống quản lý dữ liệu cho một doanh nghiệp lớn. Công việc này đòi hỏi tôi phải làm việc với một nhóm đa dạng và đảm bảo rằng dự án hoàn thành đúng tiến độ và đạt chất lượng mong muốn."

Bạn thường xuyên làm việc nhóm hay làm việc độc lập?

Công ty muốn tìm hiểu về tính sẵn sàng làm việc độc lập hay làm việc nhóm của bạn. Bạn có thể chia sẻ mình đã có cả hai trải nghiệm: thường làm việc trong nhóm để chia sẻ kiến thức và ý tưởng, đặc biệt trong các dự án lớn và cũng rất thoải mái làm việc độc lập, đặc biệt khi cần tập trung vào việc giải quyết các vấn đề kỹ thuật phức tạp.

Bạn làm thế nào để theo kịp xu hướng công nghệ mới?

Bạn hãy thoải mái chia sẻ những phương thức mà bạn cảm thấy hứng thú khi tìm hiểu về các công nghệ mới như dành thời gian hàng ngày để đọc sách, tham gia vào cộng đồng trực tuyến và thử nghiệm các công nghệ mới hoặc tham gia các khóa học trực tuyến và sự kiện công nghệ để cập nhật thông tin mới nhất và học từ các chuyên gia trong ngành.

Các câu hỏi phỏng vấn thường gặp

Câu 1: Android là gì?

Android là một hệ điều hành mã nguồn mở dựa trên Linux được sử dụng trong các thiết bị di động như điện thoại thông minh, máy tính bảng, tivi,… Được Google phát hành lần đầu vào năm 2008, sau nhiều lần cập nhật thường xuyên định kỳ hàng năm, Android hiện đang trở thành nền tảng hệ điều hành điện thoại thông minh (smartphone) phổ biến nhất thế giới.

Android có một hạt nhân dựa trên nhân Linux; middleware, thư viện và API được viết bằng C; còn phần mềm ứng dụng chạy trên một nền tảng ứng dụng gồm các thư viện tương thích với Java. Nó sử dụng máy ảo Dalvik với một trình biên dịch động thường được biên dịch sang Java bytecode.

Câu 2: Lập trình Android sử dụng ngôn ngữ gì?

Hiện nay có nhiều cách để tạo ra các ứng dụng Android, có thể là native app, cross-platform app hay hybrid app. Đối với Native App chỉ những ứng dụng được viết bằng công cụ và SDK mà Google cung cấp cho lập trình viên, chúng ta có thể sử dụng ngôn ngữ lập trình Kotlin, Java hoặc C/C++ cho việc viết source code và phát triển phần mềm. Ngoài ra thì trong lập trình Android, để dựng giao diện ứng dụng chúng ta sử dụng ngôn ngữ XML; thao tác với cơ sở dữ liệu bằng hệ quản trị CSDL quan hệ SQLite. 

Android cung cấp công cụ phát triển chính thức dành cho lập trình viên bao gồm:

  • Android SDK (Software Development Kit) bao gồm ADB (Android Debug Bridge), Fastboot và gói ứng dụng Android (APK)
  • NDK (Native Development Kit): bộ công cụ giúp sử dụng code C/C++ trong Android
  • ART (Android Runtime) – một sự thay thế cho Dalvik là môi trường chạy ứng dụng Android
  • Android Studio: IDE môi trường phát triển tích hợp

Câu 3: Nêu vòng đời của một Activity trong Android

Activity là thành phần quan trọng nhất của ứng dụng Android, thông thường sẽ cung cấp một cửa sổ (window / frame) hiển thị các thành phần UI (giao diện người dùng) để tương tác. Mỗi Activity sẽ có một vòng đời cụ thể trong quá trình hoạt động tương ứng với những trạng thái cùng methods mà Android cung cấp:

  • Launched: trạng thái mà Activity được kích hoạt, hệ thống đẩy vào stack. Lúc này lần lượt các callback methods sẽ được gọi: onCreate, onStart và onResume.
  • Running: trạng thái Activity đang chạy, người dùng sẽ nhìn thấy UI của Activity và có thể tương tác với chúng. Trong lúc này, nếu có một Activity nào khác chiếm quyền hiển thị thì Activity của chúng ta sẽ callback method onPause. Lúc này nếu người dùng quay lại Activity thì method onResume sẽ được gọi, nếu Activity không được hiển thị lên nữa thì method onStop sẽ được gọi. Khi Actvity đã onStop, để mở lại Activity thì method onRestart sẽ được gọi.
  • Process Killed: Trong trường hợp Activity đang ở không được Active, hệ thống thiếu bộ nhớ để hoạt động thì Activity sẽ bị thu hồi (xử lý hủy) để giải phóng tài nguyên. Khi Activity được gọi lại thì nó sẽ call lại method onCreate.
  • Shutdown: Khi người dùng chủ động tắt ứng dụng thì Activity cũng kết thúc vòng đời của nó và call method onDestroy.

Câu 4: Fragment là gì? Khi nào sử dụng Fragment

Fragment là một thành phần độc lập trong Android, được sử dụng bởi một Activity, có thể hiểu như một sub-Activity. Fragment có vòng đời và UI riêng. Trong ứng dụng Android, tại một thời điểm thì chỉ có 1 Activity được hiển thị duy nhất lên màn hình; vì thế để đáp ứng cho các giao diện cần chia màn hình ra thành nhiều phần (ví dụ như dạng Tab) để sử dụng, chúng ta sử dụng Fragment cho bài toán này.

Nhiều fragment kết hợp với nhau trong một Activity để xây dựng giao diện đa cửa sổ và có thể tái sử dụng. Lợi ích khi sử dụng Fragment:

  • Có tính module hóa cao hơn
  • Quản lý tốt hơn cho vòng đời của một phần UI riêng biệt
  • Có khả năng tái sử dụng trong các Activity
  • Dễ dàng giải phóng dữ liệu, giảm chi phí bộ nhớ
  • Khả năng xử lý logic linh hoạt hơn nhờ khả năng chia sẻ dữ liệu giữa các Fragment trong cùng một Activity

Câu 5: Nêu các thành phần cơ bản xây dựng UI trong Android

Trong Android, để xây dựng giao diện người dùng (UI) chúng ta sử dụng thành phần cơ bản bao gồm View, ViewGroup và Layout. 

  • View là lớp cơ sở (class) của tất cả các thành phần giao diện được Android cung cấp sẵn như Button, TextView, CheckBox, RadioButton, ImageView,…
  • ViewGroup là một lớp trừu tượng (abstract) kế thừa từ View, nó cũng chính là View nhưng có khả năng chứa các View khác bên trong. 
  • Layout chính là các ViewGroup được xây dựng sẵn với mục đích chứa các View con cùng các điều khiển để sắp xếp vị trí cho các View đó hiển thị lên màn hình. Layout phổ biến sử dụng bao gồm: FrameLayout, ConstraintLayout, LinearLayout, RelativeLayout, GridLayout, TableLayout,…

Câu 6: Canvas là gì?

Canvas được xem như một bề mặt 2D để chúng ta có thể vẽ bất cứ thứ gì lên đó và hiển thị cho người dùng thấy. Chẳng hạn chúng ta có thể vẽ một điểm, một đường thẳng, một hình chữ nhật, đường tròn, elip hay thậm chí cả những hình ảnh phức tạp khác. Có rất nhiều bài toán mà chúng ta sử dụng đến Canvas khi mà nội dung chúng ta muốn hiển thị lên cho người dùng không thể biểu diễn được bằng các View sẵn có. 

Android cung cấp cho chúng ta những method để vẽ các đối tượng trong Canvas như sau:

  • Các đối tượng hình học cơ bản: Point, Line, Oval, React,…
  • Vẽ hình ảnh: Bitmap, Drawable
  • Vẽ tập hợp các điểm: Path
  • Vẽ Text

Câu 7: Làm sao hiển thị các nội dung dạng danh sách trong Android

ListView và RecycleView là 2 ViewGroup phổ biến sử dụng để hiển thị các nội dung dạng danh sách. ListView giúp hiển thị các thành phần (elements) theo dạng một danh sách có thể cuộn được theo chiều thẳng đứng và được sử dụng như một class cơ bản trong Android từ những phiên bản đầu tiên. RecycleView mới được giới thiệu trong Android L (API level 21) với sự mạnh mẽ và bổ sung nhiều chức năng hơn so với ListView.

RecycleView hỗ trợ scroll theo cả chiều ngang (horizontal) và chiều dọc (vertical); ngoài ra RecycleView.LayoutManager cho phép layout các item trong list theo dạng grid hay staggered grid. RecycleView còn nhiều hỗ trợ bổ sung đáng giá như Animation khi thêm hay xóa 1 item trong danh sách; hỗ trợ draw divider tùy ý. Thêm một cải thiện nữa là RecycleView bắt buộc sử dụng ViewHolder khi tạo một Adapter nhằm cải thiện performance của danh sách tốt hơn.

Câu 8: Broadcast Receiver là gì?

Broadcast Receiver là một trong 4 components lớn trong Android với nhiệm vụ lắng nghe các sự kiện, trạng thái của hệ thống phát ra ví dụ như có tin nhắn đến, hành động rút / cắm sạc, hành động bật/ tắt mạng,… từ đó ứng dụng của chúng ta sẽ xử lý các hành động tương ứng bên trong. Broadcast Receiver có thể hoạt động cả khi ứng dụng đang ở background mode và hay được sử dụng với Service.

Để thực thi được Broadcast Receiver, chúng ta cần phải đăng ký Broadcast trong file Android Manifest hoặc trong file Java (source code) của ứng dụng thông qua lớp IntentFilter tương ứng với từng hành động, sự kiện cụ thể xảy ra trên thiết bị. Chúng ta cũng có thể tự định nghĩa các Custom Broadcast Receiver để truyền thông điệp trong và ngoài ứng dụng mà chúng ta mong muốn. Ngoài ra, Android cũng cung cấp component Local Broadcast Receiver cho việc gửi thông điệp gói gọn trong project, không thông qua hệ thống nhằm tránh bị rò rỉ thông tin ra ngoài các ứng dụng khác.

Câu 9: Có những loại Service nào trong Android

Service cũng là một thành phần chính trong ứng dụng Android giúp chúng ta thực hiện các tác vụ cần nhiều thời gian, không có giao diện người dùng (UI) và không bị tắt khi đóng ứng dụng; chẳng hạn như download file từ Internet, chạy nhạc, đồng bộ dữ liệu lên cloud,…

Service được chia thành 3 loại:

  • Foreground Service: là những services mà người dùng chú ý và thấy rõ ràng như play music (người dùng có thể tương tác control nó). Một điều bắt buộc là Foreground Service phải hiển thị một Notification.
  • Background Service: những services mà người dùng không chú ý trực tiếp như thu gom bộ nhớ của hệ thống.
  • Bound Service: là những services được ràng buộc bởi một thành phần trong ứng dụng và khởi động nó bằng lời gọi bindService. Điều đó cũng có nghĩa là khi thành phần ràng buộc này tháo bỏ ràng buộc với service thì Service đó cũng bị destroy.

Câu 10: Hãy giải thích về kiến trúc MVP trong Android

MVP viết tắt bởi Model – View – Presenter là một kiến trúc phần mềm thường được đề xuất, khuyến nghị sử dụng trong các dự án Android. MVP được thiết kế để tạo điều kiện cho việc kiểm thử đơn vị tự động (Automated Unit Testing) và cải tiến Separation of Concerns (tách biệt thành phần) trong việc trình bày logic (presentation logic).

Với Android, MVP tách ứng dụng (cấu trúc source code) thành 3 tầng Model, View, Presenter và trong mỗi tầng đều được chia thành module nhỏ có vai trò riêng biệt. Tầng Presenter là nơi tập trung xử lý logic, cũng là cầu nối giữa Model và View. Đây là nơi theo dõi sự thay đổi của ứng dụng, các biến trạng thái và xử lý logic tương ứng. Presenter có phần giống với Controller trong mô hình MVC, dù vậy thì trong mô hình MVP, Model và View không hề liên kết với nhau mà tất cả phải qua Presenter.

Kinh nghiệm “đậu” phỏng vấn

Để buổi phỏng vấn diễn ra suôn sẻ và nắm chắc phần thành công, bạn cần chú trọng thêm các yếu tố:

Về trang phục

Trước khi đến buổi phỏng vấn, hãy tìm hiểu về văn hóa công ty và quy định về trang phục. Bất kể loại trang phục bạn chọn, hãy đảm bảo nó luôn gọn gàng và sạch sẽ. Quần áo không nứt rách, không bị nhăn, giày dép được làm sạch. Điều này thể hiện tôn trọng và sự chú ý đến chi tiết. Mặc dù quần áo nên trang nhã và chuyên nghiệp, nhưng bạn cũng cần cảm thấy thoải mái khi diện chúng. Mặc quần áo mà bạn cảm thấy tự tin và dễ chịu để bạn có thể tập trung vào buổi phỏng vấn.

Đối với nữ, áo sơ mi và váy hoặc quần âu là một sự lựa chọn tốt, bạn có thể kết hợp với kiểu tóc gọn gàng, trang điểm thanh lịch và phối hợp cùng các phụ kiện phù hợp với trang phục. Nam có thể lựa chọn áo sơ mi cùng quần âu với các màu sắc trung tính và hài hòa, hãy luôn nhớ cạo râu và để đầu tóc gọn gàng khi bước đi phỏng vấn. 

Về tác phong

Nên đến sớm 10 - 15 phút, để tránh trường hợp xảy ra các sự cố trên đường hay sự cố về trang phục. Những nhà tuyển dụng cũng thích những người đến sớm và có chuẩn bị tốt.

Tác phong chuyên nghiệp, giữ bản thân ở trạng thái bình tĩnh, lắng nghe câu hỏi phỏng vấn và lời lưu loát, rõ ràng. Hạn chế nói lắp, trả lời không rõ ràng, thiếu logic, mạch lạc

Tự tin giao tiếp

Tự tin trong việc nói về kinh nghiệm và khả năng của bạn là quan trọng. Hãy trình bày một cách rõ ràng và dễ hiểu. Lắng nghe câu hỏi kỹ lưỡng và trả lời một cách chắc chắn. Đảm bảo bạn hiểu rõ về kiến thức và kỹ năng yêu cầu cho vị trí bạn đang ứng tuyển như ngôn ngữ lập trình, framework, công cụ phát triển và các khái niệm liên quan,... Như vậy bạn sẽ có tự tin và thể hiện cách bạn suy nghĩ logic, phân tích vấn đề và đưa ra giải pháp hợp lý.

 

Câu hỏi phỏng vấn Android Developer & Cách trả lời

Dưới đây là 3 câu hỏi phỏng vấn Android Developer hàng đầu và cách trả lời chúng:

Câu hỏi #1: Android là gì?

Android là một hệ điều hành mã nguồn mở dựa trên Linux được sử dụng trong các thiết bị di động như điện thoại thông minh, máy tính bảng, tivi,… Được Google phát hành lần đầu vào năm 2008, sau nhiều lần cập nhật thường xuyên định kỳ hàng năm, Android hiện đang trở thành nền tảng hệ điều hành điện thoại thông minh (smartphone) phổ biến nhất thế giới.

Android có một hạt nhân dựa trên nhân Linux; middleware, thư viện và API được viết bằng C; còn phần mềm ứng dụng chạy trên một nền tảng ứng dụng gồm các thư viện tương thích với Java. Nó sử dụng máy ảo Dalvik với một trình biên dịch động thường được biên dịch sang Java bytecode.

Câu hỏi #2: Trình bày Application là gì?

Application trong lập trình Android là lớp cơ sở trong ứng dụng chứa tất cả các yếu tố quan trọng hỗ trợ cho các hoạt động và dịch vụ của android. Trước khi quy trình cho ứng dụng của bạn được khởi tạo, lớp hoặc bất kỳ các lớp con nào của nó cũng sẽ được khởi tạo trước.

Câu hỏi #3: Nêu các thành phần cơ bản xây dựng UI trong Android

Trong Android, để xây dựng giao diện người dùng (UI) chúng ta sử dụng thành phần cơ bản bao gồm View, ViewGroup và Layout. 

  • View là lớp cơ sở (class) của tất cả các thành phần giao diện được Android cung cấp sẵn như Button, TextView, CheckBox, RadioButton, ImageView,…
  • ViewGroup là một lớp trừu tượng (abstract) kế thừa từ View, nó cũng chính là View nhưng có khả năng chứa các View khác bên trong. 
  • Layout chính là các ViewGroup được xây dựng sẵn với mục đích chứa các View con cùng các điều khiển để sắp xếp vị trí cho các View đó hiển thị lên màn hình. Layout phổ biến sử dụng bao gồm: FrameLayout, ConstraintLayout, LinearLayout, RelativeLayout, GridLayout, TableLayout,…

Câu hỏi phỏng vấn

Android Developer được hỏi... 24/10/2023

Android Interface Definition Language (AIDL) và Messenger Queue.

1 câu trả lời

Messenger Queue tạo cho ta một hàng đợi và các dữ liệu / thông điệp được truyền giữa 2 hoặc nhiều hơn các tiến trình một cách tuần tự. Trong trường hợp của AIDL thì các thông điệp được truyền đi một cách song song.AIDL sử dụng dành cho mục đích khi bạn phải giao tiếp ở mức ứng dụng để chia sẻ và kiểm soát dữ liệu.

Ví dụ: một ứng dụng yêu cầu danh sách tất cả các liên hệ từ ứng dụng Danh bạ và nó cũng muốn hiển thị thời lượng cuộc gọi và bạn có thể ngắt kết nối 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 nhiều thread và process để quản lý hàng đợi chứa các thông điệp để không xuất hiện sự can thiệp của các dịch vụ bên ngoài tại đây.

 

Android Developer được hỏi... 24/10/2023

Tóm tắt lại quá trình tạo một custom View.

1 câu trả lời

  • Tạo lớp là Subclass của View
  • Tạo file res/ value/ attrs.xml và định nghĩa những thuộc tính bạn muốn sử dụng với View đó. 
  • Tạo một constructor và khởi tạo các đối tượng của Paint, lấy các thuộc tính có trên. 
  • Ghi đè onSizeChanged() hoặc onMeasure
  • Vẽ View bằng cách ghi đè onDraw().
Android Developer được hỏi... 24/10/2023

Retained fragment là gì?

1 câu trả lời

Mặc định, Fragment sẽ bị hủy và được tạo lại cùng với parent Activity của chúng khi thay đổi cấu hình xảy ra. Lời gọi tới phương thức set Retain Instance(true) cho phép chúng ta bỏ qua chu trình "hủy-và-tái tạo" này; báo hiệu cho hệ thống rằng bạn muốn giữ lại instance hiện tại của fragment khi activity được tạo lại, đó chính là retainted fragment.

Android Developer được hỏi... 24/10/2023

Sự khác nhau giữa margin & padding.

1 câu trả lời

Padding là khoảng không gian được thêm vào bên trong container (ví dụ, nếu nó là một button, padding sẽ được thêm vào bên trong button đó. Còn margin sẽ được thêm vào không gian bên ngoài của container.

Android Developer được hỏi... 24/10/2023

Sự khác nhau giữa hình ảnh .png thông thường và hình ảnh nine-patch là gì?

1 câu trả lời

Nine-patch là một trong những tài nguyên bitmap có thể thay đổi được kích thước, chúng được sử dụng làm hình nền hoặc các hình ảnh khác trên thiết bị. Lớp Nine
Patch cho phép vẽ một bitmap trong chín bộ phận (section). Bốn góc (corner) không scale được; phần ở giữa của hình ảnh có thể được scale theo cả hai trục, bốn cạnh được scale trên một trục.

Android Developer được hỏi... 24/10/2023

Tại sao ta nên truyền các tham số vào Fragment thông qua Bundle?

1 câu trả lời

Lý do tại sao bạn nên chuyển các tham số thông qua bundle là vì khi hệ thống khôi phục một fragment (ví dụ: người dùng thay đổi cấu hình), nó sẽ tự động khôi phục bundle của bạn. Bằng cách này, bạn đảm bảo được rằng trạng thái của fragment sẽ được khôi phục một cách chính xác về đúng trạng thái của fragment đó khi được khởi tạo.

Android Developer được hỏi... 24/10/2023

Sự khác biệt giữa việc add / replace fragment trong backstack?

1 câu trả lời

Replace loại bỏ fragment hiện có và thêm một fragment mới vào. Điều này có nghĩa là khi bạn nhấn nút quay lại, fragment đã được thay thế sẽ được khởi tạo lại với on
Create 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 có sẽ hoạt động và những fragment ở dưới sẽ không rơi vào trạng thái paused. Do đó khi nút back được nhấn on Create View không được gọi cho những fragment này.

Android Developer được hỏi... 24/10/2023

Bạn sẽ cập nhật UI trên activity từ một background service như thế nào?

1 câu trả lời

Ta cần phải đăng ký một Local Broadcast Receiver trong activity đó. Và gửi một broadcast với dữ liệu chứa trong intent từ background service này. Miễn là activity còn hoạt động ở trên foreground, giao diện người dùng sẽ được cập nhật. Lưu ý bạn nên nhớ hủy đăng ký broadcast receiver ở 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 thông qua nó.

Android Developer được hỏi... 24/10/2023

Sự khác biệt giữa Serializable và Parcelable?

1 câu trả lời

Serialization là quá trình chuyển đổi một đối tượ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 sau này khi cần, trong khi vẫn giữ trạng thái và dữ liệu ban đầu của đối tượng.Serializable là một standard Java interface. Parcelable là một interface cụ thể của Android, bạn phải tự triển khai việc serialization. Tuy nhiên Parcelable có hiệu quả hơn nhiều so với Serializable (vấn đề với cách tiếp cận sử dụng Serializable là nó sự dụng cơ chế reflection và đó là một quá trình tương đối chậm. Cơ chế này cũng có xu hướng tạo ra rất nhiều đối tượng tạm thời và gây tiêu tốn tài nguyên khi bộ Garbage collection phải thu thập tất cả chúng).

Android Developer được hỏi... 24/10/2023

Thread Pool là gì? Có hiệu quả hơn nếu sử dụng nó thay vì sử dụng nhiều Thread riêng biệt.

1 câu trả lời

Việc tạo và hủy các Thread có mức sử dụng CPU cao, vì vậy khi chúng ta cần thực hiện rất nhiều tác vụ đơn giản, nhỏ, chi phí để tạo các Thread riêng rẽ có thể chiếm một phần đáng kể chu kỳ CPU và ảnh hưởng nghiêm trọng đến thời gian đáp ứng cuối cùng. Thread Pool bao gồm một hàng đợi nhiệm vụ và một nhóm các worker thread, cho phép nó chạy nhiều instance một cách song song của một tác vụ.

Android Developer được hỏi... 24/10/2023

Sự khác nhau giữa Fragment Pager Adapter và Fragment State Pager Adapter?

1 câu trả lời

Fragment Pager Adapter: fragment của mỗi trang mà người dùng truy cập sẽ được lưu trữ trong bộ nhớ, mặc dù view của nó sẽ bị hủy. Vì vậy, khi trang được hiển thị lại, chỉ view được tạo lại còn instance của fragment không được tạo lại. Điều này có thể dẫn đến việc một lượng bộ nhớ đáng kể được sử dụng cho công việc này. Fragment
Pager Adapter chỉ nên được sử dụng khi chúng ta cần lưu toàn bộ fragment trong bộ nhớ. Fragment Pager Adapter gọi detach(Fragment) trong transaction thay vì remove(Fragment).

Fragment State Pager Adapter: instance của fragment sẽ bị phá hủy khi nó không còn hiển thị cho người dùng nữa, ngoại trừ saved state của nó. Điều này dẫn đến việc chỉ sử dụng một lượng nhỏ bộ nhớ và có thể hữu ích để xử lý các tập dữ liệu lớn hơn. Nên được sử dụng khi chúng ta phải sử dụng các fragment động. Nó sẽ không ảnh hưởng đến hiệu suất ngay cả khi có số lượng fragment là rất lớn.

Android Developer được hỏi... 24/10/2023

1. Hãy cho tôi biết về trải nghiệm Android gần đây của bạn.

2. Sự tương thích về thời gian và không gian là gì?

3. Phương pháp đối tượng được gõ là gì?

Android Developer được hỏi... 30/10/2023

Nguyên tắc cơ bản của Android, Java, thuật toán

Android Developer được hỏi... 24/10/2023

Quá trình làm việc ở đội ngũ cũ.

Android Developer được hỏi... 07/11/2023

Vui lòng mô tả về kinh nghiệm của bạn trong phát triển ứng dụng di động Android và các dự án Android quan trọng mà bạn đã tham gia.

1 câu trả lời

Khi trả lời câu hỏi về kinh nghiệm phát triển ứng dụng di động Android và dự án quan trọng, bạn nên bắt đầu bằng việc nêu rõ tổng quan về số năm kinh nghiệm của mình trong lĩnh vực này. Sau đó, tập trung vào các dự án cụ thể mà bạn đã tham gia, giải thích về mục tiêu của dự án, vai trò của bạn trong đó và các thành tựu hoặc khó khăn mà bạn đã gặp phải. Hãy đảm bảo thể hiện sự chuyên nghiệp và sự hiểu biết sâu rộng về nền tảng Android, kỹ thuật và công cụ phát triển ứng dụng. Đồng thời, nhấn mạnh khả năng làm việc trong nhóm và khả năng giải quyết vấn đề, cũng như khả năng học hỏi và thích nghi trong môi trường công nghệ thay đổi liên tục.

Android Developer được hỏi... 07/11/2023

Làm thế nào bạn quản lý vấn đề tương thích trên nhiều thiết bị và phiên bản Android khác nhau khi phát triển ứng dụng?

1 câu trả lời

Khi đối mặt với câu hỏi này trong phỏng vấn vị trí Android Developer, bạn nên thể hiện khả năng quản lý vấn đề tương thích trên nhiều thiết bị và phiên bản Android khác nhau bằng cách sử dụng các phương pháp như kiểm tra tương thích, sử dụng thư viện và công cụ phát triển đa nền tảng, sử dụng hệ thống kiểm tra tự động, và duyệt qua tài liệu hỗ trợ và cộng đồng phát triển Android để giải quyết vấn đề một cách hiệu quả. Bạn cũng nên nhấn mạnh tầm quan trọng của việc duyệt qua và thử nghiệm trên các thiết bị và phiên bản Android khác nhau để đảm bảo tính tương thích toàn diện của ứng dụng.

Android Developer được hỏi... 07/11/2023

Hãy chia sẻ về việc bạn đã sử dụng các công nghệ, thư viện hoặc framework Android cụ thể trong các dự án trước đây và cách chúng đã giúp bạn giải quyết các thách thức phát triển ứng dụng Android.

1 câu trả lời

Trong cuộc phỏng vấn vị trí Android Developer, khi được hỏi về việc sử dụng công nghệ, thư viện hoặc framework Android trong các dự án trước đó và cách chúng đã hỗ trợ giải quyết các thách thức trong phát triển ứng dụng, bạn nên tập trung vào các ví dụ cụ thể. Hãy nói về các công nghệ như Retrofit, Room Database, LiveData, hoặc thậm chí Android Jetpack, mà bạn đã sử dụng trong các dự án. Mô tả cụ thể cách bạn đã áp dụng chúng để tối ưu hóa hiệu suất, quản lý dữ liệu, hoặc giải quyết các vấn đề như tương tác mạng hoặc bảo mật. Sử dụng ví dụ thực tế và kết quả đạt được để minh họa khả năng của bạn trong việc sử dụng công nghệ Android để giải quyết các thách thức trong phát triển ứng dụng.

Android Developer được hỏi... 09/11/2023

Các thành tích đã đạt được với vị trí Android Developer?

1 câu trả lời

Trong một dự án trước đây, tôi đã đóng góp vào việc triển khai một hệ thống quản lý dự án mới trong công ty. Vai trò của tôi là đào tạo các thành viên trong việc sử dụng hệ thống này và đảm bảo rằng họ hiểu cách tận dụng các tính năng của nó. Khó khăn lớn nhất là sự chống đối ban đầu từ một số nhân viên. Tuy nhiên, thông qua việc giải thích và hỗ trợ, tôi đã giúp họ thấy giá trị thực sự của hệ thống. Khi dự án hoàn thành, tôi cảm thấy hài lòng và tự tin về khả năng truyền đạt kiến thức.

 

 

Android Developer được hỏi... 09/11/2023

Khả năng chịu áp lực trong công việc với vị trí Android Developer?

1 câu trả lời

Đọc sách là một phần quan trọng của cuộc sống của tôi và giúp tôi xả stress sau một ngày làm việc.

 

 

Android Developer được hỏi... 09/11/2023

Nếu được tuyển dụng bạn sẽ làm gì với vị trí Android Developer?

1 câu trả lời

Tôi rất ấn tượng với định hướng phát triển của công ty và cách họ đầu tư vào sự nghiên cứu và phát triển. Điều này cho thấy sự cam kết với sự tiến bộ và sự mở rộ trong cách tiếp cận công việc.

 

 

Đang xem 41 - 60 trong 69 câu hỏi phỏng vấn