مهم‌ترین سوالات مصاحبه اندروید همراه با جواب

نوشته شده توسط امیر ظاهری
زمان مطالعه: 11دقیقه
مهم‌ترین سوالات مصاحبه اندروید همراه با جواب

در این مقاله می‌خواهیم مهم‌ترین سوالات مصاحبه اندروید را مرور کنیم. گوشی‌های هوشمند، روز به روز کاربردهای بیشتری در زندگی ما پیدا می‌کنند. در حال حاضر، دو پلتفرم اندروید و iOS، مهم‌ترین پلتفرم‌های گوشی‌های هوشمند محسوب می‌شوند. به ویژه در کشور ما که متأسفانه به دلیل وضعیت اقتصادی، گوشی مصرفی آیفون، کالایی لوکس محسوب می‌شود، تعداد کاربران گوشی‌های اندرویدی در مقایسه به کاربران iOS خیلی بیشتر است. در نتیجه، نیاز بالایی به استخدام برنامه نویس Android وجود دارد.

استخدام

تمامی سازمان‌هایی که برای کسب و کار یا ارائه خدمات خود، نیازمند داشتن اپلیکیشن‌های موبایل هستند، نیاز به استخدام برنامه نویس اندروید دارند. پس از ارسال رزومه برای یک فرصت شغلی مرتبط در سایت جاب ویژن، ممکن است به مصاحبه استخدامی دعوت شوید. برای موفقیت در مصاحبه استخدامی، باید با آمادگی کامل در مصاحبه حاضر شوید.

یکی از کارهایی که پیش از هر مصاحبه کاری باید انجام دهید، تهیه فهرستی از سوالات محتمل و آماده شدن برای جواب دادن به آن‌ها است. در ادامه این مقاله، رایج‌ترین سوالات مصاحبه اندروید را برای شما آورده‌ایم. همچنین، بهترین جواب‌ها نیز برای هر سوال آماده شده‌اند. با جاب ویژن همراه باشید.

مطلب مرتبط: راهنمای استخدم برنامه نویس اندروید

سوالات مصاحبه برنامه نویسی اندروید برای برنامه‌نویسان جونیور

۱- اندروید چیست؟

سوالات مصاحبه اندروید جونیور

اندروید یک سیستم عامل منبع-باز (open-source) است که در دستگاه‌های موبایل مثل گوشی‌های هوشمند و تبلت‌ها مورد استفاده قرار می‌گیرد. اپلیکیشن اندروید درون فرآیند خودش و درون مثلا ماشین مجازی دالویک (DVM) یا زمان اجرای اندروید (ART) اجرا می‌شود.

۲- مشخصات معماری اندروید چیست؟

منظور از معماری اندروید، لایه‌های مختلف در استک اندروید است. معماری اندروید شامل سیستم‌های عامل، میان‌افزارها و اپلیکیشن‌ها می‌باشد. هر لایه در معماری اندروید، سرویس‌های مختلفی به لایه بالای خودش می‌دهد. پنج لایه موجود در استک اندروید عبارتند از:

  • لینوکس کرنل (Linux Kernel): درایورهای دستگاه، مدیریت دستگاه (device management) و منبع دسترسی را تحت کنترل دارد.
  • کتابخانه‌ها: شامل مجموعه‌ای از کتابخانه‌های دارای موتور جستجوی وب منبع-باز WebKit، کتابخانه معروف libc، کتابخانه‌های بازی و ضبط صدا و تصویر، پایگاه داده SQLite برای به اشتراک‌گذاری داده‌های اپلیکیشن‌ها و حافظه، کتابخانه‌های SSL برای امنیت اتصال اینترنت و …
  • زمان اجرای اندروید (Android RunTime): شامل کتابخانه‌های هسته‌ای همراه با DVM با ART که به اجرای یک اپلیکیشن اندروید کمک می‌کنند. DVM برای دستگاه‌های همراه بهینه‌سازی شده است، حافظه کمی را اشغال می‌کند و به دستگاه، سرعت عمل می‌بخشد. ART به جای DVM معرفی شده تا اپلیکیشن‌های اندروید lollipop 5.0 را اجرا کند.
  • فریم‌ورک اندروید: این فریم‌ورک شامل APIهای اندروید مثل رابط کاربری، داده‌ها، موقعیت‌های جغرافیایی، قابلیت‌های تلفنی و پکیج منیجرها است. این فریم‌ورک، رابط‌های کاربری و کلاس‌هایی برای توسعه اپلیکیشن‌های اندروید، فرآهم می‌آورد.
  • اپلیکیشن‌های اندروید: اپلیکیشن‌هایی مثل home، بازی‌ها، کانتکت‌ها، تنظیمات، مرورگرها و …

معماری اندروید

۳- از چه زبان‌هایی می‌توان برای برنامه‌نویسی اندروید استفاده کرد؟

یکی از رایج‌ترین سوالات مصاحبه اندروید که به احتمال خیلی زیاد از شما پرسیده می‌شود، در رابطه با زبان‌های برنامه‌نویسی اندروید است. می‌توان از زبان‌های زیر برای برنامه‌نویسی اندروید استفاده کرد:

  • جاوا
  • کوتلین
  • #C
  • پایتون
  • زبان‌های دیگر مثل ++C و …

۴- منظور از فعالیت یا Activity در برنامه‌نویسی اندروید چیست؟

Activity در جاوا یک صفحه واحد است که ارائه دهنده رابط کاربری گرافیکی است و کاربران می‌توانند با استفاده از آن، برای انجام هر کاری با دستگاه خود تعامل داشته باشند. برای مثال، صفحه شماره‌گیری گوشی که در آن کاربر می‌تواند با وارد کردن شماره، یک تماس تلفنی برقرار کند، یک Activity است.

رزومه ساز

۵- منظور از سرویس در اندروید چیست؟

سرویس در اندروید یک کامپوننت اپلیکیشن است که اجرای یک اپلیکیشن در پس زمینه را برای انجام فعالیت‌های طولانی-مدت بدون تعامل با کاربر، تسهیل می‌کند. یک سرویس می‌تواند حتی در صورت بسته شدن اپلیکیشن یا حتی باز کردن یک اپلیکیشن دیگر، به صورت پیوسته در پس‌زمینه اجرا شود.

۶- تفاوت بین فعالیت‌ها و سرویس‌ها؛ یکی از رایج‌ترین سوالات مصاحبه اندروید

کاربر می تواند هر وقت که می‌خواهد، فعالیت‌ها را ببندد. در مقابل، سرویس‌ها برای اجرا در پس‌زمنیه اندروید طراحی شده‌اند و به صورت مستقل کار می‌کنند.

اغلب سرویس‌ها به صورت پیوسته کار می‌کنند و فعالیت آن‌ها، ربطی به اجرای یک اپلیکیشن خاص ندارد.

فعالیت‌ها سرویس‌ها
برای اجرا در پیش‌زمینه طراحی شده‌اند. اکثرا برای اجرا در پس زمینه طراحی شده‌اند. البته بعضی از سرویس‌های پیش‌زمینه‌ای نیز موجود هستند.
در هنگام نیاز به تعامل با کاربر استفاده می‌شوند. اجرای آن‌ها وابسته به نیاز به تعامل با کاربر نیست.
وابسته هستند. به صورت مستقل عمل می‌کند.

۷- SDK اندرویدی گوگل چیست؟ چه ابزارهایی در SDK اندروید قرار می‌گیرند؟

SDK اندرویدی گوگل یک جعبه ابزار است که برنامه‌نویسان اندروید برای نوشتن اپلیکیشن‌های اندرویدی، از آن استفاده می‌کنند. مجموعه ابزارهایی که در SDK اندروید قرار می‌گیرند، به شرح زیر هستند:

  • شبیه‌ساز اندروید یا Android Emulator: یک نرم‌افزار است که دستگاه اندرویدی را روی کامپیوتر شما شپبیه‌سازی می‌کند تا بتوانید بدون نیاز به داشتن همه دستگاه‌های اندرویدی، اپلیکیشن را روی دستگاه‌های مختلف و سطوح API اندروید تست کنید.
  • DDMS: یک ابزار رفع عیب است که سرویس‌هایی مثل ساخت پیام، شبیه‌سازی تماس، گرفتن اسکرین‌شات و … را انجام می‌دهد.
  • ADB: یک ابزار خط فرمان (command-line) است که برای امکان‌پذیر ساختن و کنترل کردن ارتباط با شبیه‌ساز، به کار گرفته می‌شود.
  • AAPT: یک ابزار ساخت است که به برنامه‌نویسان امکان دیدن، ایجاد کردن و به روز‌رسانی آرشیوهای سازگار با ZIP را می‌دهد.

