تسلط به 250 سوال مصاحبه اندروید
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- شما یاد میگیرید که به 250 سوال مصاحبه اندروید شامل مفاهیم اساسی، الگوهای معماری و موضوعات پیشرفته با توضیحات دقیق پاسخ دهید.
- شما یاد میگیرید که کامپوننتهای اپلیکیشن اندروید، مدیریت چرخه عمر، فرگمنتها، کامپوننتهای رابط کاربری (UI) و الگوهای معماری مدرن مانند MVVM و MVI را توضیح دهید.
- شما پیادهسازی ماندگاری دادهها با استفاده از SharedPreferences، SQLite، پایگاه داده Room و DataStore را به همراه شبکهسازی با Retrofit ،OkHttp و REST API خواهید آموخت.
- شما بهینهسازی عملکرد اپلیکیشن اندروید، مدیریت موثر حافظه، جلوگیری از نشت حافظه و مدیریت multithreading با Kotlin coroutines را یاد میگیرید.
- شما یاد میگیرید از Jetpack Components شامل Navigation، Paging ،WorkManager و Jetpack Compose استفاده کنید و همچنین تزریق وابستگی را با Dagger پیادهسازی کنید.
- شما نوشتن تستهای واحد با JUnit و Mockito، ایجاد تستهای ابزاری با Espresso و بهکارگیری بهترین شیوه های تست برای اپلیکیشنهای اندروید را خواهید آموخت.
- شما طراحی معماریهای مقیاسپذیر برای اپلیکیشن اندروید، پیادهسازی راهکارهای طراحی سیستم و حل چالشهای عملی کدنویسی را یاد میگیرید.
پیشنیازهای دوره
- مبانی Kotlin
توضیحات دوره
با این دوره جامع که 250 سوال ضروری مصاحبه را پوشش میدهد، به مصاحبههای توسعه اندروید مسلط شوید. چه در حال آمادهسازی برای اولین موقعیت شغلی توسعهدهنده اندروید خود باشید و چه قصد پیشرفت در مسیر شغلی خود را داشته باشید، این دوره پاسخهای عمیق، مثالهای کدنویسی عملی و استراتژیهای تخصصی را برای کمک به موفقیت شما ارائه میدهد.
آنچه خواهید آموخت
این دوره در 25 بخش جامع ساختار یافته است و همهچیز را از مفاهیم پایهای اندروید تا طراحی سیستم پیشرفته پوشش میدهد. شما به مفاهیم کلیدی زیر مسلط خواهید شد:
مفاهیم اساسی و معماری اندروید
- مبانی پلتفرم اندروید، SDK، سطوح API و ساختار APK
- کامپوننتهای اپلیکیشن: Activities ،Services ،Broadcast Receivers و Content Providers
- فایل AndroidManifest.xml، مجوزها و بهترین شیوه های امنیتی
توسعه رابط کاربری (UI) و کامپوننتها
- اکتیویتیها و مدیریت چرخه عمر، از جمله تغییرات پیکربندی و مدیریت state
- فرگمنتها، FragmentManager و الگوهای پیشرفته فرگمنت
- کامپوننتهای رابط کاربری: TextView ،EditText ،RecyclerView و Viewهای سفارشی
- طرح بندی ها: LinearLayout ،RelativeLayout ،ConstraintLayout و بهینهسازی عملکرد
- کامپوننتهای Material Design و قالببندی
مدیریت دادهها و شبکهسازی
- ماندگاری دادهها: SharedPreferences ،SQLite، پایگاه داده Room و DataStore
- شبکهسازی: Retrofit ،OkHttp، پردازش JSON و پشتیبانی آفلاین
- ادغام REST API و استراتژیهای کش کردن
توسعه مدرن اندروید
- الگوهای معماری: MVC ،MVP ،MVVM ،MVI و Clean Architecture
- تزریق وابستگی با Dagger و Hilt
- مبانی Kotlin و ویژگیهای پیشرفته از جمله coroutines و Flow
- کامپوننتهای Jetpack شامل: Navigation ،Paging ،WorkManager و Jetpack Compose
عملکرد و بهترین شیوه ها
- مدیریت حافظه، زبالهروب و تشخیص نشت حافظه
- بهینهسازی عملکرد: سلسلهمراتب viewها، مدیریت bitmap و زمان راهاندازی اپلیکیشن
- Multithreading ،coroutines و مدیریت تسک پسزمینه
- سرویسها، WorkManager و محدودیتهای اجرای پسزمینه
تست و تضمین کیفیت
- تست واحد با JUnit و Mockito
- تست ابزاری با Espresso
- استراتژیهای پوشش تست و شبیهسازی وابستگیها
موضوعات پیشرفته
- امنیت: رمزنگاری، certificate pinning و ارتباط امن
- سیستم ساخت Gradle، انواع بیلد و پروژههای چندماژولی
- ابزارهای دیباگ: دیباگر Android Studio ،Logcat ،Memory Profiler و LeakCanary
- طراحی سیستم: معماری مقیاسپذیر، اپلیکیشنهای offline-first و طراحی فیچر
- چالشهای عملی کدنویسی: Viewهای سفارشی، آداپتورهای RecyclerView و پیادهسازیهای خاص اندروید
ساختار دوره
هر یک از 250 سوال شامل توضیحات دقیق، مثالهای کدنویسی و سناریوهای دنیای واقعی است. این دوره بهطور منطقی از مفاهیم پایهای تا موضوعات پیشرفته پیش میرود و تضمین میکند که قبل از پرداختن به چالشهای پیچیده، یک اصول قوی بسازید.
ایدهآل برای:
- توسعهدهندگان اندروید که برای مصاحبههای فنی آماده میشوند.
- توسعهدهندگانی که در حال گذار به توسعه اندروید هستند.
- توسعهدهندگان باتجربه که به دنبال یادآوری دانش خود هستند.
- هر کسی که به دنبال آمادگی جامع برای مصاحبه اندروید است.
در پایان این دوره، دانش و اعتمادبهنفس لازم برای پاسخگویی به هر سوال مصاحبه اندروید، از مفاهیم اولیه تا چالشهای پیچیده طراحی سیستم را خواهید داشت. هر موضوع با وضوح و عمق توضیح داده شده است که این دوره را به منبعی نهایی برای موفقیت در مصاحبههای اندروید تبدیل میکند.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان اندروید که برای مصاحبههای فنی در هر سطحی، از موقعیتهای جونیور تا سینیور آماده میشوند.
- توسعهدهندگانی که به توسعه اندروید روی میآورند و نیاز به تسلط به مفاهیم کلیدی و سوالات رایج مصاحبه دارند.
- توسعهدهندگان خودآموزی که میخواهند درک خود را اعتبارسنجی کرده و شکافهای دانشی خود را پر کنند.
تسلط به 250 سوال مصاحبه اندروید
-
1.1.1. در این دوره چه چیزی خواهید آموخت 08:38
-
2.1.1. اجزای کلیدی لایههای معماری اندروید چه هستند؟ 05:08
-
2.1.2. سطوح API و Android SDK چه هستند؟ 04:42
-
2.1.3. نسخههای اندروید چه تفاوتی با هم دارند و چه چیزی باید درباره آنها بدانید؟ 03:47
-
2.1.4. ساختار فایل APK اندروید چیست؟ 04:10
-
2.1.5. تفاوتهای زمان اجرای ART و Dalvik چیست؟ 04:20
-
2.1.6. اهمیت فایلهای .dex در اندروید چیست؟ 04:35
-
2.2.1. کامپوننتهای اصلی اپلیکیشن اندروید چه هستند؟ 04:38
-
2.2.2. تفاوتهای میان Activities ،Services و Broadcast Receivers چیست؟ 05:05
-
2.2.3. کانتنت پروایدر چیست و چرا استفاده میشود؟ 04:52
-
2.2.4. کلاس Application چیست و هدف آن چیست؟ 05:24
-
2.3.1. فایل AndroidManifest.xml چیست و چه اطلاعاتی دارد؟ 04:50
-
2.3.2. مجوزهای اندروید چگونه کار میکنند؟ 05:38
-
2.3.3. تفاوت میان مجوزهای زمان اجرا و زمان نصب چیست؟ 04:29
-
2.3.4. بهترین شیوه ها برای مدیریت مجوزها در اندروید چیست؟ 05:01
-
3.1.1. اکتیویتی در اندروید چیست؟ 04:45
-
3.1.2. چرخه عمر Activity چیست و چرا اهمیت دارد؟ 03:37
-
3.1.3. متدهای ()onCreate() ،onStart و ()onResume در چرخه عمر Activity چه میکنند؟ 03:52
-
3.1.4. متدهای ()onPause() ،onStop و ()onDestroy در چرخه عمر Activity چه میکنند؟ 04:02
-
3.1.5. وقتی اکتیویتی دوباره ایجاد میشود، چگونه state آن را بازیابی میکنید؟ 03:45
-
3.2.1. چگونه تغییرات پیکربندی را در اکتیویتیها مدیریت میکنید؟ 03:21
-
3.2.2. چه زمانی یک Activity دوباره ایجاد میشود و چه سناریوهایی این اتفاق را رقم میزنند؟ 03:54
-
3.2.3. چگونه state نمونه را در یک Activity ذخیره و بازیابی میکنید؟ 03:51
-
3.2.4. تفاوت میان ()onSaveInstanceState و ()onPause چیست؟ 03:47
-
3.2.5. تفاوت میان ()onSaveInstanceState و ()onRestoreInstanceState چیست؟ 03:52
-
3.2.6. خطای پاسخ ندادن اپلیکیشن (ANR) چیست و چگونه از آن جلوگیری میکنید؟ 03:47
-
3.3.1. اینتنتها و فیلترهای اینتنت در اندروید چیستند؟ 04:39
-
3.3.2. تفاوت میان Intentهای صریح و ضمنی چیست؟ 04:45
-
3.3.3. حالتهای اجرای اکتیویتی چه هستند و چه زمانی باید از هرکدام استفاده کرد؟ 03:50
-
3.3.4. تسک (Task) و پشته بازگشت (Back Stack) در اندروید چیست؟ 03:43
-
3.3.5. چگونه پیوند عمیق را در اندروید پیادهسازی میکنید؟ 03:27
-
4.1.1. فرگمنت چیست و چه تفاوتی با اکتیویتی دارد؟ 04:05
-
4.1.2. چرخه عمر Fragment چیست؟ 04:21
-
4.1.3. چه زمانی باید از Fragmentها به جای Activityها استفاده کرد؟ 04:34
-
4.1.4. چگونه فرگمنتها را ایجاد کرده و به یک Activity اضافه میکنید؟ 05:46
-
4.2.1. FragmentManager و FragmentTransaction چیستند؟ 06:14
-
4.2.2. چگونه فرگمنتها را اضافه، جایگزین و حذف میکنید؟ 05:31
-
4.2.3. پشته بازگشت فرگمنت چیست و چگونه کار میکند؟ 05:52
-
4.2.4. فرگمنتها چگونه با یکدیگر و با اکتیویتیها ارتباط برقرار میکنند؟ 05:08
-
4.3.1. چگونه از ViewPager با فرگمنتها استفاده میکنید؟ 04:33
-
4.3.2. چگونه state فرگمنت را در طول تغییرات پیکربندی مدیریت میکنید؟ 04:39
-
4.3.3. چه ارتباطی میان چرخه عمر Fragment و چرخه حیات Activity وجود دارد؟ 05:21
-
4.3.4. اشتباهات رایج فرگمنتها چه هستند و چگونه از آنها جلوگیری میکنید؟ 05:02
-
5.1.1. المانهای TextView و EditText چه هستند و چگونه از آنها استفاده میکنید؟ 06:24
-
5.1.2. چگونه کلیک روی دکمهها و viewهای قابل کلیک را در اندروید مدیریت میکنید؟ 06:18
-
5.1.3. چگونه تصاویر را با استفاده از ImageView بارگذاری و نمایش میدهید؟ 07:00
-
5.1.4. کلاس RecyclerView چیست و چه مزایایی دارد؟ 05:05
-
5.1.5. تفاوت میان ListView و RecyclerView چیست؟ 05:18
-
5.2.1. الگوی Adapter در RecyclerView چگونه کار میکند؟ 05:45
-
5.2.2. الگوی ViewHolder چیست و چرا اهمیت دارد؟ 04:45
-
5.2.3. انواع مختلف LayoutManager در RecyclerView چه هستند؟ 05:29
-
5.2.4. چگونه از DiffUtil در RecyclerView استفاده میکنید؟ 05:36
-
5.2.5. چگونه انیمیشنهای آیتمها را در RecyclerView پیادهسازی میکنید؟ 06:09
-
5.3.1. چگونه Viewها و ViewGroupهای سفارشی در اندروید ایجاد میکنید؟ 06:46
-
5.3.2. قابلیت View Binding چیست و چه تفاوتی با ()findViewById دارد؟ 06:14
-
5.3.3. قابلیت Data Binding چیست و چگونه از آن استفاده میکنید؟ 07:09
-
5.3.4. کامپوننتهای Material Design چه هستند و چگونه از آنها استفاده میکنید؟ 06:20
-
5.3.5. تفاوت میان View.VISIBLE، View.INVISIBLE و View.GONE چیست؟ 05:35
-
5.3.6. هدف متد onCreateOptionsMenu() در یک Activity چیست؟ 05:40
-
6.1.1. تفاوتهای میان LinearLayout و RelativeLayout چیست؟ 03:55
-
6.1.2. مزایای استفاده از ConstraintLayout چیست؟ 04:49
-
6.1.4. لایههای مختلف از نظر عملکرد چگونه با هم مقایسه میشوند؟ 05:37
-
6.2.1. چگونه از ConstraintLayout بهطور مؤثر استفاده میکنید؟ 07:06
-
6.2.2. زنجیرهها، خطوط راهنما و موانع در ConstraintLayout چه هستند؟ 05:46
-
6.2.3. چرا ConstraintLayout نسبت به لایههای تودرتو عملکرد بهتری دارد؟ 06:12
-
6.2.4. بهترین شیوه ها برای استفاده از ConstraintLayout چه هستند؟ 06:47
-
6.1.3. لایههای FrameLayout و AbsoluteLayout چه هستند و چه زمانی استفاده میشوند؟ 05:10
-
6.3.1. منابع اندروید (drawable ،layout ،values) چه هستند و چگونه سازماندهی میشوند؟ 06:33
-
6.3.2. چگونه از چندین اندازه صفحهنمایش در اندروید پشتیبانی میکنید؟ 06:00
-
6.3.3. تفاوت میان استایلها و قالبها در اندروید چیست؟ 06:35
-
6.3.4. چگونه حالت تاریک را در اپلیکیشنهای اندروید پیادهسازی میکنید؟ 05:49
-
6.3.5. چگونه بومیسازی و بینالمللیسازی را در اپلیکیشنهای اندروید پیادهسازی میکنید؟ 07:44
-
7.1.1. چگونه از SharedPreferences برای ذخیره دادهها در اندروید استفاده میکنید؟ 05:38
-
7.1.2. تفاوت میان SharedPreferences و Preferences DataStore چیست؟ 06:26
-
7.1.3. بهترین روشها برای استفاده از SharedPreferences چیست؟ 07:15
-
7.2.1. چگونه پایگاههای داده SQLite را در اندروید ایجاد و استفاده میکنید؟ 07:45
-
7.2.2. کتابخانه Room Persistence چیست و چگونه عملیات پایگاه داده را ساده میکند؟ 08:00
-
7.2.3. چگونه Entityها و DAOها را در Room تعریف میکنید؟ 07:48
-
7.2.4. چگونه مایگریشنهای پایگاه داده Room را مدیریت میکنید؟ 06:25
-
7.2.5. چگونه روابط و کوئریهای پیچیده را در Room پیادهسازی میکنید؟ 05:20
-
7.3.1. تفاوت میان فضای ذخیرهسازی داخلی و خارجی فایل در اندروید چیست؟ 05:49
-
7.3.2. فناوریهای DataStore Preferences و Proto DataStore چه هستند؟ 05:35
-
7.3.3. چگونه SharedPreferences رمزنگاریشده را پیادهسازی میکنید؟ 06:40
-
7.3.4. تفاوت میان Serializable و Parcelable چیست و کدام را باید استفاده کرد؟ 06:25
-
8.1.1. چگونه ارتباط HTTP/HTTPS را در اندروید پیادهسازی میکنید؟ 05:31
-
8.1.2. تفاوتهای میان Volley، Retrofit و OkHttp چیست؟ 05:49
-
8.1.3. مفاهیم REST API چه هستند و چگونه در اندروید اعمال میشوند؟ 07:10
-
8.2.1. چگونه Retrofit را در اندروید راهاندازی و پیکربندی میکنید؟ 06:37
-
8.2.2. چگونه از انوتیشنهای Retrofit (GET ،POST ،PUT ،DELETE) استفاده میکنید؟ 07:20
-
8.2.3. چگونه درخواستها و پاسخها را با Retrofit مدیریت میکنید؟ 05:44
-
8.2.4. چگونه اینترسپتورهای نرمافزار Retrofit را پیادهسازی و استفاده میکنید؟ 06:02
-
8.2.5. هنگام استفاده از Retrofit چگونه خطاها را مدیریت میکنید؟ 05:30
-
8.3.1. چگونه OkHttp را برای درخواستهای شبکه سفارشی میکنید؟ 06:51
-
8.3.2. چگونه JSON را با استفاده از Gson یا Moshi در اندروید پردازش میکنید؟ 06:20
-
8.3.3. استراتژیهای مؤثر کش کردن شبکه در اندروید چه هستند؟ 06:29
-
8.3.4. چگونه پشتیبانی آفلاین را در اپلیکیشنهای اندروید پیادهسازی میکنید؟ 04:50
-
8.3.5. چگونه پوشنوتیفیکیشنها را با استفاده از Firebase Cloud Messaging پیادهسازی میکنید؟ 06:50
-
9.1.1. الگوی MVC در اندروید چگونه پیادهسازی میشود؟ 05:52
-
9.1.2. الگوی MVP در توسعه اندروید چگونه کار میکند؟ 06:59
-
9.1.3. مفاهیم اساسی الگوی MVVM چه هستند؟ 07:48
-
9.1.4. الگوهای MVC ،MVP و MVVM در اندروید چگونه با هم مقایسه میشوند؟ 06:11
-
9.2.1. چرخه حیات ViewModel چیست و چگونه کار میکند؟ 05:57
-
9.2.2. تفاوتهای میان LiveData، Flow و StateFlow چیست؟ 06:32
-
9.2.3. چگونه از Observerها و تبدیلهای LiveData استفاده میکنید؟ 06:20
-
9.2.4. بهترین شیوه ها برای استفاده از ViewModel چیست؟ 07:08
-
9.2.5. تفاوت میان ViewModel و AndroidViewModel چیست؟ 05:32
-
9.2.6. تفاوتهای میان LiveData و RxJava برای برنامهنویسی ریاکتیو چیست؟ 07:17
-
9.3.1. الگوی MVI (Model-View-Intent) چیست؟ 06:01
-
9.3.2. اصول Clean Architecture چه هستند و چگونه در اندروید اعمال میشوند؟ 06:12
-
9.3.3. چگونه الگوی Repository را در اندروید پیادهسازی میکنید؟ 05:33
-
9.3.4. چگونه تزریق وابستگی را با استفاده از Dagger یا Hilt پیادهسازی میکنید؟ 06:34
-
9.3.5. کامپوننت Navigation چگونه در معماری اپلیکیشن قرار میگیرد؟ 05:44
-
9.3.6. کتابخانه Dagger Hilt چیست و چه زمانی باید از آن استفاده کرد؟ 05:53
-
10.1.1. کتابخانه Dagger چیست و چرا در توسعه اندروید استفاده میشود؟ 04:56
-
10.1.2. تزریق وابستگی چیست و چرا در توسعه اندروید مهم است؟ 05:54
-
10.1.3. کامپوننتهای اصلی Dagger در یک اپلیکیشن اندروید چه هستند؟ 04:27
-
10.1.4. تفاوت میان Dagger و Hilt چیست؟ 05:21
-
10.2.1. نقش انوتیشن Component@ در Dagger چیست؟ 05:07
-
10.2.2. هدف انوتیشن Provides@ در Dagger چیست؟ 04:55
-
10.2.3. اهمیت انوتیشن Inject@ در Dagger چیست؟ 05:27
-
10.2.4. ماژولهای Dagger چه هستند و چگونه آنها را ایجاد میکنید؟ 05:14
-
10.3.1. آیا میتوانید مفهوم دامنهها در Dagger را توضیح دهید؟ 04:34
-
10.3.2. یک Subcomponent در Dagger چیست و چگونه استفاده میشود؟ 04:45
-
10.3.3. چگونه وابستگیهای حلقوی را در Dagger مدیریت میکنید؟ 03:57
-
10.3.4. چگونه بایندیگهای چندگانه از یک نوع را در Dagger مدیریت میکنید؟ 04:21
-
11.1.1. تفاوتهای کلیدی میان زبانهای Kotlin و Java چیست؟ 04:32
-
11.1.2. امنیت Null در Kotlin چگونه کار میکند؟ 05:02
-
11.1.3. کلاسهای داده و کلاسهای Sealed در Kotlin چه هستند؟ 04:54
-
11.1.4. توابع توسعهیافته در Kotlin چگونه کار میکنند 05:36
-
11.1.5. افزونه Android KTX چیست و چگونه کد Kotlin را ساده میکند 04:55
-
11.2.1. تفاوتهای میان Coroutineها و Threadها در Kotlin چیست؟ 05:23
-
11.2.2. توابع معلق چه هستند و چگونه کار میکنند؟ 04:38
-
11.2.3. کلاسهای Flow و StateFlow چه هستند و چه تفاوتی دارند؟ 05:10
-
11.2.4. توابع scope در کاتلین (let ،apply ،run ،with) چه هستند و چه زمانی باید از آنها استفاده کرد؟ 05:23
-
11.2.5. نمایندگی در Kotlin چگونه کار میکند؟ 04:39
-
12.1.1. مدل حافظه اندروید چگونه کار میکند؟ 05:04
-
12.1.2. زبالهروب (Garbage collection) در اندروید چگونه کار میکند؟ 05:22
-
12.1.3. علل رایج نشت حافظه در اپلیکیشنهای اندروید چیست؟ 04:52
-
12.1.4. چگونه نشت حافظه را با استفاده از ابزارهای اندروید شناسایی میکنید؟ 05:17
-
12.1.5. کلاسهای WeakReference ،SoftReference و PhantomReference چه هستند و چه زمانی باید از آنها استفاده کرد؟ 06:14
-
12.2.1. چگونه سلسلهمراتب view را برای عملکرد بهتر بهینهسازی میکنید؟ 06:13
-
12.2.2. رسم بیشازحد چیست و چگونه عملکرد layout را بهبود میبخشید؟ 07:47
-
12.2.3. چگونه مدیریت Bitmap را در اندروید بهینهسازی میکنید؟ 07:28
-
12.2.4. ابزارهای ProGuard و R8 چه هستند و چگونه اپلیکیشن شما را بهینه میکنند؟ 06:31
-
12.2.5. چگونه زمان راهاندازی اپلیکیشن اندروید را بهینهسازی میکنید؟ 07:37
-
12.2.6. چگونه مصرف باتری را در اپلیکیشنهای اندروید بهینهسازی میکنید؟ 06:24
-
12.2.7. چه تکنیکهایی از خطاهای ANR در اپلیکیشنهای اندروید جلوگیری میکنند؟ 07:09
-
13.1.1. ترد اصلی اندروید (Main Thread یا UI Thread) چیست و چرا اهمیت دارد؟ 05:19
-
13.1.2. کلاسهای Handler ،Looper و MessageQueue چه هستند و چگونه کار میکنند؟ 06:05
-
13.1.3. چرا AsyncTask منسوخ شد و جایگزینهای آن چه هستند؟ 05:41
-
13.1.4. تفاوت میان Service و Thread در اندروید چیست؟ 05:40
-
13.2.1. سازندههای Coroutine (مانند launch ،async ،runBlocking) چه هستند و چه زمانی باید از آنها استفاده کرد؟ 05:06
-
13.2.2. کلاسهای Coroutine Context و Dispatchers چه هستند؟ 05:47
-
13.2.3. تفاوت میان GlobalScope و ViewModelScope چیست؟ 05:46
-
13.2.4. چگونه استثناها را در Kotlin Coroutines مدیریت میکنید؟ 05:06
-
13.2.5. چگونه Coroutines را در اپلیکیشنهای اندروید تست میکنید؟ 05:06
-
14.1.1. انواع مختلف سرویسها (Started ،Bound ،Foreground) در اندروید چه هستند؟ 06:01
-
14.1.2. چرخه عمر Service چیست و چه تفاوتی با چرخه عمر Activity دارد؟ 05:07
-
14.1.3. تفاوتهای میان IntentService و JobIntentService چیست؟ 05:55
-
14.1.4. چگونه سرویسهای پیشزمینه را در اندروید پیادهسازی میکنید؟ 06:15
-
14.1.5. تفاوت میان Service و IntentService چیست؟ 05:19
-
14.1.6. چگونه یک سرویس متصل در اندروید ایجاد میکنید؟ 06:46
-
14.2.1. کامپوننت WorkManager چیست و چه زمانی باید از آن استفاده کنید؟ 07:06
-
14.2.2. کلاسهای OneTimeWorkRequest و PeriodicWorkRequest چه هستند؟ 07:25
-
14.2.3. چگونه محدودیتهای کاری را راه اندازی کرده و درخواستهای کاری را زنجیرهوار به هم متصل میکنید؟ 07:07
-
14.2.4. تفاوت میان WorkManager و JobScheduler چیست؟ 07:18
-
14.3.1. محدودیتهای اجرای پسزمینه اندروید چه هستند و چگونه بر اپلیکیشن شما تأثیر میگذارند؟ 06:09
-
14.3.2. بهترین شیوه ها برای کار در پسزمینه در اندروید چه هستند؟ 06:36
-
15.1.1. کلاس BroadcastReceiver چیست و هدف آن در اندروید چیست؟ 06:44
-
15.1.2. چگونه BroadcastReceiverها را ثبت میکنید؟ (بهصورت ایستا و پویا) 07:11
-
15.1.3. تفاوت میان برودکستهای سیستمی و برودکستهای سفارشی چیست؟ 07:40
-
15.1.4. محدودیتهای برودکست ضمنی در نسخههای جدید اندروید چیست؟ 07:37
-
16.1.1. کامپوننت Content Provider چیست و چرا مهم است؟ 06:20
-
16.1.2. چگونه یک Content Provider سفارشی ایجاد میکنید؟ 05:40
-
16.1.3. مفاهیم ContentResolver و ContentURIs چه هستند و چگونه از آنها استفاده میکنید؟ 05:53
-
16.1.4. چگونه امنیت Content Provider را پیادهسازی میکنید؟ 05:24
-
17.1.1. چگونه Navigation Component را در اندروید راهاندازی میکنید؟ 05:12
-
17.1.2. گرافهای ناوبری و اکشنها چه هستند؟ 04:57
-
17.1.3. چگونه دادهها را میان مقصدهای ناوبری منتقل میکنید؟ 04:10
-
17.1.4. چگونه پیوند عمیق را با استفاده از Navigation Component پیادهسازی میکنید؟ 04:57
-
17.2.1. کتابخانه Paging 3 چیست و چگونه کار میکند؟ 04:58
-
17.2.2. کلاسهای PagingSource و RemoteMediator چه هستند؟ 04:24
-
17.2.3. چگونه صفحهبندی را در اپلیکیشنهای اندروید پیادهسازی میکنید؟ 04:05
-
17.3.1. چگونه از WorkManager برای تسک های پسزمینه استفاده میکنید؟ 04:53
-
17.3.2. کلاس DataStore چیست و چگونه جایگزین SharedPreferences میشود؟ 04:51
-
17.3.3. کتابخانه App Startup چیست و چگونه از آن استفاده میکنید؟ 04:34
-
17.4.1. ابزار Jetpack Compose چیست و مزایای کلیدی آن کدامند؟ 05:14
-
17.4.2. state در اپلیکیشنهای Jetpack Compose چگونه مدیریت میشود؟ 04:05
-
17.4.3. مفاهیم Composition و Recomposition در Jetpack Compose چه هستند؟ 05:06
-
17.4.4. عناصر اصلی رابط کاربری (UI) در Jetpack Compose چه هستند؟ 05:50
-
17.4.5. ناوبری در Jetpack Compose چگونه کار میکند؟ 06:48
-
18.1.1. اصول اساسی Material Design چه هستند؟ 07:21
-
18.1.2. کامپوننتهای Material Design چه هستند و چگونه از آنها استفاده میکنید؟ 07:00
-
18.1.3. چگونه قالببندی را با Material Design پیادهسازی میکنید؟ 06:15
-
19.1.1. چگونه تستهای واحد را با استفاده از JUnit و Mockito مینویسید؟ 05:07
-
19.1.2. چگونه ViewModelها را در اندروید تست میکنید؟ 05:00
-
19.1.3. چگونه Repositoryها را در اپلیکیشنهای اندروید تست میکنید؟ 04:44
-
19.2.1. ابزار Espresso چیست و چگونه کار میکند؟ 05:37
-
19.2.2. چگونه تستهای رابط کاربری (UI) را با استفاده از Espresso مینویسید؟ 05:56
-
19.2.3. چگونه Activityها و Fragmentها را تست میکنید؟ 05:44
-
19.3.1. استراتژیهای مؤثر پوشش تست برای اپلیکیشنهای اندروید چه هستند؟ 05:29
-
19.3.2. چگونه وابستگیها را در تستهای اندروید شبیهسازی میکنید؟ 05:09
-
19.3.3. تفاوت میان شبیهساز (Emulator) و Simulator برای تستهای اندروید چیست؟ 05:28
-
19.3.4. چه ویژگیهایی را نمیتوان روی یک Emulator یا Simulator تست کرد؟ 06:20
-
20.1.1. بهترین شیوه های امنیت اپلیکیشن اندروید چه هستند؟ 06:06
-
20.1.2. چگونه دادههای حساس را در اپلیکیشنهای اندروید رمزنگاری میکنید؟ 04:59
-
20.1.3. چگونه ارتباط امن شبکه را در اندروید پیادهسازی میکنید؟ 05:13
-
20.1.4. ابزار ProGuard چیست و مبهمسازی کد چگونه امنیت را بهبود میبخشد؟ 05:53
-
20.1.5. چگونه Certificate Pinning را در اندروید پیادهسازی میکنید؟ 05:13
-
21.1.1. ساختار فایلهای بیلد Gradle در اندروید چگونه است؟ 04:23
-
21.1.2. انواع بیلد (build variants مانند debug ،release ،flavors) چه هستند و چگونه آنها را پیکربندی میکنید؟ 05:09
-
21.1.4. فیلدهای Build Config چه هستند و چگونه از آنها استفاده میکنید؟ 04:25
-
21.1.5. تفاوت میان compileSdkVersion و targetSdkVersion چیست؟ 03:40
-
21.1.6. مفهوم Product Flavors چیست و چگونه آنها را ایجاد میکنید؟ 05:02
-
21.2.1. تسکها پلاگینهای Gradle چه هستند و چگونه کار میکنند؟ 05:41
-
21.2.2. چگونه پروژههای چندماژولی اندروید را ساختاردهی میکنید؟ 04:35
-
21.2.3. چگونه عملکرد بیلد Gradle را بهینهسازی میکنید؟ 05:16
-
22.1.1. چگونه از دیباگر Android Studio بهطور مؤثر استفاده میکنید؟ 05:12
-
22.1.2. چگونه از Logcat برای دیباگ اپلیکیشنهای اندروید استفاده میکنید؟ 04:51
-
21.1.3. چگونه وابستگیهای Gradle را مدیریت میکنید؟ 05:17
-
22.1.3. چگونه از ابزار Layout Inspector استفاده میکنید؟ 05:04
-
22.1.4. چگونه از Memory Profiler برای تشخیص مشکلات حافظه استفاده میکنید؟ 05:35
-
22.1.5. چگونه از Network Profiler برای تحلیل درخواستهای شبکه استفاده میکنید؟ 05:30
-
22.2.1. چگونه از تحلیل Lint برای بهبود کیفیت کد استفاده میکنید؟ 04:42
-
22.2.2. چگونه از LeakCanary برای تشخیص نشت حافظه استفاده میکنید؟ 04:59
-
22.2.3. چگونه از Firebase Crashlytics برای گزارش کرشها استفاده میکنید؟ 06:21
-
22.2.5. کلاسهای Loader در اندروید چه هستند و چرا منسوخ شدند؟ 06:11
-
23.1.1. چگونه یک اپلیکیشن اشتراکگذاری عکس اندرویدی را طراحی میکنید؟ 05:44
-
23.1.2. چگونه یک اپلیکیشن فید خبری اندرویدی را طراحی میکنید؟ 05:22
-
23.1.3. چگونه یک معماری offline-first برای اپلیکیشنهای اندرویدی طراحی میکنید؟ 05:05
-
23.1.4. چگونه یک معماری مقیاسپذیر برای اپلیکیشن اندرویدی طراحی میکنید؟ 04:46
-
23.2.1. چگونه یک سیستم کش برای یک اپلیکیشن اندروید طراحی میکنید؟ 04:16
-
23.2.2. چگونه قابلیتهای بلادرنگ را در یک اپلیکیشن اندروید طراحی میکنید؟ 04:18
-
23.2.3. چگونه مجموعه دادههای بزرگ را در اپلیکیشنهای اندروید مدیریت میکنید؟ 04:28
-
23.2.4. چگونه عملکرد جستجو را برای یک اپلیکیشن اندروید طراحی میکنید؟ 03:50
-
23.2.5. چگونه خریدهای دروناپلیکیشنی را در یک اپلیکیشن اندروید پیادهسازی میکنید؟ 04:16
-
23.2.6. چگونه پیادهسازی صفحه اسپلش را طراحی میکنید؟ 04:46
-
24.1.1. چگونه یک کش LRU پیادهسازی میکنید؟ 04:44
-
24.1.2. چگونه مسائل درخت و گراف را در زمینه اندروید حل میکنید؟ 04:29
-
24.1.3. چگونه چالشهای دستکاری رشته را در اندروید مدیریت میکنید؟ 04:47
-
24.2.1. چگونه یک View سفارشی را در اندروید پیادهسازی میکنید؟ 05:04
-
24.2.2. چگونه یک آداپتور RecyclerView را از ابتدا ایجاد میکنید؟ 04:30
-
24.2.3. چگونه Retrofit را در یک اپلیکیشن اندروید ادغام میکنید؟ 04:49
-
24.2.4. چگونه یک پایگاه داده Room را در اندروید پیادهسازی میکنید؟ 05:49
-
24.2.5. چگونه یک نوار ناوبری پایین را در اندروید پیادهسازی میکنید؟ 05:09
-
24.2.6. چگونه یک منوی کشویی را در اندروید پیادهسازی میکنید؟ 04:51
-
24.2.7. چگونه انیمیشنهای سفارشی در اندروید ایجاد میکنید؟ 05:02
-
24.2.8. تفاوت میان Dialog و DialogFragment چیست؟ 04:16
-
25.1.1. نتیجهگیری 06:16
مشخصات آموزش
تسلط به 250 سوال مصاحبه اندروید
- تاریخ به روز رسانی: 1404/12/10
- سطح دوره:مقدماتی
- تعداد درس:249
- مدت زمان :22:54:03
- حجم :5.08GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy