Leanpub Header

Skip to main content

Manifest Android Phỏng Vấn (Phiên Bản Tiếng Việt)

Hướng dẫn phỏng vấn kỹ thuật Android với các câu hỏi học tập từ kinh nghiệm của GDE

Để chinh phục buổi phỏng vấn việc làm Android sắp tới, hãy tập trung vào việc thực sự hiểu rõ các khái niệm—không chỉ đơn thuần ghi nhớ câu trả lời—và luyện tập cách áp dụng chúng. Với 108 câu hỏi phỏng vấn, 162 câu hỏi thực hành bổ sung, và hơn 50 mẹo chuyên nghiệp, cuốn sách này giúp bạn trau dồi kỹ năng, hiểu rõ lý do, và chuẩn bị cho những thử thách kỹ thuật trong thực tế.

Ấn bản bìa cứng | Ấn bản bìa mềm

This book is a translation into Vietnamese of Manifest Android Interview which was originally written in English

The authors are letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
362
Pages
129,525Words
About

About

About the Book

Manifest Android Interview là một hướng dẫn toàn diện được thiết kế để nâng cao kiến thức phát triển Android của bạn thông qua 108 câu hỏi phỏng vấn với câu trả lời chi tiết, 162 câu hỏi thực hành bổ sung, và hơn 50 phần "Pro Tips for Mastery". Các câu hỏi phỏng vấn chủ yếu tập trung vào phát triển Android—bao gồm Framework, UI, Thư viện Jetpack, và Business Logic—cũng như Jetpack Compose, bao gồm Cơ bản, Runtime, và UI.

Mỗi câu hỏi đều cung cấp những giải thích chuyên sâu, hướng dẫn bạn theo một lộ trình học tập có cấu trúc về Android và Jetpack Compose, đồng thời củng cố hiểu biết của bạn về các khái niệm chính. Ở cuối mỗi câu hỏi, bạn sẽ tìm thấy các câu hỏi thực hành được thiết kế để mô phỏng các tình huống phỏng vấn thực tế, giúp bạn hoàn thiện kỹ năng giải quyết vấn đề và chuẩn bị hiệu quả cho các cuộc thảo luận kỹ thuật.

Cuốn sách này bao gồm các tài nguyên liên quan và tài liệu tham khảo bổ sung cho những ai muốn tìm hiểu sâu hơn ngoài nội dung sách. Chúng tôi đã cố gắng cung cấp nhiều chú thích nhất có thể cho các thuật ngữ chính có thể còn xa lạ hoặc phức tạp, đảm bảo rằng người mới bắt đầu có thể dễ dàng nắm bắt các khái niệm khó trong khi vẫn đào sâu được hiểu biết của họ.

Phần "Pro Tips for Mastery" đi sâu vào các chủ đề nâng cao, khám phá cấu trúc API nội bộ và cung cấp những hiểu biết chuyên sâu để giữ cho các lập trình viên senior luôn quan tâm. Đối với các lập trình viên trung cấp, phần này là một nguồn tài nguyên quý giá để củng cố chuyên môn về Android và phát triển cách tiếp cận phân tích hơn đối với các thách thức kỹ thuật.

Tôi hy vọng cuốn sách này sẽ giúp bạn có được những góc nhìn mới, nâng cao kỹ năng giải quyết vấn đề, và xây dựng hiểu biết toàn diện về phát triển & hệ sinh thái Android. Cho dù bạn đang chuẩn bị cho buổi phỏng vấn quan trọng tiếp theo hay đơn giản là muốn thúc đẩy bản thân để thành thạo phát triển Android, tôi khuyến khích bạn suy nghĩ vượt ra ngoài việc triển khai—hãy hiểu rõ lý do tại sao, thử nghiệm với các cách tiếp cận khác nhau, và tiếp tục học hỏi với sự tò mò và đam mê.

Jaewoong Eum (skydoves)

Để biết thêm những thông tin thú vị, đối tượng độc giả, nội dung bao gồm và không bao gồm, hãy xem bài viết blog Manifest Android Interview: The Ultimate Guide to Cracking Android Technical Interviews.