۸- کاربرد دسته یا Bundle در اندروید چیست؟

دسته‌ها برای انتقال دادن داده‌های مورد نیاز بین انواع مختلف فعالیت‌های اندرویدی، مورد نیاز هستند.

۹- آداپتر در اندروید به چه معنی است؟

آداپتر در اندروید به صورت یک پل بین یک AdapterView و داده‌های پس‌زمینه‌ای آن view عمل می‌کند. آداپتر، داده‌ها را نگه می‌دارد و آن‌ها را به آداپتر ویو می‌فرستند. view می‌تواند داده‌ها را از adapter view بگیرد و داده‌ها را روی viewهای مختلف مثل یک اسپینر، یک لیست، یک view شبکه‌ای و … نمایش دهد.

۱۰- AAPT چیست؟

واژه AAPT خلاصه شده عبارت Android Asset Packaging Tool به معنی ابزار بسته‌بندی محتونیات اندروید است. در واقع، AAPT یک ابزار ساخت است که به برنامه‌نویسان امکان می‌دهد تا آرشیوهای سازگار با ZIP را ببینند، بسازند و به‌روزرسانی کنند.

۱۱- هات اسپات وای-فای پرتابل چیست؟

هات اسپات وای-فای پرتالب به کاربر اجازه می‌دهد تا اینترنت موبایل خود را با دیگر دستگاه‌های وایرلسی به اشتراک بگذارد. برای مثال، با این قابلیت، لپ تاپ شما می‌تواند از اینترنت موبایل شما به صورت وایرلسی استفاده کند.

سوالات مصاحبه اندروید از برنامه‌نویسان سطح متوسط

سوالات مصاحبه اندروید سطح متوسط

برای مشاهده آگهی‌های استخدام برنامه نویس اندروید در سطح متوسط، کلیک کنید.

۱- چرخه حیات فعالیت اندرویدی چیست؟

  • ()onCreat: زمانی فراخوانده می‌شود که فعالیت در حال ساخته شدن است. با استفاده از این دستور، viewها ایجاد و داده‌ها از دسته‌ها، گردآوری می‌شوند.
  • ()onStart: زمانی فراخوانده می‌شود که فعالیت برای کاربر قابل مشاهده شود. ممکن است در هنگام رفتن فعالیت به پیش‌زمینه، قبل از این دستور، ()onResume یا در هنگام مخفی شدن فعالیت، ()onStop فراخوانده شود.
  • ()onResume: زمانی فراخوانده می‌شود که فعالیت، یک تعامل را با کاربر شروع می‌کند.
  • ()onPause: زمانی فراخوانده می‌شود که فعالیت به پس‌زمینه می‌رود ولی هنوز کاملا بسته نشده است.
  • ()onStop: زمانی فراخوانده می‌شود که نمایش فعالیت به کاربر متوقف شود.
  • ()onDestroy: زمانی فراخوانده می‌شود که فعالیت خاتمه میابد یا از بین می‌رود.
  • ()onRestart: زمانی فراخوانده می‌شود که فعالیت متوقف شده و قرار است دوباره شروع شود.

چرخه حیات اندروید

۲- سنسورها را در اندروید توضیح دهید؟

یکی از سوالات مصاحبه اندروید که خیلی از برنامه‌نویس‌های سطح متوسط پرسیده می‌شود، در رابطه با سنسورها در اندروید است.

دستگاه‌های اندرویدی، دارای مجموعه‌ای از سنسورهای مختلف هستند که پارامترهای مختلف محیطی مثل نور، صدا، حرکت، جاذبه و … را تشخیص داده و اندازه‌گیری می‌کنند. هر سنسور می‌تواند هم ماهیت سخت‌افزاری و هم ماهیت نرم‌افزاری داشته باشد. سه دسته اصلی سنسور در دستگاه‌های اندرویدی وجود دارد:

  • سنسور موقعیتی: برای اندازه‌گیری موقعیت فیزیکی دستگاه اندرویدی مورد استفاده قرار می‌گیرد. این سنسور شامل سنسورهای جهت‌گیری گوشی و سنسورهای مغناطیسی می‌باشد.
  • سنسورهای حرکتی: این سنسورها شامل سنسورهای جاذبه، چرخشی و شتاب‌سنج هستند که حرکت مختلف گوشی را شناسایی می‌کنند.
  • سنسورهای محیطی: مثل سنسورهایی که نور، دما، رطوبت، فشار و دیگر عوامل محیطی را اندازه‌گیری می‌کنند.

۳- دیالوگ باکس‌های اندرویدی را توضیح دهید

سیستم عامل اندروید از چهار نوع دیالوگ باکس، پشتیبانی می‌کند:

  • دیالوگ هشدار:
    • دیالوگ هشدار از صفر تا سه دکمه را پشتیبانی می‌کند و شامل فهرستی از آیتم‌های قابل انتخاب مثل چک باکس‌ها و دکمه‌های رادیویی است.
    • از دیالوگ هشدار زمانی استفاده می‌شود که اندروید بخواهد بدون رفتن به یک صفحه جدید، یک سوال بله یا خیر از کاربر در رابطه با یک فعالیت بپرسد.
  • دیالوگ انتخاب تاریخ:
    • برای انتخاب تاریخ توسط کاربر استفاده می‌شود.
  • دیالوگ انتخاب زمان:
    • برای انتخاب زمان توسط کاربر استفاده می‌شود.
  • دیالوگ جلو رفتن:
    • نوعی دیالوگ هشدار است که برای پیش رفتن در یک روند، استفاده می‌شود.
    • این نوع دیالوگ توسط API کلاس ۲۶ منسوخ شد زیرا مانع از این می‌شد که کاربر بخواهد با اپلیکیشن تعامل داشته باشد. به جای این نوع دیالوگ می‌توانیم از یک شاخص پیش‌روندگی که بتوان آن را در رابط کاربری اپلیکیشن جاگذاری کرد، استفاده می‌کنیم.

۴- فایل AndroidManifest.xml چیست و چرا به آن نیاز داریم؟

  • فایل AndroidManifest.xml شامل اطلاعات مرتبط با اپلیکیشن است که سیستم اندروید باید پیش از اجرای کد، آن‌ها را بداند.
  • هر اپلیکیشن اندروید به این فایل نیاز دارد.
  • این فایل در دایرکتوری روت شناسایی می‌شود.
  • این فایل چندین کار مختلف شامل موارد زیر ار انجام می‌دهد:
    • فرآهم آوردن نام منحصر به فرد برای پکیج جاوا
    • تشریح کامپوننت‌های مختلف اپلیکیشن مثل فعالیت، سرویس‌ها و …
    • تعریف کلاس‌هایی که از این کامپوننت‌ها استفاده می‌کنند.

۵- منظور از intent یا قصد در اندروید چیست؟

یکی از رایج‌ترین سوالات مصاحبه اندروید که معمولا از برنامه‌نویسان سطح متوسط پرسیده می‌شود، در رابطه با مفهوم intent یا قصد در اندروید است.

یک intent، یک شیء پیام‌رسانی است که برای درخواست یک فعالیت از طرف دیگر کامپوننت‌های یک اپلیکیشن استفاده می‌شود. می‌توان از intent برای شروع یک فعالیت، ارسال SMS، ارسال ایمیل، نمایش یک صفحه وب و … استفاده کرد.

یک intent می‌توند نوتیفیکیشن‌های پیام‌ها در یک دستگاه اندرویدی را به کاربر نشان دهد و به کاربر، در رابطه با یک وضعیت، هشدار می‌دهد. دو نوع intent در اندروید وجود دارد:

  • implicit intent یا قصد نهان: برای به کارگیری کامپوننت‌های سیستم مورد استفاده قرار می‌گیرد.
  • explicit intent یا قصد آشکار: برای به کارگیری یک کلاس فعالیت خاص مورد استفاده قرار می‌گیرد.

۶- تفاوت بین کلاس، فایل و فعالیت را در اندروید توضیح دهید

تفاوت بین این سه مفهوم به شرح زیر است:

  • کلاس یک نوع فایل java. کامپایل شده است که اندروید از آن برای تولید یک فایل apk. قابل اجرا، استفاده می‌کند.
  • منظور از فایل در اندروید، یک واحد از اطلاعات یا منابع اختیاری است که برای ذخیره‌سازی اطلاعات مورد استفاده قرار می‌گیرد و می‌تواند هر نوع فایلی باشد.
  • فعالیت یک صفحه واحد است که GUI (رابط کاربری گرافیکی) را نمایش می‌دهد و کاربران می‌توانند با استفاده از آن، برای انجام کارهای مختلف، مثل شماره‌گیری تلفنی، استفاده کنند.

