Kỹ năng phỏng vấn tuyển dụng

20 Bí Kíp Trả Lời Các Câu Hỏi Phỏng Vấn Android Thường Gặp

Trong thế giới hiện đại, các thiết bị di động thông minh đã trở thành một vật dụng quan trọng và cơ bản trong cuộc sống của mỗi người. 

Vì thế việc phát triển các hệ điều hành dành riêng cho thiết bị di động trở thành một ngành nghề có nhu cầu cao trên vị trường việc làm.

Android được phát triển bởi Google và phát hành lần đầu tiên vào năm 2008, đang ngày càng thể hiện vị trí của mình với hơn 70% thị phần. Android hiện nay được coi là hệ điều hành di động phổ biến nhất trên thế giới.

Điều đó đã làm cho nhu cầu tìm kiếm các nhà lập trình Android trở nên mạnh mẽ hơn bao giờ hết. Đây là vị trí quan trọng đối với các công ty và vô cùng cạnh tranh hiện nay.

Sau đây là bí kíp trả lời 20 câu hỏi phỏng vấn Android thường gặp cho bạn!

Các câu hỏi phỏng vấn android về chuyên môn

câu hỏi phỏng vấn android
Một số câu hỏi phỏng vấn Android thường gặp

 1. Android là gì?

Đây là câu hỏi cơ bản và thường gặp nhất trong bộ các câu hỏi phỏng vấn Android.  Để trả lời câu hỏi này bạn không chỉ đơn thuần là đưa ra định nghĩa đúng từng chữ một trong sách vở. 

Cái mà nhà tuyển dụng mong chờ ở bạn là việc bạn thực sự hiểu khái niệm android, cũng tức là hiểu cơ bản việc mà bạn đang làm và diễn đạt nó lại một cách dễ hiểu, sáng nghĩa theo ngôn ngữ của bạn.

Về cơ bản Android là một hệ điều hành mã nguồn mở được sử dụng chủ yếu trên các thiết bị di động, chẳng hạn như điện thoại di động và máy tính bảng. 

Đây là hệ thống dựa trên nhân Linux được trang bị với các thành phần phong phú cho phép các nhà phát triển mobile tạo và chạy các ứng dụng có thể thực hiện cả các chức năng cơ bản và nâng cao. 

Android được ra mắt và phát triển bởi Google. Cho đến nay Android cùng đối thủ iOS nhà Apple là hai hệ điều hành phổ biến nhất hành tinh.

2. Context là gì?

Context trong Android, như tên gọi của nó, là ngữ cảnh của trạng thái hiện tại của các ứng dụng hoặc các đối tượng trong môi trường hệ thống.

Context đi kèm với các dịch vụ như cấp quyền truy cập vào cơ sở dữ liệu và tùy chọn, giải quyết tài nguyên và còn hơn thế nữa.

Có hai loại context:

  • Activity Context: Context này được gắn với vòng đời của một activity (hoạt động) nhất định. Loại context này được lựa chọn sử dụng khi bạn chỉ có nhu cầu hoạt động trong phạm vi của activity cố định hoặc context mà bạn cần tuy không phải là của activity này nhưng có vòng đời được gắn với context hiện tại.
  • Application context: context này được gắn với vòng đời của một application (ứng dụng) cụ thể. Application context có thể được sử dụng khi bạn cần một context mà vòng đời của nó tách biệt với context hiện tại hoặc khi bạn đang chuyển một context vượt ra ngoài phạm vi của activity.

3. Application là gì?

Câu hỏi phỏng vấn Android thường gặp tiếp theo là Application là gì? 

Application hay chính xác hơn là application class trong lập trình Android là thuật ngữ dùng để chỉ lớp cơ sở trong ứng dụng. 

Lớp cơ sở này sẽ chứa tất cả các yếu tố quan trọng hỗ trợ cho tất cả các hoạt động và dịch vụ của Android. Khi bạn khởi động hệ điều hành Android thì application class là thứ đầu tiên được khởi tạo.

4. Liệt kê ưu điểm của hệ thống Android?