This book is a translation into Vietnamese of Manifest Android Interview which was originally written in English

Price

Pick Your Price...

Minimum price

$21.99

$30.99

You pay

$30.99

Authors earn

$24.79
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 2)

2
The author will earn $24.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Authors

Jaewoong

The author of this book, Jaewoong Eum (known as skydoves), is a Google Developer Expert (GDE) for Android, Kotlin, and Firebase, an open-source developer created over 80+ open-source libraries and projects, collectively amassing 15+ million downloads annually. The author is also the founder of Dove Letter—a subscription-based repository dedicated to sharing, learning, and discussing Android and Kotlin development.

TranslateAI

Leanpub now has a TranslateAI service which uses AI to translate their book from English into up to 31 languages, or from one of those 31 languages into English. We also have a GlobalAuthor bundle which uses TranslateAI to translate English-language books into either 8 or 31 languages.

Leanpub exists to serve our authors. We want to help you reach as many readers as possible, in their preferred language. So, just as Leanpub automates the process of publishing a PDF and EPUB ebook, we've now automated the process of translating those books!

Contents

Table of Contents

    • Lời mở đầu
    • Lời chứng thực
        • Manuel Vivo (Kỹ sư Android chính thức tại Bumble, cựu DevRel Android tại Google)
        • Matt McKenna (Kỹ sư Android cao cấp tại Block, Android GDE)
        • Alejandra Stamato (Kỹ sư trưởng Android tại HubSpot, cựu DevRel Android tại Google)
        • Simona Milanovic (Kỹ sư Quan hệ Nhà phát triển Android cao cấp)
    • Giới Thiệu Về Cuốn Sách
      • Dành Cho Người Được Phỏng Vấn
      • Dành Cho Người Phỏng Vấn
    • Nhà tài trợ
        • Stream
    • Báo Cáo Vấn Đề & Thảo Luận
    • 0. Câu Hỏi Phỏng Vấn Android
      • Danh mục 0: Khung làm việc Android
        • Q) 0. Android là gì?
        • Q) 1. Intent là gì?
        • Q) 2. Mục đích của PendingIntent là gì?
        • Q) 3. Sự khác biệt giữa Serializable và Parcelable là gì
        • Q) 4. Context là gì và có những loại Context nào?
        • Q) 5. Application class là gì?
        • Q) 6. Mục đích của tệp AndroidManifest là gì?
        • Câu hỏi) 7. Mô tả vòng đời Activity
        • Q) 8. Mô tả vòng đời của Fragment
        • Q) 9. Service là gì?
        • Q) 10. BroadcastReceiver là gì?
        • Q) 11. Mục đích của ContentProvider là gì và nó hỗ trợ chia sẻ dữ liệu an toàn giữa các ứng dụng như thế nào?
        • Q) 12. Làm thế nào để xử lý thay đổi cấu hình?
        • Q) 13. Android xử lý quản lý bộ nhớ như thế nào, và làm thế nào để tránh rò rỉ bộ nhớ?
        • Q) 14. Đâu là những nguyên nhân chính gây ra lỗi ANR, và làm thế nào để ngăn chặn chúng xảy ra?
        • Q) 15. Làm thế nào để xử lý deep link?
        • Q) 16. Task và back stack là gì?
        • Q) 17. Mục đích của Bundle là gì?
        • Q) 18. Làm thế nào để truyền dữ liệu giữa các Activities hoặc Fragments
        • Q) 19. Điều gì xảy ra với Activity trong quá trình thay đổi cấu hình?
        • Q) 20. ActivityManager là gì?
        • Q) 21. Những ưu điểm của việc sử dụng SparseArray là gì
        • Q) 22. Làm thế nào để xử lý quyền trong thời gian chạy?
        • Q) 23. Vai trò của Looper, Handler và HandlerThread là gì?
        • Q) 24. Làm thế nào để theo dõi các ngoại lệ?
        • Câu hỏi) 25. Build variants và flavors là gì?
        • Q) 26. Làm thế nào để đảm bảo khả năng tiếp cận?
        • Q) 27. Hệ thống tệp tin Android là gì?
        • Q) 28. Android Runtime (ART), Dalvik và Dex Compiler là gì?
        • Q) 29. Sự khác biệt giữa tệp APK và tệp AAB là gì?
        • Q) 30. Tối ưu hóa R8 là gì?
        • Q) 31. Làm thế nào để giảm kích thước ứng dụng?
        • Q) 32. Tiến trình trong ứng dụng Android là gì và hệ điều hành Android quản lý nó như thế nào?
      • Danh mục 1: Giao diện người dùng Android - Views
        • C) 33. Mô tả vòng đời View
        • Q) 34. Sự khác biệt giữa View và ViewGroup là gì?
        • Q) 35. Bạn đã từng sử dụng ViewStub chưa và làm thế nào để tối ưu hóa hiệu suất UI bằng cách sử dụng nó?
        • C) 36. Làm thế nào để triển khai view tùy chỉnh?
        • Q) 37. Canvas là gì và làm thế nào để sử dụng nó?
        • Q) 38. Sự vô hiệu hóa (invalidation) trong hệ thống View là gì?
        • Q) 39. ConstraintLayout là gì?
        • Q) 40. Khi nào nên sử dụng SurfaceView thay vì TextureView?
        • Q) 41. RecyclerView hoạt động như thế nào bên trong?
        • Q) 42. Sự khác biệt giữa Dp và Sp là gì?
        • Câu hỏi) 43. Nine-patch image được sử dụng để làm gì?
        • Q) 44. Drawable là gì và nó được sử dụng như thế nào trong phát triển giao diện người dùng?
        • Câu hỏi) 45. Bitmap trong Android là gì và làm thế nào để xử lý hiệu quả các Bitmap lớn?
        • Q) 46. Làm thế nào để thực hiện hoạt ảnh?
        • Q) 47. Window là gì?
        • Q) 48. Làm thế nào để hiển thị một trang web?
      • Phần 2: Thư Viện Jetpack
        • Q) 49. Thư viện AppCompat là gì?
        • Q) 50. Material Design Components (MDC) là gì?
        • Q) 51. Những lợi ích của việc sử dụng ViewBinding là gì?
        • Q) 52. DataBinding hoạt động như thế nào?
        • Q) 53. LiveData là gì?
        • C) 54. ViewModel Jetpack là gì?
        • Q) 55. Thư viện Jetpack Navigation là gì?
        • Q) 56: Dagger 2 và Hilt là gì?
        • Q) 57. Thư viện Jetpack Paging là gì?
        • Q) 58. Baseline Profile là gì?
      • Phần 3: Logic Nghiệp vụ
        • C) 59. Làm thế nào để quản lý các tác vụ nền chạy dài hạn?
        • Q) 60. Làm thế nào để tuần tự hóa định dạng Json thành đối tượng
        • Q) 61. Làm thế nào để xử lý các yêu cầu mạng để lấy dữ liệu, và bạn sử dụng những thư viện hoặc kỹ thuật nào để đạt hiệu quả và độ tin cậy?
        • C) 62. Tại sao hệ thống phân trang là cần thiết cho việc tải các tập dữ liệu lớn, và làm thế nào để triển khai nó với RecyclerView?
        • Q) 63. Làm thế nào để tải và hiển thị hình ảnh từ mạng?
        • Q) 64. Làm thế nào để lưu trữ và duy trì dữ liệu cục bộ?
        • Q) 65. Làm thế nào để xử lý các tính năng ưu tiên ngoại tuyến?
        • Q) 66. Bạn nên khởi chạy tác vụ tải dữ liệu ban đầu ở đâu? LaunchedEffect hay ViewModel.init()
    • 1. Câu Hỏi Phỏng Vấn về Jetpack Compose
      • Phần 0: Nền Tảng Compose
        • Q) 0. Cấu trúc của Jetpack Compose là gì?
        • Q) 1. Các giai đoạn của Compose là gì?
        • Q) 2. Tại sao Jetpack Compose là một framework UI khai báo?
        • Q) 3. Tái cấu thành là gì, và khi nào nó xảy ra? Đồng thời, nó liên quan như thế nào đến hiệu năng ứng dụng?
        • Q) 4. Hàm composable hoạt động như thế nào bên trong?
        • Q) 5. Tính ổn định trong Jetpack Compose là gì và nó liên quan như thế nào đến hiệu suất?
        • Q) 6. Bạn đã từng có kinh nghiệm tối ưu hóa hiệu suất Compose bằng cách cải thiện tính ổn định chưa?
        • Q) 7. Composition là gì và làm thế nào để tạo nó?
        • Q) 8. Có những chiến lược nào để chuyển đổi dự án dựa trên XML sang Jetpack Compose?
        • Q) 9. Tại sao bạn nên luôn kiểm tra hiệu năng Compose ở chế độ release?
        • Q) 10. Những thành ngữ Kotlin nào thường được sử dụng trong Jetpack Compose?
      • Phần 1: Compose Runtime
        • Q) 11. State là gì và những API nào được sử dụng để quản lý nó?
        • Q) 12. Những lợi ích nào bạn có thể có được từ việc nâng trạng thái?
        • Q) 13. Sự khác biệt giữa remember và rememberSaveable là gì?
        • Q) 14. Làm thế nào để tạo phạm vi coroutine một cách an toàn trong các hàm composable?
        • C) 15. Làm thế nào để xử lý các tác dụng phụ bên trong các hàm composable?
        • Q) 16. Mục đích của rememberUpdatedState là gì và nó hoạt động như thế nào?
        • Q) 17. Mục đích của produceState là gì và nó hoạt động như thế nào?
        • Q) 18. snapshotFlow là gì và nó hoạt động như thế nào?
        • Câu hỏi) 19. Mục đích của derivedStateOf là gì, và nó giúp tối ưu hóa tái cấu trúc như thế nào?
        • Câu hỏi) 20. Vòng đời của các hàm composable hoặc Composition là gì?
        • Q) 21. SaveableStateHolder là gì?
        • Q) 22. Mục đích của hệ thống snapshot là gì?
        • Q) 23. mutableStateListOf và mutableStateMapOf là gì
        • Q) 24. Làm thế nào để thu thập Flow của Kotlin trong các hàm composable một cách an toàn mà không gây rò rỉ bộ nhớ?
        • Q) 25. Vai trò của CompositionLocals là gì?
      • Phân Loại 2: Compose UI
        • C) 26. Modifier là gì?
        • Q) 27. Layout là gì?
        • Q) 28. Box là gì?
        • Q) 29. Sự khác biệt giữa Arrangement và Alignment là gì?
        • Q) 30. Painter là gì?
        • Q) 31. Làm thế nào để tải hình ảnh từ mạng?
        • Q) 32. Làm thế nào để hiển thị hiệu quả hàng trăm mục dưới dạng danh sách mà không bị giật lag giao diện?
        • Q) 33. Làm thế nào để triển khai phân trang với lazy lists?
        • Q) 34. Canvas là gì?
        • Q) 35. Bạn đã từng sử dụng Modifier graphicsLayer chưa?
        • Q) 36. Làm thế nào để thực hiện hoạt ảnh trực quan trong Jetpack Compose?
        • Q) 37. Làm thế nào để điều hướng giữa các màn hình?
        • Q) 38. Preview hoạt động như thế nào và bạn xử lý chúng ra sao?
        • Q) 39. Làm thế nào để viết kiểm thử đơn vị cho các thành phần hoặc màn hình UI Compose?
        • Câu hỏi) 40. Kiểm thử ảnh chụp màn hình là gì và nó giúp đảm bảo tính nhất quán của UI trong quá trình phát triển như thế nào?
        • Câu hỏi) 41. Làm thế nào để đảm bảo khả năng tiếp cận trong Jetpack Compose?

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub