021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

سوالات استخدامی برنامه نویسی شئ گرایی پایتون

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

 

فهرست مطالب پنهان

1. OOPs چیست؟

OOPs مخفف سیستم برنامه نویسی شی گرا است. برنامه ها به عنوان مجموعه ای از اشیاء در اوپ در نظر گرفته می شوند. هر شی چیزی جز مثالی از یک کلاس نیست.

 

تفاوت بین برنامه نویسی رویه ای و OOP ها؟

برنامه ریزی رویه ای:

برنامه ریزی رویه ای: بر اساس توابع است.

-این داده ها را به کل برنامه نشان می دهد.
-محدوده ای برای استفاده مجدد از کد ندارد.
-از مفهوم برنامه نویسی از بالا به پایین پیروی می کند.
-ماهیت زبان پیچیده است.
– تغییر، گسترش و حفظ کد دشوار است.

برنامه نویسی شی گرا:
– بر اساس اشیاء دنیای واقعی است.
-این داده ها را کپسوله می کند.
– دامنه بیشتری از استفاده مجدد از کد را فراهم می کند.
-از پارادایم برنامه نویسی از پایین به بالا پیروی می کند.
– ماهیت آن پیچیدگی کمتری دارد، بنابراین اصلاح، گسترش و نگهداری آن آسان تر است.

 

3. چرا از OOP استفاده کنیم؟

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

 

4. مفاهیم اساسی OOP چیست؟

مفاهیم اساسی OOP ها عبارتند از:

انتزاع چند شکلی
کپسولاسیون ارثی

 

5. کپسولاسیون چیست؟

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

 

6. انتزاع چیست؟

انتزاع یک مفهوم OOPs برای ساختن ساختار اشیاء دنیای واقعی است. فقط ویژگی های ضروری را “نشان می دهد” و اطلاعات غیر ضروری را از بیرون “پنهان می کند”. تمرکز اصلی  انتزاع  مخفی کردن جزئیات غیر ضروری از کاربران است. این یکی از مهمترین مفاهیم  OOP است .

 

7. اضافه بار روش چیست؟

مفهومی وجود دارد که در آن دو یا چند روش می توانند یک نام داشته باشند. اما آنها باید پارامترهای مختلف، تعداد پارامترهای مختلف، انواع مختلف پارامترها یا هر دو داشته باشند. این روش ها به روش های overloaded معروف هستند و به این ویژگی روش overloading می گویند  .

 

8. متد overriding چیست؟

نادیده گرفتن روش مفهومی از برنامه نویسی شی گرا است.

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

 

9. انواع وراثت در OOPS

وراثت ترکیبی وراثت
چندگانه وراثت منفرد
وراثت
چند سطحی وراثت
سلسله مراتبی

 

10. شی چیست؟

Object: یک شی نمونه ای از یک کلاس است و همچنین هویت و رفتار خاص خود را دارد.

 

11 . روش چیست؟

اساساً به توصیف مجموعه دستورالعمل ها می پردازد و به آن رویه نیز می گویند.

 

12. کلاس چیست؟

کلاس نوعی نوع داده تعریف شده توسط کاربر است که شامل متغیرها، خصوصیات و متدها می باشد. همچنین به یافتن ویژگی های یک شی کمک می کند.

 

13 . سازنده ها چیست؟

سازنده همان نام کلاس را دارد.
سازنده نیز نوع خاصی از روش است. برای مقداردهی اولیه اشیاء کلاس استفاده می شود.

 

14. انواع سازنده

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

سازنده خصوصی
پیش فرض سازنده
کپی سازنده سازنده
استاتیک سازنده
پارامتری

 

15 . تفاوت بین کلاس و ساختار چیست؟

Class:  کلاس اساساً یک طرح اولیه تعریف شده توسط کاربر است که از آن اشیاء ایجاد می شود. این شامل متدهایی (مجموعه ای از دستورالعمل ها) است که بر روی اشیاء انجام می شود.

ساختار:  ساختار همچنین مجموعه ای از متغیرها است که توسط کاربر تعریف شده است. ساختارها نیز انواع مختلفی از داده ها هستند.

 

16 . اصلاح کننده های دسترسی چیست؟

تغییر دهنده های دسترسی یا مشخص کننده های دسترسی، کلیدواژه های زبان های شی گرا هستند. به تنظیم دسترسی  کلاس ها ،  متدها و سایر اعضا کمک می کند.

 

17 . زبان هایی که تحت مفهوم اوپس قرار می گیرند چیست؟

Simula به عنوان اولین زبان برنامه نویسی شی گرا شناخته می شود، محبوب ترین زبان های OOP عبارتند از:

Java
JavaScript
Python
C++
Visual Basic. خالص.
Ruby
ScalaPHP

 

18.ارث چیست؟

اگر کلاسی را از کلاس دیگری که به عنوان وراثت شناخته می شود مشتق کنید.