۷- Toast در اندروید چیست؟

یکی دیگر از سوالات مصاحبه اندروید می‌تواند در رابطه با مفهوم Toast باشد. Toast پیامی است که روی صفحه نمایش ظاهر می‌شود و برای نمایش وضعیت فعالیتی که توسط کاربر شروع شده است، مورد استفاده قرار می‌گیرد و فقط، فضای مورد نیاز برای پیام را بیان می‌کند؛ این در حالی است که فعالیت اخیر کاربر، قابل مشاهده و قابل تعامل باقی می‌ماند.

۸- Context در اندروید چیست؟

کانتکست در اندروید عبارت است از شرح وضعیت کنونی اپلیکیشن یا شیء. کانتکست با سرویس‌هایی مثل دسترسی به پایگاه‌های داده و …

دو نوع کانتکتست در اندروید وجود دارد:

  • کانتکست فعالیت
  • کانتکست اپلیکیشن

۹- ANR در اندروید چیست و برای جلوگیری از آن چه کارهایی می‌توان انجام داد؟

ANR خلاصه شده عبارت Application is Not Responding به معنی اپلیکیشن پاسخگو نیست، می‌باشد. ANR یک دیالوگ باکس است که در زمان پاسخگو نبود اپلیکیشن، ظاهر می‌شود. برای جلوگیری از این مشکل می‌توانید کارهای زیر را امتحان کنید:

  • برای اینکه خطای ANR رخ ندهد، اپلیکیشن باید پایگاه‌های داده یا عملیات شبکه طولانی را به صورت threadهای جداگانه اجرا کند.
  • برای اپلیکیشن‌های زمینه‌ای سنگین، می‌توانید با استفاده از IntentService، فشار را از thread رابط کاربری کم کنید.

۱۰- نقش Dalvik در توسعه اندروید چیست؟ از مهم‌ترین سوالات مصاحبه اندروید برای برنامه‌نویسان سطح-متوسط

DalviK به صورت یک ماشین مجازی کار می‌کند و مسئول اجرای هر اپلیکیشن در اندروید است. یک دستگاه، به دلیل وجود Dalvic می‌تواند موارد متعددی از ماشین‌های مجازی را از طریق مدیریت بهتر حافظه، اجرا کند.

۱۱- جدیدترین نسخه اندروید چیست؟ تمامی نسخه‌های اندروید را نام ببرید.

نسخه نام اندروید سطح API تاریخ انتشار
اندروید 1.0 بدون نام ۱ ۲۰۰۸
اندروید 1.1 بدون نام ۲ ۲۰۰۹
اندروید 1.5 کاپ‌کیک ۳ ۲۰۰۹
اندروید 1.6 دونات ۴ ۲۰۰۹
اندروید 2.1-2.0 اکلایر ۵-۷ ۲۰۰۹
اندروید 2.2.3-2.2 فرویو ۸ ۲۰۱۰
اندروید 2.3.7-2.3 گینگربرید ۹-۱۰ ۲۰۱۰
اندروید 3.2.6-3.0 هانی‌کامب ۱۱-۱۳ ۲۰۱۱
اندروید 4.0.4-4.0 آیس‌کریم ساندویچ ۱۴-۱۵ ۲۰۱۱
اندروید 4.3.1-4.1 ژلی‌بین ۱۶-۱۸ ۲۰۱۲
اندروید 4.4-4.4.4 کیت‌کت ۱۹-۲۰ ۲۰۱۳
اندروید 5.1.1-5.0 لولی‌پاپ ۲۱-۲۲ ۲۰۱۴
اندروید 6.0.1-6.0 مارشملو ۲۳ ۲۰۱۵
اندروید 7.1.2-7.0 نوگات ۲۴-۲۵ ۲۰۱۶
اندروید 8.1-8.0 اورئو ۲۶-۲۷ ۲۰۱۷
اندروید 9.0 پای ۲۸ ۲۰۱۸
اندروید 10.0 اندروید ۱۰ ۲۹‍ ۲۰۱۹
اندروید 11.0 اندروید ۱۱ ۳۰ ۲۰۲۰

شما می‌توانید با مراجعه به سایت کاریابی جاب ویژن و صفحه «توانمندتر شو» دوره‌های مختلف برنامه‌نویسی اندروید را مشاهده و در آن‌ها شرکت کنید.

سوالات مصاحبه کاری اندروید از برنامه‌نویسان سنیور

سوالات مصاحبه اندروید سنیور

برای مشاهده فرصت‌های شغلی برنامه نویسی اندروید در سطح پیشرفته، کلیک کنید.

۱- منظور از گیرنده‌های پخش یا broadcast receivers چیست و چگونه اجرا می‌شوند؟

هر گیرنده پخش یک سازوکار است که توسط اپلیکیشن میزبان برای گوش دادن به رویدادهای سطح سیستم مثل گوش دادن به تماس‌های ورودی به کار گرفته می‌شود. این سازوکار به صورت یک زیرکلاس از کلاس BroadcastReceiver و اجرا می‌شود و هر پیام به صورت یک شیء intent پخش می‌شود.

۲- فایل‌ها و فولدرهای مورد استفاده در ساخت یک اپلیکیشن اندروید را شرح دهید.

  • App: ویژگی‌های اپلیکیشن را تشریح و هر یک از کامپوننت‌های آن را تعریف می‌کند.
  • java: شامل فایل‌های منبع java. و kt. (کد منبع نوشته شده در کوتلین) مربوط به پروژه توسعه اپلیکیشن است. تمامی فعالیت‌های دارای افزونه‌های java. و kt. تحت این فایل ایجاد می‌شوند و شامل تمام کد مورد استفاده در توسعه اپلیکیشن می‌باشد.
  • res: برای ذخیره‌سازی مقادیر برای منابعی که در پروژه‌های اندرویدی مختلف برای ویژگی‌هایی مثل رنگ، فونت، ابعاد و … استفاده می‌شوند، مورد استفاده قرار می‌گیرد. res یک دایرکتوری برای فایل‌هایی مثل styles.xml و فایل‌های مشابه است.
  • scripts: یک فایل خود ایجاد شونده است که شامل compileSdkVersion، buildToolsVersion، minSdkVersion، targetSdkVersion، applicationld، versionCode و versionName است.

۳- از کدام پایگاه داده در اندروید استفاده می‌شود؟ تفاوت این پایگاه داده با سیستم‌های مدیریت پایگاه داده client-server چیست؟

یکی از سوالات مصاحبه اندروید که حتما از برنامه‌نویسان سنیور پرسیده می‌شود، در رابطه با پایگاه داده مورد استفاده در اندروید است.

در اندروید از پایگاه داده SQLite که یک پایگاه داده رابطه‌ای منبع-باز است، استفاده می‌شود. موتور SQLite، برخلاف رابطه کاربر-سرور در اغلب سیستم‌های مدیریت پایگاه داده، بدون سرور، تراکنشی و خودشمول (self-contained) است. این کتابخانه را می‌توان به صورت داینامیک فراخواند و می‌تواند از فراخوانی‌های ساده‌ای که تأخیر در دسترسی به پایگاه داده را کاهش می‌دهند، استفاده کند.

۴- تفاوت بین نخ و سرویس چیست؟

یکی دیگر از رایج‌ترین سوالات مصاحبه کاری اندروید که ممکن است از برنامه‌نویسان سنیور پرسیده شود، در رابطه با تفاوت بین نخ یا thread و سرویس است.

سرویس رشته
هر سرویس یک کامپوننت اپلیکیشن است که به اجرای اپلیکیشن در پس زمینه کمک می‌کند. نخ یک واحد متناظر از اجرا است.
با فراخوانی ()Context.bindService، بعضی از توابع را برای دیگر اپلیکیشن‌ها اجرا می‌کند. گوگل، هندلرها و لوپرها را وارد نخ کرده است.
وقتی یک اپلیکیشن به طور کامل بسته می‌شود، سرویس بسته نمی‌شود.‍ وقتی یک اپلیکیشن به طور کامل بسته می‌شود، نخ هم بسته می‌شود.

۵- تأمین کننده محتوا یا Content Provider در اندروید چیست و چگونه اجرا می‌شود؟

Content provider یکی از بلوک‌های ساختاری اپلیکیشن‌های اندرویدی است که امکان دسترسی به یک مخزن مرکزی از داده‌ها را فرآهم می‌آورد. تأمین کننده محتوا به صورت یک رابط استاندارد عمل کرده و داده‌ها در یک فرآیند را با اجرای کد در فرآیند دیگر، مرتبط می‌کند. بنابراین، می‌توان از آن برای به اشتراک‌گذاری داده‌ها بین اپلیکیشن‌ها استفاده کرد .

Content Providerها مسئول کپسوله‌سازی داده و فرآهم آوردن سازوکارهایی برای تعریف ایمنی داده‌ها هستند. هر Content Provider به صورت یک کلاس فرعی از ContentProviderClass اجرا می‌شود و باید به صورت مجموعه‌ای از APIها که اپلیکیشن‌های دیگر را برای اجرای تراکنش‌ها فعال می کنند، به کار گرفته شود.

۶- اهمیت فایل dex. چیست؟

برنامه‌های اندروید به وسیله DVM به یک فایل dex. (فایل قابل اجرای Dalvik) کامپایل می‌شوند. سپس، خود این فایل به صورت یک فایل apk. زیپ می‌شود. فایل‌های dex. توسط اپلیکیشن‌های کامپایل‌شده در حال ترجمه نوشته شده در جاوا، ساخته می‌شوند. dex. فرمتی است که برای اجرای حافظه مؤثر و حافظه قابل نقشه‌برداری (mappable memory) بهینه‌سازی شده است.

۷- کلاس‌های جاوا و ارتباط آن‌ها با استفاده از سنسورها در اندروید را توضیح دهید.

از سوالات مصاحبه اندروید که احتمال پرسش آن از یک برنامه‌نویس سنیور زیاد است، ارتباط کلاس‌های جاوا با سنسورهای دستگاه است.

API سنسور اندروید، کلاس‌ها و رابط‌های متعددی برای استفاده از سنسورها در اندروید، فرآهم می‌آورد. کلاس‌ها و رابط‌های مهم API سنسور به شرح زیر هستند:

  • کلاس سنسور: این کلاس به شما در ایجاد یک یک سنسور خاص کمک می‌کند و روش‌هایی برای شما فرآهم می‌آورد که شما را قادر می‌سازند تا قابلیت‌های یک سنسور را تعیین کنید.
  • کلاس SensorManager: از این کلاس برای ایجاد یک سرویس سنور خاص استفاده می‌شود. این کلاس، روش‌هایی برای دسترسی و فهرست کردن سنسورها برای لایسنس‌کننده‌ها و دیگران، فرآهم می‌آورد.
  • کلاس SensorEvent: این کلاس جاوا، برای ایجاد یک شیء رویداد، استفاده می‌شود و اطلاعاتی در رابطه با رویداد سنسور شامل داده‌های سنسوری خام، دقت داده‌ها، نوع سنسور و … فرآهم می‌آورد.
  • رابط SensorEventListenener: از این رابط برای ایجاد روش‌های پاسخگویی که نوتیفیکیشن‌های رویداد سنسور را در زمان تغییرات مقدار سنسور یا تغییرات دقت سنسور، دریافت می‌کنند، استفاده می‌شود.

مطلب مرتبط: میزان حقوق برنامه نویس اندروید در ایران + روش‌های کسب درآمد

جمع‌بندی

پس از ارسال رزومه در یک سایت استخدام و کاریابی، ممکن است به مصاحبه شغلی دعوت شوید. مصاحبه می‌تواند مرحله بسیار حساسی از زندگی باشد و بنابراین، پیش از ورود به جلسه مصاحبه، باید خودتان را آماده کنید. یکی از مراحل آماده‌شدن برای جلسه مصاحبه، تهیه فهرستی از سوالات محتمل و جواب‌های آن‌ها است. در این مقاله، رایج‌ترین سوالات مصاحبه برنامه نویسی اندروید را همراه با جواب، برای شما آوردیم.

همانطور که دیدید، می‌توان سوالات هر مصاحبه برنامه‌نویسی را به سه سطح جونیور، سطح متوسط و سنیور تقسیم‌بندی کرد، اگر زمان زیادی پیش از جلسه مصاحبه ندارید، روی سوالات سطح مربوط به خود تمرکز داشته باشید. قطعا دانستن جواب‌های رایج‌ترین مصاحبه استخدام برنامه نویس Android، می‌تواند شانس شما را برای موفقیت در جلسه مصاحبه، افزایش دهد.

منبع: InterViewBit

نویسنده

دسته بندی :
مصاحبه شغلی
بدون دیدگاه