Tổng hợp những câu hỏi về Android - Phần 4

61. Single, multi thread là gì?
62. Synchronous, Asynchronous là gì?
63. Multi thread và Asynchronous có liên quan gì với nhau không?
64. JVM, JRE, JDK là gì, chúng có mỗi quan hệ với nhau như thế nào?
65. Trình bày quá trình build 1 ứng dụng Android
66. Delivery ứng dụng theo những định dạng nào?
67. App build ra file .apk và .bundle có điểm gì khác nhau
68. Hiện tại, khi publish ứng dụng lên CH Play, sử dụng file .apk có được không. Nếu được thì có vấn đề gì cần chú ý không
69. Máy ảo Dalvik khác gì với JVM
70. Trình bày nguyên lý SOLID
71. Dependency Inversion, Version of Control và Dependency Injection có quan hệ với nhau như thế nào?
72. Trình bày design pattern Factory
73. Trình bày design pattern Singleton
74. Trình bày design pattern Builder
75. Trình bày design pattern Facade
76. Trình bày design pattern Decoration
77. Trình bài kiến trúc Single source of truth
78. Trong kiến trúc Clean, tầng Presentaion giao tiếp với tầng Data như thế nào
79. Trình bày 1 workflow git đã từng làm
80. Tại sao bạn lại sử dụng ConstraintLayout, trong khi có thể sử dụng thêm các layout khác như LinearLayout, RelativeLayout…
81. Sự khác nhau giữa LifeCircleScope, ViewModelScope và GlobalScope
82. Coroutines khác gì so với Rx
83. Bạn hiểu thế nào là light-weight thread trong Coroutines
84. Trình bày kiến trúc Offline first
85. Nếu sử dụng kiến trúc Offline first, trong trường hợp mất mạng rồi có mạng và cần đồng bộ dữ liệu từ local lên remote thì bạn cần quan tâm điều gì?
86. Nếu sử dụng kiến trúc Offline first, trong trường hợp mất mạng, ID bạn quản lý như thế nào?
87. Gọi hàm setContentView() tại onResume() có vấn đề gì không
88. Gradle hỗ trợ những ngôn ngữ nào
89. buildTypes và productFlavors khác nhau như thế nào?
90. implementation() và api() khác nhau như thế nào?