کلاس فرزند  تمام خصوصیات و متدهای عمومی و محافظت شده را از کلاس والد به ارث خواهد  برد . کلاس فرزند نیز می تواند ویژگی ها و متدهای خاص خود را داشته باشد. یک   کلاس ارثی با استفاده از کلمه کلیدی extends تعریف می شود.

 

19 . وراثت ترکیبی چیست؟

ترکیب وراثت چند سطحی و چند سطحی به عنوان وراثت ترکیبی شناخته می شود.

 

20. وراثت سلسله مراتبی چیست؟

تعریف وراثت سلسله مراتبی اساساً زمانی است که یک کلاس پایه بیش از یک زیر کلاس داشته باشد. به عنوان مثال، طبقه میوه می تواند «سیب»، «انبه»، «موز»، «گیلاس» و غیره را به عنوان زیر کلاس های خود داشته باشد.

 

21. محدودیت های ارث چیست؟

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

 

22 . سوپرکلاس چیست؟

یک سوپرکلاس یا کلاس پایه نیز کلاسی است که به عنوان والد برای برخی کلاس/کلاس های دیگر کار می کند.

به عنوان مثال، کلاس Vehicle یک سوپر کلاس از کلاس دوچرخه است.

 

23. زیر کلاس چیست؟

زیر کلاس کلاسی است که از کلاس دیگری ارث می برد. به عنوان مثال، کلاس Bike یک زیر کلاس یا مشتق شده از کلاس Vehicle است.

 

24 . پلی مورفیسم چیست؟

چندشکلی  یکی از پرکاربردترین و اصلی ترین مفاهیم در   زبان های OOP است. این توضیح می دهد که مفهوم کلاس های مختلف را می توان با یک رابط استفاده کرد. هر یک از این کلاس ها می توانند پیاده سازی مخصوص به خود را از اینترفیس داشته باشند.

 

25 . پلی مورفیسم ایستا چیست؟

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

 

26. چندشکلی پویا چیست؟

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

 

27 . اضافه بار اپراتور چیست؟

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

 

28 . بین اضافه بار و اضافه کردن تفاوت قائل شوید.

 

29 . کپسولاسیون چیست؟

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

 

30 . تفاوت بین اصلاح کننده های دسترسی عمومی، خصوصی و محافظت شده چیست؟

 

31 . انتزاع داده چیست؟

انتزاع داده ها یکی از مهم ترین ویژگی های OOP است. این فقط اجازه می دهد تا اطلاعات مهم نمایش داده شود. به پنهان کردن جزئیات پیاده سازی کمک می کند.

به عنوان مثال، هنگام استفاده از تلفن همراه، می‌دانید که چگونه می‌توانید به کسی پیام دهید یا تماس بگیرید، اما نمی‌دانید که واقعاً چگونه اتفاق می‌افتد.

این انتزاع داده است زیرا جزئیات پیاده سازی از کاربر پنهان است.

 

32 . چگونه می توان به انتزاع داده ها دست یافت؟

انتزاع داده ها با دو روش قابل دستیابی است:

کلاس
Abstract روش Abstract

 

33. کلاس انتزاعی چیست؟

کلاس انتزاعی نیز کلاسی است که از متدهای انتزاعی تشکیل شده است.

 

پس روش انتزاعی چیست؟

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

 

 

34. بین انتزاع داده و کپسوله کردن تفاوت قائل شوید.

 

35 . توابع مجازی چیست؟

توابع مجازی نیز بخشی از توابعی هستند که در کلاس والد وجود دارند و توسط زیر کلاس لغو می شوند.

این توابع به دستیابی به چند شکلی زمان اجرا کمک می کنند.

 

36 . ویرانگر چیست؟

Destructor روشی است که در هنگام تخریب یک شی به طور خودکار فراخوانی می شود.

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

 

37 . سازنده کپی چیست؟

سازنده کپی اساساً اشیاء را با کپی کردن متغیرها از یک شی دیگر از همان کلاس ایجاد می کند. تمرکز اصلی سازنده کپی، ساختن یک شی جدید از موجود است.

 

38 . کاربرد «نهایی کردن» چیست؟

Finalize برای آزاد کردن منابع مدیریت نشده و همچنین کمک به تمیز کردن قبل از جمع آوری زباله (GC) استفاده می شود. وظایف مدیریت حافظه را انجام می دهد.

 

39 . جمع آوری زباله (GC) چیست؟

جمع آوری زباله بخشی از مدیریت خودکار حافظه است. زباله جمع کن به آزادسازی فضاهای اشغال شده توسط اشیا کمک می کند. آن فضاها دیگر وجود ندارند.

 

40 . متغیر نهایی چیست؟

متغیر نهایی تغییر نمی کند و همیشه با خاصیت غیر عرضی به همان شی اشاره می کند.

 

41 . استثنا چیست؟

استثنا نوعی پیام است که در صورت بروز مشکل در اجرای عادی یک برنامه، قطع می شود و ظاهر می شود. Exception ها یک خطا را ارائه می دهند و آن خطا را به کنترل کننده استثنا منتقل می کنند تا آن را برطرف کند. وضعیت برنامه به محض ایجاد یک استثنا ذخیره می شود.

 

42 . رسیدگی به استثنا چیست؟

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

 

43 . تفاوت بین خطا و استثنا چیست؟

 

44. بلوک try/catch چیست؟

بلوک try/catch به مدیریت استثناها کمک می کند. بلوک try مجموعه ای از عبارات را توضیح می دهد که ممکن است دارای خطا باشند. بلوک catch اساساً استثنا را می گیرد.

 

45 . در نهایت بلوک چیست؟

بلوک نهایی با خروج بلوک try اجرا می‌شود و حتی در مواردی که با استثناهای غیرمنتظره‌ای مواجه شود نیز اجرا می‌شود. در نهایت بلوک معمولاً شامل بخش مهمی از برنامه است.

 

46 . آیا می توانید متد کلاس پایه را بدون ایجاد نمونه فراخوانی کنید؟

•بله، شما مجاز به فراخوانی کلاس پایه بدون نمونه سازی هستید، اما شرایطی وجود دارد که قابل اجرا هستند:

•اگر روش ایستا باشد

• کلاس پایه توسط زیر کلاس دیگری به ارث می رسد.

 

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

4 اصل OOP چیست؟ 

OOP مخفف برنامه نویسی شی گرا است و چهار اصل اساسی آن عبارتند از کپسولاسیون، انتزاع، چند شکلی و وراثت. OOP برنامه نویسان را قادر می سازد تا توسعه نرم افزار را طوری در نظر بگیرند که گویی با موجودیت های واقعی کار می کنند. در OOP، برخی از اشیا دارای یک فیلد هستند که در آن داده ها/دانش قابل ذخیره است و می توانند چندین روش را انجام دهند.

 

مصاحبه برنامه نویسی شی گرا چیست؟ 

A: برنامه نویسی شی گرا که معمولاً OOPS نیز نامیده می شود، نوعی برنامه نویسی است که بیشتر مبتنی بر شی است و فقط بر اساس توابع یا رویه ها نیست. اشیاء منفرد در چندین کلاس جمع آوری می شوند. موجودیت‌های دنیای واقعی مانند وراثت، چندشکلی و پنهان کردن توسط OOPS در برنامه‌نویسی پیاده‌سازی می‌شوند. همچنین امکان اتصال داده ها و همچنین کد را با یکدیگر فراهم می کند.

 

3 اصل OOP چیست؟ 

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

 

مفهوم OOPS چیست؟

پاسخ: OOPS یا سیستم برنامه نویسی شی گرا یک مفهوم برنامه نویسی است که عمدتاً بر اساس کپسولاسیون، انتزاع، چند شکلی و وراثت کار می کند. مفهوم معمول OOP ها ایجاد اشیا، استفاده مجدد از آنها در طول برنامه و در نهایت دستکاری این اشیا برای واکشی نتایج ما است.

 

چرا از OOPS استفاده می شود؟ 

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

 

پلی مورفیسم در OOPS چیست؟ 

A: چند شکلی در یک سیستم برنامه نویسی شی گرا یکی از ویژگی های زبان های برنامه نویسی مبتنی بر شی است که یک روال خاص را قادر می سازد تا از متغیرهای چند نوع در زمان های مختلف استفاده کند. همچنین می توان آن را توانایی یک زبان برنامه نویسی برای ارائه رابط یکسان برای انواع داده های اولیه مختلف نامید.

 

پدر OOPS کیست؟ 

پاسخ: پدر سیستم برنامه نویسی شی گرا از نظر برخی افراد آلن کی است. او برخی از ویژگی ها را به عنوان اصول اولیه OOP Kay 1993:1 شناسایی کرد. او در سال‌های 1966 یا 1967 زمانی که در دبیرستان تحصیل می‌کرد، OOP را ابداع کرد.

 

ویژگی های اصلی OOPS چیست؟ 

A: برخی از ویژگی های اصلی در OOPS شامل کلاس ها، اشیاء، انتزاع داده ها، کپسوله سازی، وراثت و چند شکلی است. OOP یک الگوی برنامه نویسی است که مبتنی بر ایده اشیا است.

 

مزایای OOPS چیست؟

پاسخ: از آنجایی که OOP یکی از رویکردهای اصلی توسعه است که به راحتی قابل قبول است، مزایای زیادی دارد. برخی از مزایای OOPS عبارتند از قابلیت استفاده مجدد، افزونگی داده، نگهداری کد، امنیت، مزایای طراحی، عیب یابی آسان، بهره وری بهتر، انعطاف پذیری چند شکلی و حل مسئله.

 

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2