سوالات مصاحبه استخدامی برنامه نویس اندروید
اگر به عنوان یک برنامه نویس اندروید قصد دارید به مصاحبه کاری بروید و نمی دونید قراره ازتون چه سوالی میپرسن ما براتون لیستی از سوالات و پاسخهای مصاحبه اندروید متداول در زیر آمده است رو جمع بندی کردیم و بطور کامل به مهمترین سوالات یک توسعه دهنده اندروید (جاوا و کاتلین )میپردازیم.
فهرست سوالات استخدامی برنامه نویسی اندروید :
در این مقاله به ۵۰ سوال برای استخدامی برنامه نویس اندروید می پردازیم.
- اندروید چیست ؟
اندروید یک سیستم عامل open source و مبتنی بر لینوکس است که در موبایل ، تبلت ، تلویزیون و غیره استفاده می شود.
هرچیزی که درمورد سیستم عامل اندروید میخواهید بدانید
- بنیانگذار اندروید کیست ؟
اندی رابین
- معماری نرمافزار اندروید را توضیح دهید ؟
در زیر لیستی از اجزای معماری برنامه اندروید آمده است :
- سرویس ها : برای انجام عملکردهای پس زمینه استفاده می شود.
- Intent : برای انجام ارتباط بین activity و مکانیزم انتقال داده استفاده می شود.
- خارجی سازی منابع (Resource Externalization) : string ها و graphic ها
- نوتیفیکیشن : نور ، صدا ، آیکون ، نوتیفیکیشن ، dialog box ، toast .
- Content Providers : داده ها را بین اپلیکیشن ها به اشتراک می گذارد.
- نام کد ورژن های اندروید چیست ؟
- Aestro
- Blender
- Cupcake
- Donut
- Eclair
- Froyo
- Gingerbread
- Honeycomb
- Ice Cream Sandwich
- Jelly Bean
- KitKat
- Lollipop
- Marshmallow
- اندروید چه مزایایی دارد :
منبع باز: این بدان معناست که هیچ مجوز ، هزینه توزیع و توسعه وجود ندارد.
مستقل از پلت فرم: از سیستم عامل های Windows ، Mac و Linux پشتیبانی می کند.
پشتیبانی از فناوری های مختلف: از دوربین ، بلوتوث ، wifi ، گفتار ، EDGE و غیره پشتیبانی می کند.
ماشین مجازی بسیار بهینه شده: اندروید از دستگاه مجازی بسیار بهینه سازی شده برای دستگاه های تلفن همراه استفاده می کند که DVM (ماشین مجازی Dalvik) نامیده می شود.
- آیا اندروید به غیر از جاوا از زبان های دیگر پشتیبانی می کند؟
بله ، یک برنامه اندروید را می توان با زبان کاتلین و C/C ++ و همچنین با استفاده از Android NDK (کیت توسعه بومی) توسعه داد. باعث میشود عملکرد را سریعتر کند. باید با Android SDK استفاده شود.
- هسته اصلی سازنده اندروید چیست؟
- Activity
- View
- Intent
- Service
- Content Provider
- Fragment etc.
- activity در اندروید چیست؟
Activity شبیه یک فریم یا پنجره ای در جاوا که واسط گرافیکی کاربر را نشان می دهد . این نشان دهنده یک صفحه نمایش اندروید است .
- متد های lifecycle در activity اندروید چیست ؟
- onCreate()
- onStart()
- onResume()
- onPause()
- onStop()
- onRestart()
- onDestroy()
چرخه حیات lifecycle اکتیویتی در اندروید
- Intent چیست ؟
این نوعی پیام یا اطلاعاتی است که به اجزا منتقل میشود . از آن برای راهاندازی یک فعالیت , نمایش یک صفحه وب , ارسال SMS , ارسال ایمیل و غیره استفاده میشود . دو نوع Intent در اندروید وجود دارد :
- Implicit Intent
- Explicit Intent
- المنت های view در برنامه اندروید چگونه شناسایی می شوند؟
المنت های view را می توان با استفاده از کلمه کلیدی findViewById شناسایی کرد.
- تعریف android toast :
android toast در مورد عملیاتی که توسط آنها انجام می شود به کاربران بازخورد می دهد. این پیغام را در مورد وضعیت عملیات آغاز شده توسط کاربر نمایش می دهد.
- لیستی از فولدر های impotent را در اندروید ارائه دهید :
فولدر های زیر در اندروید ناتوان اعلام شده اند:
- AndroidManifest.xml
- build.xml
- bin/
- src/
- res/
- assets/
- نحوه استفاده از “bundle” در اندروید را توضیح دهید؟
ما از bundleها برای انتقال داده های مورد نیاز به زیر پوشه های مختلف استفاده می کنیم.
- فایلresource در برنامه چیست ؟
فایلهایی که می توانند برای ایجاد یک فرایند تزریق شوند ، فایل resource برنامه نامیده می شوند.
- LINUX ID در اندروید چه کاربردی دارد؟
یک ID منحصر به فرد لینوکس به هر برنامه در اندروید اختصاص داده میشود . برای ردیابی یک فرآیند استفاده می شود .
- آیا می توان bytecode را در جاوا نوشت و در اندروید اجرا کرد؟ خیر
- فهرست Storage های مختلف را که توسط اندروید ارائه شده است بگویید :
The various storage provided by android are:
- Shared Preferences
- Internal Storage
- External Storage
- SQLite Databases
- Network Connection
- Layout ها چگونه در اندروید جای می گیرند ؟
Layout ها در اندروید به عنوان فایل XML قرار می گیرند.
- Layout ها در اندروید کجا قرار می گیرد؟
Layout ها در اندروید در فولدر layout قرار می گیرد.
- منظور از implicit intent در اندروید چیست ؟
implicit intent در اندروید برای فراخوانی کامپوننت های سیستم به کار می رود .
- منظور از explicit intent در اندروید چیست ؟
یک هدف صریح برای فراخوانی کلاس activity استفاده می شود.
- چگونه می توان activity دیگری را در اندروید فراخوانی کرد؟
Intent i = new Intent(getApplicationContext(), ActivityTwo.class);
startActivity(i);
- سرویس در اندروید چیست ؟
سرویس یک کامپوننت است که در پس زمینه اجرا می شود. برای پخش موسیقی ، مدیریت تراکنش شبکه و غیره استفاده می شود.
- نام دیتابیسی که در اندروید استفاده می شود چیست ؟
SQLite : یک پایگاهداده رابطهای به صورت اوپن سورس و ساده برای دستگاههای همراه است .
- AAPT چیست ؟
AAPT مخفف acronym for android asset packaging tool
که فرآیند Packaging را مدیریت می کند .
- content provider چیست ؟
از content provider برای به اشتراک گذاری اطلاعات بین اپلیکیشن های اندرویدی مورد استفاده قرار می دهد .
- Fragment چیست ؟
Fragment قسمتی از Activity است که به وسیله آن می توانیم چندین صفحه را در یک activity نمایش دهیم.
- ADB چیست ؟
ADB مخفف Android Debug Bridge است. این یک ابزار خط فرمان است که برای برقراری ارتباط با نمونه شبیه ساز استفاده می شود.
- NDK چیست ؟
NDK مخفف عبارت Native Development Kit است. با استفاده از NDK ، می توانید بخشی از برنامه را با استفاده از زبان مادری مانند C/C ++ برای افزایش عملکرد توسعه دهید.
- ANR چیست ؟
ANR مخفف Application Not Responding است. ANR یک کادر محاوره ای است که اگر برنامه دیگر پاسخ نمی دهد ظاهر می شود.
- Google Android SDK چیست؟
Google Android SDK یک مجموعه ابزار است که توسعه دهندگان از آن برای نوشتن برنامه در دستگاه های دارای اندروید استفاده می کنند. این شامل یک رابط گرافیکی است که از محیط مبتنی بر اندروید استفاده می کند و به آن ها امکان می دهد کدهای خود را آزمایش و اشکال زدایی (debug)کنند.
- فرمت Apk چیست ؟
APK مخفف عبارت Android Packaging Key است. این یک کلید فشرده با کلاس ها ، UI ها ، پشتیبانی از assets و manifest است. همه فایلها در یک فایل فشرده می شوند که APK نامیده می شود.
- اندروید از کدام زبان برای توسعه برنامه پشتیبانی می کند؟
برنامه های اندرویدی با استفاده از java (Android SDK) , کاتلین و C/C ++ (Android NDK) نوشته می شوند.
- ADT در اندروید چیست ؟
ADT مخفف Android Development Tool است. برای توسعه برنامه ها و آزمایش برنامه ها استفاده می شود.
- View Group در چیست ؟
View Group مجموعه ای از ویو ها و سایر فرزند های ویو ها است. این یک قسمت نامرئی و کلاس پایه برای Layout ها است.
- Adapter در اندروید چیست ؟
از Adapter برای ایجاد ویو فرزند برای ارائه آیتم های اصلی استفاده می شود.
- تصاویر nine-patch در اندروید چه چیزی هستند ؟
ما می توانیم تصاویر bitmap را به نه قسمت با چهار گوشه ، چهار لبه و یک محور تغییر دهیم.
- کدام Kernel (هسته) در اندروید استفاده می شود ؟
اندروید از هسته لینوکس 3.6 سفارشی استفاده می کند .
- ویجت ها در پروژه های اندرویدی چه هستند ؟
ویدجت ها در پروژه ویو های کوچک برنامه محسوب می شوند که می توانند در برنامه های دیگر قرار بگیرند و به روزرسانی های دوره ای دریافت کنند.
- از کدام نوع Flag برای اجرای برنامه در اندروید استفاده می شود ؟
در زیر دو نوع پرچم برای اجرای برنامه در اندروید وجود دارد :
- FLAG_ACTIVITY_NEW_TASK
- FLAG_ACTIVITY_CLEAR_TOP
- class singleton در اندروید چیست ؟
یک class singleton یک کلاس است که می تواند فقط یک شی ایجاد کند و می تواند برای همه کلاس های دیگر به اشتراک گذاشته شود.
- Sleep mode (حالت خواب) در اندروید چگونه است ؟
در حالت خواب ، CPU به حالت خواب رفته است و هیچ فرمانی از دستگاه اندرویدی به جز لایه رابط رادیویی (Radio interface layer) و alarm را نمی پذیرد.
- منظور از فولدر drawable در اندروید چیست؟
در اندروید , یک فولدر drawable که به عنوان یک منبع تصویری است که میتوان به عنوان پسزمینه , بنر صفحه استفاده کند .
- DDMS چیست ؟
DDMS مخفف عبارت Dalvik Debug Monitor Server است. این مجموعه وسیعی از ویژگی های debugging را ارائه می دهد:
- سرویس های Port forwarding
- ضبط صفحه نمایش (Screen capture)
- اطلاعاتThread and heap
- Network traffic tracking
- Location data spoofing
46.معماری اندروید را تعریف کنید؟
معماری اندروید از چهار بخش تشکیل شده است :
- Kernal لینوکس
- کتابخانه ها
- فریم ورک اندروید
- اپلیکیشن های اندروید
- هات اسپات قابل حمل wi-fi چیست؟
از هات اسپات قابل حمل wi-fi برای به اشتراک گذاشتن اینترنت به سایر دستگاه های بی سیم استفاده می شود.
- نام دیالوگ باکس هایی که در اندروید پشتیبانی می شود را نام ببرید ؟
- Alert Dialog
- Progress Dialog
- Date Picker Dialog
- Time picker Dialog
- چند مورد از استثنا (exceptions) ها را در اندروید نام ببرید؟
- Inflate Exception
- OutOfResourceException
- BadSurfaceTypeException
- BadTokenException
- ابزارهای اصلی مورد استفاده برای توسعه یک برنامه اندروید چیست؟
- JDK
- Android Studio
- SDK Tools
نتیجه گیری :
در این مقاله به بررسی ۵۰ سوال از مهمترین سوالاتی که ذر فرایند فنی استخدامی برنامه نویس اندروید پرداختیم. حتما ددر آموزش های بعدی فهرستی از سوالات حرفه ای تر در مصاحبه برنامه نوویس اندروید را بررسی میکنیم.خیلی خوشحال میشم اگر سوالات بهتری در نظر دارید در بخش نظرات ارسال نمایید.
دیدگاهتان را بنویسید