Bốn ưu điểm chính của Android là:

  • Android có mã nguồn mở, vì vậy nó miễn phí
  • Khác với IOS là hệ điều hành chỉ tích hợp riêng cho các thiết bị của Apple, Android có sự  độc lập với nền tảng, vì vậy nó hỗ trợ cả Windows, Linux và Mac.
  • Android hỗ trợ một số công nghệ khác nhau, chẳng hạn như Bluetooth, giọng nói, máy ảnh, Wifi, v.v.
  • Android sử dụng DVM (Máy ảo Dalvik), đây là một máy ảo có mức độ tối ưu hóa cao.

5. Nêu sự khác biệt của “implicit” và “explicit”

Đối với câu hỏi phỏng vấn Android này bạn sẽ ngầm hiểu đối tượng được hỏi cụ thể là Intent (mục đích):

  • Explicit (Intent) – (Mục đích ) rõ ràng :  mục đích rõ ràng là nơi bạn thông báo cho hệ thống về hoạt động hoặc thành phần hệ thống mà nó nên sử dụng để tạo phản hồi cho ý định này.
  • Implicit (Intent) – (Mục đích) ngầm : mục đích ngầm cho phép bạn khai báo hành động bạn muốn thực hiện, sau đó hệ thống Android sẽ kiểm tra thành phần nào được đăng ký để xử lý hành động cụ thể đó.
Tham khảo:   Bỏ Túi Bí Quyết Phỏng Vấn Nhân Viên Kinh Doanh Chưa Có Kinh Nghiệm

6. Bytecode mà hệ thống Android sử dụng là gì?

Đây là một câu hỏi dễ mắc bẫy trong bộ các câu hỏi phỏng vấn Android, Vì bạn sẽ dễ dàng bị lẫn lộn giữa các khái niệm. 

Rất nhiều tài liệu khi bạn tìm hiểu sẽ nói rằng Android không sử dụng Bytecode, nhưng thật ra chính xác Android không sử dụng bytecode tiêu chuẩn mà nó có mã riêng – một loại bytecode đặc trưng và dành riêng cho android. Mã đó được gọi là Dalvik Virtual Machine.

7. “ContentProvider” có chức năng nhiệm vụ gì?

ContentProvider là một lệnh trong android, lệnh này được sử dụng khi có nhu cầu truy cập dữ liệu, nhưng điều kiện là các dữ liệu này phải có tổ chức và cấu trúc cụ thể. 

Không chỉ thế, ContentProvider còn có thể được xem như một loại phương tiện dùng kết nối các chuỗi mã trong Android.

8. Phương thức onTrimMemory() nghĩa là gì?

OnTrimMemory() có thể hiểu đơn giản là một phương thức được sử dụng khi hệ điều hành xác định rằng đây là thời điểm để cắt bớt một quy trình không cần thiết đang chiếm dụng bộ nhớ trong quá trình hoạt động của hệ điều hành.

Điều này thường sẽ xảy ra  khi hệ thống chạy ở chế độ nền và không có đủ bộ nhớ để giữ cho nhiều quá trình nền chạy cùng một lúc như mong muốn. 

Ví dụ điều này sẽ xảy ra khi tiến trình chạy ở chế độ nền và không đủ bộ nhớ để duy trì được nhiều tiến trình nền như mong muốn, khi đó hệ thống sẽ dựa trên độ ưu tiên của tiến trình để cắt bỏ bớt từng tiến trình một cho tới khi bộ nhớ được giải phóng đủ cho hệ thống chạy ổn định. 

9. Sự khác biệt giữa margin & padding

các câu hỏi phỏng vấn android
Bức hình phía trên thể hiện rõ ràng nhất sự khác biệt giữa margin và padding.

Coi hai đối tượng cần xét và mỗi đối tượng sẽ gồm content là nội dung chính bên trong và vòng border bao quanh nó ở bên ngoài. 

Padding sẽ là khoảng cách từ phần viền hiển thị đến nội dung chính bên trong của mỗi đối tượng. Còn Margin là khoảng cách giữa border của hai đối tượng.  

10. “Activity” là gì?

Activity (hoạt động) cũng là một khái niệm vô cùng căn bản trong Android, thế nên câu hỏi này cũng thuộc top các câu hỏi phỏng vấn Android được các nhà tuyển dụng ưu ái sử dụng. 

Mục đích của câu hỏi này không phải làm khó bạn mà để thử thách kiến thức nền tảng và thử xem bạn có dễ dàng bị bối rối khi gặp một câu hỏi đơn giản sau những câu hỏi có độ chuyên môn cao hay không.

Activity hiểu đơn giản là một cửa sổ cho giao diện người dùng. Nó giúp hiển thị đầu ra hoặc thậm chí có thể yêu cầu đầu vào để các hộp thoại và các vai trò khác có thể được thực hiện nhằm tạo ra giao diện người dùng.

11. Sự khác nhau của add và replace fragment trong backstack?

Trước hết cần định nghĩa fragment là gì? fragment có thể hiểu là tác vụ quản lý một không gian màn hình, không gian fragment sẽ thuộc về một activity nào đó. 

Một Activity có thể có nhiều Fragment, và các fragment này có thể cùng nhau hiển thị lên một màn hình hoặc luân phiên hiển thị. Và một ý nữa, một Fragment nào đó cũng có thể được khai báo và sử dụng bởi nhiều Activity khác nhau. 

  • Replace chính là thay thế fragment hiện có bằng một fragment mới. Điều này có nghĩa là fragment cũ của bạn đã bị xóa khỏi backstack và không thể lấy lại được. Chỉ có thể tạo mới
  • Add là thêm một fragment mới đè lên các fragment hiện có, có nghĩa là fragment hiện có sẽ hoạt động và những fragment ở dưới sẽ rơi vào trạng thái pause. Có thể lấy lại được fragment cũ khi bấm nút back

12. Phương thức finalize() là gì?

Đây là một phương thức trong lập trình hướng đối tượng, nó sẽ tự động được gọi khi đối tượng bị hủy.

Đây được coi là một phương tự động dọn dẹp các tài nguyên có liên quan đến đối tượng nhưng không còn được sử dụng nữa. 

Đây là tác vụ được gọi một cách tự động và không do người dùng kiểm soát.

13. GUI của Android lưu trữ ở đâu?

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 Android mô phỏng các kịch bản cụ thể nhất định và xem chúng theo hướng mà người dùng ứng dụng sẽ nhìn thấy.

Tham khảo:   Top Câu Hỏi Phỏng Vấn OOP Hay Gặp Nhất 

GUI của Android được lưu trữ trong “Android SDK”. Để dễ dàng hiểu rõ về nó, hãy tưởng tượng rằng bạn đang dự định làm việc ở trong vườn. Bạn cần thứ gì để làm vườn? Đó chính là công cụ. Các công cụ thường được lưu trữ ở đâu? Chính là nhà kho. 

Vậy khi học lập trình Android, Android SDK tương đương với một nhà kho –  lưu trữ tất cả các công cụ cần thiết để nhà phát triển truy cập dễ dàng.

 14. Liệt kê các lớp cảm biến Java

Cảm biến Java trên Android gồm có 4 lớp, cụ thể là: Sensor, SensorEvent, SensorEventListener, và SensorManager.

15. Hình ảnh .png thường và hình ảnh nine-patch khác nhau ra sao?

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 mở rộng hình ảnh theo từng màn hình khác nhau với 9 cách mở rộng: 4 góc, 4 cách và 1 phần mở trung tâm theo tất cả các chiều.

Đơn giản, nine patch là phần mở rộng của png, với đuôi file là 9.png.

16. Nêu các phương pháp lưu trữ dữ liệu chính

Nền tảng Android cung cấp nhiều tùy chọn lưu trữ dữ liệu có thể được sử dụng tùy thuộc vào nhu cầu của người dùng. Các tùy chọn lưu trữ là:

  • SharedPreference: Lưu trữ dữ liệu trong các tệp XML
  • SQLite: Lưu trữ dữ liệu có cấu trúc trong cơ sở dữ liệu riêng tư
  • Bộ nhớ trong: Lưu trữ dữ liệu trong hệ thống tệp của thiết bị, nơi các ứng dụng khác không thể đọc được dữ liệu đó
  • Bộ nhớ ngoài: Lưu trữ dữ liệu trong hệ thống tệp nhưng nó có thể được truy cập vào tất cả các ứng dụng trong thiết bị

17. Adapter là gì và sử dụng để làm gì?

Nguồn dữ liệu bên ngoài được kết nối với adapterview nhờ sự liên kết của adapter (bộ điều hợp).

Một Adapter chịu trách nhiệm chuyển đổi từng dữ liệu nhào vào thành hiển thị, sau đó có thể được thêm vào Adapter (ListView / RecyclerView) để hiển thị.

18. Bitmap Pooling trong Android là gì?

Bitmap pooling trong Android là một kỹ thuật mà developer áp dụng để có thể sử dụng lại bitmap thay vì phải tạo các đối tượng bitmap mới mỗi khi cần. Sau khi sử dụng trong bitmap này, bạn có thể đặt nó lại lên stack ban đầu.

Nếu cần, bạn hãy kiểm tra lại trong bitmap stack có sẵn bitmap nào không. Nếu không có, lúc này bạn mới cần tạo bitmap sẵn.

Câu hỏi phỏng vấn Android developer cơ bản 

18. Bạn hãy giới thiệu đôi nét về bản thân

câu hỏi phỏng vấn android developer
Giới thiệu điểm nổi của bản thân và kinh nghiệm làm việc giúp tạo ấn tượng hiệu quả

Trong bất kỳ buổi phỏng vấn nào ở mọi vị trí công việc, yêu cầu về việc giới thiệu đôi nét về bản thân luôn là một câu hỏi bắt buộc và cơ bản nhất. 

Các nhà tuyển dụng sẽ sử dụng câu hỏi này để bắt đầu buổi phỏng vấn và bắt đầu tìm hiểu xem ứng viên có phù hợp hay không thông qua cách trình bày và phong thái.

Thế nên, khi đối mặt câu hỏi này, bạn cần nhớ hãy trình bày rõ ràng, mạch lạc và đưa ra những thông tin khái quát về bản thân, nhưng cần lưu ý đó phải là những thông tin hữu ích cho nhà tuyển dụng.

Đừng đi quá sâu vào những thứ như thói quen, sở thích hay những kinh nghiệm làm việc không liên quan đến vị trí mà bạn đang ứng tuyển. 

Ngoài một vài thông tin cơ bản như tên, tuổi, ngành học, hãy nói về những tố chất, kinh nghiệm, bằng cấp, v.v., mà bạn có khiến cho bạn phù hợp với vị trí mà mình ứng tuyển.

Ngoài ra, bạn cũng có thể nói sơ về lộ trình công việc mà bạn đang hướng đến. Hãy trình bày tất cả theo trình tự thời gian, logic rõ ràng và tốt nhất chỉ gói gọn trong khoảng từ 1,5 đến 2 phút mà thôi.  

19. Cho chúng tôi lý do để chọn bạn

những câu hỏi phỏng vấn android
Câu hỏi hiệu quả để xác định ứng viên phù hợp

Câu hỏi này giúp nhà tuyển dụng biết được cách bạn hiểu và định vị năng lực của bản thân cũng như sự tìm tòi và mức độ hiểu biết của bạn đối với vị trí công việc và công ty mà bạn đang ứng tuyển. 

Cả hai yếu tố này đều vô cùng quan trọng để xác định xem bạn có thực sự là ứng viên phù hợp với họ hay không. Và nếu bạn được chọn, bạn có thể đem lại đóng góp gì cho công ty.

Tham khảo:   Kinh Nghiệm Phỏng Vấn Đại Sứ Quán Hàn Quốc Mới Nhất

Mẹo để trả lời câu hỏi này là bạn phải trình bày đầy đủ được hai vấn đề vừa nêu trên. Hãy trả lời bằng cách lồng ghép hai nội dung theo dạng: 

Vì vị trí này có đặc thù là X, đòi hỏi những tố chất/năng lực/kiến thức Y, thế nên với Z mà tôi có, tôi có thể đảm nhận và hoàn thành tốt công việc được giao.

Hoặc, tôi có thế mạnh về Z, thế nên tôi có thể dễ dàng các công việc đòi hỏi Y như vị trí và công ty đang tìm kiếm.

Nhưng để có thể trả lời hoàn hảo cho câu hỏi này, tốt nhất bạn nên có sự tìm hiểu kỹ càng về vị trí công việc cũng như các thông tin liên quan đến công ty như: lĩnh vực hoạt động, thế mạnh, điểm yếu cũng như văn hóa của công ty. Sau đó xác định xem năng lực, tính cách, mục tiêu của bản thân có thích hợp hay không.

Hãy biết giữ sự vừa đủ, việc phóng đại và cố gắng thể hiện bản thân hoàn mỹ có thể sẽ hoàn toàn phản tác dụng. Bạn không cần phải là người hoàn hảo nhất, những hay để cho họ biết bạn là người phù hợp nhất.

20. Bạn có vấn đề nào cần chúng tôi giải đáp không?

các câu hỏi phỏng vấn android developer
Đặt câu hỏi đúng trọng tâm sẽ trở thành điểm cộng trong mắt nhà tuyển dụng

Đây cũng là một câu hỏi rất phổ biến trong các buổi phỏng vấn và thường là điểm mà nhiều người thường mắc sai lầm khi trả lời. Dĩ nhiên, ở đây không có một mô thức cụ thể, nhưng nhìn chung, tốt hơn nếu bạn đặt được những câu hỏi có ý nghĩa. 

Việc đưa ra các vấn đề sẽ cho nhà tuyển dụng thấy bạn thực sự quan tâm và có mong muốn được làm việc tại công ty này. Không chỉ vậy, nó còn cho thấy sự tỉ mỉ và cẩn thận của bạn, bạn thận trọng với công việc mà mình muốn làm và bạn cũng hiểu được giá trị của bản thân.

Đừng quên rằng, một buổi phỏng vấn đúng nghĩa không phải là sự đơn phương kiểm tra từ phía nhà tuyển dụng. Cùng với việc họ tìm kiếm ứng viên phù hợp thì bạn cũng đang tìm kiếm cho mình một công việc phù hợp, thế nên bạn hoàn toàn có quyền đặt vấn đề để nhà tuyển dụng giải đáp. 

Nhưng hãy đặt những câu hỏi có ý nghĩa, đưa ra những vấn đề mà cuộc phỏng vấn và các thông tin trên mạng không có, nếu không bạn không những không ghi thêm điểm mà còn khiến nhà tuyển dụng cảm thấy bạn đang cố đấm ăn xôi và thiếu sự đầu tư tìm hiểu nữa đấy.

Kết luận 

Và trên đây Masterskills đã chia sẻ top các câu hỏi phỏng vấn android developer thường gặp cũng như cách để trả lời chúng một cách thật hoàn hảo để gây ấn tượng với nhà tuyển dụng. Chúc mình hi vọng bài viết này sẽ có ích trên con đường tìm kiếm công việc của bạn.

Còn nếu bạn vẫn đang tìm kiếm cho mình một cơ hội trong nghề Android developer, đừng chần chừ mà hãy truy cập ngay website của Masterskills Việt Nam.

Chúng mình luôn có sẵn hàng trăm vị trí hấp dẫn đến từ các nhà tuyển dụng hàng đầu, luôn được cập nhật mới liên tục đang chờ đợi bạn đấy.

  Viện Đào Tạo Kỹ Năng Masterskills chuyên Đào Tạo tại Doanh Nghiệp (In-house) trên Toàn Quốc  
G

0903966729

1
Hỗ trợ bạn qua Zalo