اگر به دنبال سوالات مصاحبه Microservices برای افراد با تجربه یا تازه کار هستید، در جای مناسبی هستید. فرصت های زیادی برای بسیاری از شرکت های معتبر در جهان وجود دارد.
پرسش و پاسخ مصاحبه میکروسرویس
Q1) Spring Cloud در حوزه Microservices چیست؟
این نوعی ویژگی در حوزه Microservices است که یکپارچگی با سیستم های بیرونی را فراهم می کند. همچنین به عنوان یک فریم ورک میکروسرویس کوتاه مدت شناخته می شود که توانایی ساخت برنامه های کاربردی را به سرعت دارد. علاوه بر این، عملکرد مهمی در میکروسرویس ها ایفا می کند زیرا با مقادیر محدودی از پردازش داده ها مرتبط است.
Q2) معماری Microservices را روشن کنید؟
این نوع معماری است که اجتناب از اجرای برنامه های کاربردی بزرگ را برای یک سیستم بزرگ تسهیل می کند. این با مشیت اتصال شل که بین رویه های مختلف مشارکتی اتفاق می افتد مرتبط است. از طرف دیگر، این قابلیت را دارد که به صورت مستقل تحت شرایط مختلف اجرا شود.
Q3) روشی را که از طریق آن می توانید کشف سرویس را راه اندازی کنید، شرح دهید؟
اگرچه راههای زیادی برای راهاندازی کشف سرویس وجود دارد، اما باید از Eureka ایجاد شده توسط Netflix استفاده کنید. این معمولاً یک فرآیند بسیار بدون دردسر است که برای برنامه سنگین نیست. همچنین، می تواند برای برنامه های مختلف مناسب باشد که بسیار خوب است.
Q4) منظور شما از Eureka در حوزه Microservices چیست؟
Eureka همچنین به عنوان Netflix Service Discovery Server شناخته می شود. این از Spring Cloud استفاده می کند و اغلب به عنوان پرکاربردترین تنظیمات برای شروع کشف سرویس شناخته می شود. همچنین روی فرآیند توسعه اپلیکیشن چندان سنگین نیست. به همین دلیل است که در بین توسعه دهندگان امروزی بسیار محبوب است.
Q5) راههایی را که از طریق آنها میتوانید به میکروسرویسهای RESTful دسترسی پیدا کنید، روشن کنید؟
اینها راه های زیر هستند که با کمک آنها می توانید از یک میکروسرویس RESTful استفاده کنید.
با استفاده از الگوی استراحت متعادل بار
با استفاده از چندین Microservice می توانید به راحتی از یک قالب RESTful استفاده کنید
اگر تعداد زیادی الگوی RESTful به شما داده شده است، همیشه مطمئن شوید که از الگوی مناسب استفاده می کنید
Q6) فرآیندی را شرح دهید که توسط آن می توانید بار سمت سرور را با استفاده از Spring Cloud متعادل کنید؟
جالب است بدانید که عمل متعادل کننده در مورد دستیابی به بار سمت سرور را می توان با استفاده از Netflix Zuul به دست آورد. Zuul همچنین به عنوان یک روتر مبتنی بر JVM شناخته می شود. همچنین به عنوان یک متعادل کننده بار توسط نتفلیکس در نظر گرفته می شود. به همین دلیل است که همیشه یک موجودیت واحد را به سیستم تسهیل می کند.
Q7) آیا می توانید Zuul را با انواع دیگر پروژه ها ادغام کنید؟
بله، Zuul را می توان با انواع دیگر خدمات نتفلیکس که به عنوان Hystrix شناخته می شوند، ادغام کرد. به ویژه برای تحمل انواع مختلف گسل هایی که معمولاً در اورکا وجود دارند، در نظر گرفته شده است. با تحمل انواع مختلف خطاها، کشف خدمات در حوزه میکروسرویس ها آسان تر می شود. همچنین می توان از آن برای مدیریت جداول مسیریابی و متعادل سازی موثر بار در سراسر سیستم استفاده کرد.
Q8) نیاز اساسی میکروسرویس ها را در زمینه توسعه برنامه امروزی روشن کنید؟
میکروسرویس ها به عنوان یک الگوی جدید در حوزه توسعه نرم افزار نیز شناخته می شوند. از آنجایی که توانایی افزایش سرعت و کارایی را دارد اهمیت پیدا کرده است. همچنین می تواند راه حل های نرم افزاری را به شیوه ای موثر مدیریت کند. برخی نیز آن را رویکردی به فرآیند و فرهنگ می نامند که ارزش کسب و کار را به شیوه ای افزایش یافته ارائه می دهد. در زمینه توسعه برنامه امروزی، نقش بسیار مهمی ایفا می کند زیرا می تواند در فرآیند توسعه یک برنامه یکپارچه به شیوه ای کارآمد به کار گرفته شود.
Q9) شرایطی را توضیح دهید که تحت آن از Netflix Hystrix استفاده می کنید؟
این یک واقعیت پذیرفته شده است که Hystrix همچنین به عنوان یک کتابخانه تحمل خطا و تأخیر شناخته می شود. هدف اصلی Hystrix اطمینان از جداسازی نقاط دسترسی است. از طرفی با کمک این اکسس پوینت ها می توان به راحتی به سیستم های راه دور دسترسی پیدا کرد. همچنین اطمینان حاصل می کند که استفاده گسترده از کتابخانه های شخص ثالث و همچنین خدمات را محدود می کند. به این ترتیب، تضمین می کند که یک برنامه به شیوه ای کارآمد اجرا می شود. همچنین در ممانعت از شکستی که اغلب در سیستم های توزیع شده ای که ماهیت بسیار پیچیده ای دارند، بسیار موثر است.
Q10) فرآیندی را که توسط آن می توانید تعریف کنید
در زمان پاسخ به این سوال، باید به خوبی از این واقعیت آگاه باشید که تمام نقاط پایانی HTTP روشنگری محافظت می شوند. از این رو، توسعه دهنده با نقش یک محرک تنها می تواند به آنها دسترسی داشته باشد. از سوی دیگر، برای معتبرتر کردن این پاسخ، باید اضافه کنید که امنیت را می توان با استفاده از یک درخواست خاص کاربر اعمال کرد. این درخواست را می توان به فریمورک های دسته ای نیز انجام داد تا برنامه به صورت روان اجرا شود.
Q14) در مورد YAML در حوزه Microservices چه می دانید؟
همیشه باید توجه داشته باشید که YAML به عنوان یک زبان خوانا فردی نیز شناخته می شود. بسیاری از کارشناسان همچنین آن را زبانی می نامند که می تواند منجر به عقیم سازی داده ها شود. از این رو، اساساً نشان می دهد که می توان از آن برای پاک کردن داده ها استفاده کرد. این مزیت بزرگی در شبکه Microservices دارد. در مقایسه با سایر فایلهای دارای ویژگیهای مختلف، گفته میشود که فایل YAML از نظر سازماندهی بیشتر است. از سوی دیگر، کمتر گیج کننده است و از این رو دسترسی آسان را برای انواع توسعه دهندگان وب فراهم می کند. با این حال، توجه به این نکته نیز ضروری است که YAML دارای شکل سلسله مراتبی داده است که نقش اساسی در توسعه سریع برنامه های مختلف داشته است.
Q15) جنبه های مختلف استفاده از نمایه های فنری را روشن کنید؟
در زمینه میکروسرویس ها، نمایه های فنری نقش اساسی دارند. این به این دلیل است که به کاربران اجازه می دهد تا در فرآیند ثبت انواع لوبیا باشند. با این حال، روند ثبت لوبیا همیشه به روش های مختلفی که برنامه توسط آنها اجرا شده است بستگی دارد. از این رو، اگر برنامه را در حالت DEVELOPMENT اجرا می کنید، شاهد خواهید بود که تعداد معینی از آیتم ها را می توان به روشی آسان تحت فشار قرار داد. از طرفی در طول زمان تولید، سایر اقلام نیز قابل بارگیری هستند. با استفاده گسترده از Spring Boot، اطمینان از اینکه همه پروفایل ها می توانند به راحتی بوت شوند، نسبتاً آسان شده است. این اطمینان حاصل می کند که برنامه توسعه یافته بدون خطا اجرا می شود و در رابط کاربری سبک است.
Q16) کش را با توجه به محیطی که میکروسرویس ها در آن کار می کنند تعریف کنید؟
این یک واقعیت است که معمولاً مشاهده می شود که حافظه نهان نوعی ناحیه در حافظه محلی است که توانایی نگهداری یک کپی از داده های اغلب تحقیق شده را دارد. به عبارت دیگر، اگر حافظه نهان در برنامه انباشته شده باشد، سرعت برنامه به طرز خارق العاده ای افزایش می یابد. از طرف دیگر، میتوانید از تابع Cast نیز برای کنترل مقدار حافظه پنهان مورد نظر خود استفاده کنید.
Q17) آیا شما اغلب از چارچوب مربوط به ادغام با چارچوب Spring Boot استفاده می کنید؟
در پاسخ به این سوال همیشه می توان گفت که از Apache Camel استفاده کرده اید و تجربه یکپارچه سازی با تابع Spring Boot را دارید. همچنین می توان گفت در محیط Microservices از Apache Camel Boot starter استفاده کرده اید.
Q18) AOP را روشن کنید و همچنین نحوه استفاده از آن را با Microservices شرح دهید؟
در زمان پاسخ به این سوال، همیشه باید روی نگرانی های مقطعی تمرکز کنید. نگرانی های مقطعی راه هایی هستند که جاده های متعدد یک کاربرد خاص را گسترش می دهند. در این زمینه، جالب است بدانید که نگرانی های مقطعی معمولاً از منطق تجاری یک برنامه خاص در نوسان است. به همین دلیل است که جداسازی نگرانی های مربوط به ماهیت مقطعی همیشه یک گام اولیه است که باید در فرآیند توسعه برنامه برداشته شود. AOP همچنین به عنوان برنامه نویسی مشخصه گرا شناخته می شود که در حصول اطمینان از اینکه منطق کسب و کار به درستی برای برنامه های کاربردی مبتنی بر سازمان اعمال می شود، بسیار کمک می کند.
Q19) فرآیندی را تعریف کنید که با کمک آن می توانید مدیریت استثنا را در حوزه Microservices مستقر کنید؟
مهم است که توجه داشته باشید که میکروسرویس ها و فنر معمولاً روش منحصر به فردی را ارائه می دهند که در آن می توانید مشاوره کنترلر را کنترل کنید. می توانید بگویید که تجربه استقرار یک کلاس از Controller Advice را با کمک استثناهایی که توسط کلاس کنترلرها استفاده می شود را دارید.
Q20) مزایای Microservices چیست؟
استفاده از میکروسرویس ها مزایای مختلفی دارد. آنها به شرح زیر است:
- نگهداری پایه کوچک کد بسیار آسان است
- مقیاس بندی آن بسیار آسان است زیرا فقط یک جزء جداگانه دارد
- همچنین از پدیده اجرای مستقل پشتیبانی می کند
- زمان نصب را به شدت کاهش می دهد
- از تیم های موازی و پشتیبانی خوبی پشتیبانی می کند
- یکی دیگر از مزیت های اصلی این میکروسرویس این است که توانایی تسهیل تنوع فناوری را دارد.
Q21) انواع مختلف ویژگی های فناوری اطلاعات موجود در Microservices را روشن کنید؟
با کمک Microservices، کسب و کار شما می تواند به ارتفاعات جدیدی برسد زیرا برنامه ریزی فناوری اطلاعات و اجرای پروژه ها را یکپارچه می کند. در اینجا لیستی از ویژگی های مهم فناوری اطلاعات موجود در Microservices آمده است.
- برنامه ریزی انواع پروژه های فناوری اطلاعات
- مدیریت امکانات
- اجرای چندین نوع تمرین چابک
- تخصیص خدمات مشترک
- مدیریت پرونده های تجاری
- حفظ شفافیت در جنبه های مختلف هزینه همراه با برنامه ریزی مدیریت فناوری اطلاعات
Q22) گزارشات و داشبوردها در محیط میکروسرویس چه کاربردهایی دارند؟
توجه به این نکته برای شما حیاتی است که Microservices دارای انبوهی از ویژگی های انتشار است. این شامل انواع نمودارها، پی دی اف ها و داشبوردها می شود. با کمک داشبوردها و گزارش ها در میکروسرویس می توانید به راحتی سناریوها را تحلیل کنید و انواع بسته های اجرایی را تسهیل کنید.
- ۰۱/۱۰/۲۸