سوالات مصاحبه

  1. context manager توی پایتون چیه؟ به چه دردی می خوره و چطور می شه یکی نوشت؟
    • https://book.pythontips.com/en/latest/context_managers.html
    • https://www.geeksforgeeks.org/context-manager-in-python/
  2. middleware توی جنگو رو توضیح بدید.
  3. فرض کنید توی یک حلقه یک آبجکت ORM میسازیم و توی همون لوپ توی دیتابیس save میکنیم. این حلقه یک میلیون بار تکرار میشه. آیا این مشکلی داره؟ اگه داره راه حلش چیه؟
  4. فرض کنید یک اپلیکیشن مثل توییتر می نویسیم و صفحه اول توئیت ها رو میبینیم ساختار API این صفحه رو بگید.
  5. فرض کنید داریم یک اپلیکیشن URL shortner مینویسیم از چه تکنولوژی هایی توی این پروژه استفاده میکنیم؟ stack
  6. فرض کنید یک جدول توی دیتابیس داریم توی ستون آخر دو تا تگ ذخیره می شه وسط پروژه فهمیدیم این ستون بهتره به دو ستون تبدیل بشه. چطور این ستون رو به دو ستون تبدیل می کنیم. در نظر بگیرید دیتای میلیونها کاربر توی جدول وجود داره و به پروداکشن هم دسترسی نداریم. توی این پروژه هم از ORM داریم استفاده می کنیم.
  7. فرض کنید دو تا تیبل دیتابیس داریم که رابطه 1-n را هم دارن دیتای جدول دوم رو میخایم به صورتی که دیتای جدول اول هم کنارش باشه. بهینه ترین query که میتونیم بزنیم چطوره؟
  8. مدل دیتابیس یک سایت ارائه دهنده فیلم مثل IMDB رو پیاده سازی کن (فیلم، لایک، عکس فیلم ها، فیلم های مشابه و کاربران). مدل API و معماری رو هم طراحی کن.
  9. مدل دیتابیس و معماری نرم افزار توئیتر رو طراحی کن.
  10. فرق Model با Serializer چیه؟
  11. decorator چیه؟
  12. generator توی پایتون چیه؟
    • https://wiki.python.org/moin/Generators
  13. operator overloading توی پایتون چطور پیاده سازی میشه؟
  14. Manager توی جنگو چه کاربردی داره؟
  15. از Celery استفاده کردی؟ چرا؟
  16. فرض کن دوتا App توی جنگو داری که به هم مرتبط هستند. مثلا اگر یک متد توی App اول اجرا میشه بعدش یک متد یا پارامتر توی App دوم رو استفاده میکنه. آیا این از دید مهندسی نرم افزار مشکل داره؟ اگر داره راه حل چیه؟
  17. از Multiprocessing و Multithreading توی پایتون استفاده کردید؟ محدودیت ها مزایا و معایبش رو بگید. از هر کدوم توی چه use case ای باید استفاده بشه.
  18. فرق ماژول با پکیج توی پایتوی چیه؟
  19. migration توی جنگو چیه و کاربردش چیه؟
  20. فرض کنید توی یک اپلیکیشن وب یک درخواست میدیم (مثل درخواست خرید توی فروشگاه) درخواست 5 دقیقه طول میکشه و fail میشه. این ایراد رو چطور ریشه یابی میکنید؟
  21. فرض کنید توی DRFمیخایم response هایی که به کاربر برگردونده میشه رو از نظر ساختار پاسخ (status، پیغام و …) یکپارچه کنیم. چطور این کار رو می کنیم؟
  22. فرض کنید توی جنگو توی Model های مختلف میخایم رو تمامی query هایی که به دیتابیس ارسال میشه یک تغییر یکسان بدیم (مثلا یک فروشگاه داریم میخایم از امروز توی تمامی query ها اطلاعات 2020 به قبل رو نشون نده) برای این کار بهترین راه حل تغییر مدل ها چیه؟
  23. خروجی کد زیر چه می شود و تحلیل کنید:

24. تسک های ناتمام در Celery چه اتفاقی براش میوفته

25. چه وقت هایی باید از multithreading یا Multiprocessing یا Celery استفاده کرد؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *