استاد ، سئوالات را دیدین؟
سئوالات سی شارپ را دیدین؟
نمیدونم کی این سئوالات را طرح کرد!!
سئوال اول این بود (سئوالات سی شارپ) :
1) کدام گزینه ی زیر نمیتواند برای تعریف سطح دسترسی در سی شارپ استفاده شود ؟
1) friend
2) public
3) protected
4) internal
من فکر کردم اون friend را آوردن و فکر میکردم واقعا شوخی میکنن (درباره ی کلمه ی کلیدی friend در سی شارپ)
بعد در سئوالات جلوتر (که بهش میرسیم و میگم) ، فهمیدم نه . واقعا منظورشون اینه که جدی یه همچین کلمه ی کلیدی ای در سی شارپ وجود داره .
همچین کلمه ی کلیدی ای وجود نداره دیگه . درسته؟
من همچین چیزی ندیدم توی جستجوهام .
ای . هل شدم ، سئوال 4 به این سادگی را اشتباه زدم
ای بابا . اعصاب آدم خورد میشه . من اصلا مشکل زمان داشتم . محدودیت زمان ، تمرکزم را به هم ریخت.
استاد جواب سئوال 14 که در زیر مینویسم ، چی میشه؟ من جواب ندادم :
14) اگر یک فایل اجرایی سی شارپ را چندین بار اجرا کنیم ، چندین پروسس (application process) ایجاد میشود .اگر بخواهیم حتی در صورت چندین بار اجرا ، تنها یک پروسس داشته باشیم ، از کدام گزینه ی زیر میتوانیم استفاده کنیم؟
1) semaphore
2) mutex
3) critical section
4) c# lock
این گزینه هایی که داد (گزینه ی 1 و 2 و 4) ، همه کلاس ها یا کلمه ی کلیدی ای هستن که برای مدیریت و هماهنگ سازی بین نخ ها بکار میرن . گزینه ی 3 هم که "نقطه ی بحرانی" که اصطلاح هست .
مگه از این کلاس ها ، برای اینکه هر بار روی اپلیکشن که کلیک میکنیم ، فقط یکبار پروسه اش اجرا بشه هم میشه استفاده کرد؟
اگه آره ، جوابش کدومه و با کدوم عضو (متد و ...) و چجوری میشه این کار را کرد؟
15) هنگامی که نوع داده ای با استفاده از var تعریف میشود ، در چه زمانی به آن داده تخصیص میبابد؟
1) در زمان runtime
2) در زمان compile
3) در زمان clr
4) در زمان initialize برنامه
منظورش از اختصاص داده ، مشخص کردن نوع داده ای هست یا اختصاص مقدار؟
اصلا یه اصطلاح های دو پهلو استفاده میکنن ، آدم نمیدونه منظورشون چیه .
من گزینه ی 4 را انتخاب کردم (من فکر کردم مشخص شدن نوع داده ای را میگه . هنوز نمیدونم منظورش چیه) . اگه این جوری که من ، منظورش را فهمیدم ، درست باشه (یعنی منظورش نوع داده ای باشه) ، گزینه ی 4 درسته یا گزینه ی 2 ؟
بین شون شک داشتم . هنوز نمیدونم کمپایل ، دقیقا چه زمانی اجرا میشه .
کمپایلر ، وقتی ما داریم کد را مینویسیم ، در حال کار کردن هست یا زمانی که دکمه ی start ویژال استودیو را میزنیم تا برنامه مون اجرا بشه؟
کمپایلر مگه کدمون (یعنی سی شارپ) را به کد ماشین (یعنی پردازنده) تبدیل نمیکنه؟
اگه آره ، پس clr هم که موقع اجرا همین کار را میکنه . پس تفاوت شون چیه؟
جواب این گزینه ، چی میشه؟
16) کدام عبارت زیر در رابطه با Delegateدر سی شارپ ، صحیح
نیست ؟
1) Delegate در سی شارپ ، مالتی کَست (multicast) را پشتیبانی نمیکند .
2) Delegate را میتوان پایه ای برای c# event دانست .
3) Delegate در زمان پاس دادنِ یک reference به یک متد ، مورد استفاده قرار میگیرد.
4) Delegate نمیتواند اپراتورهای =+ و =- را پشتیبانی کند .
مالتی کَست در دلیگیت چیه؟
هر چند من گزینه ی 2 را زدم ولی اشتباه کردم . درسته؟
جواب این گزینه ، چی میشه؟
دیگه وقت نداشتم گزینه های 17 تا 20 را بخونم . یعنی 2 درس اول (که زبان و سی شارپ بودن) را دقت نکرده بودم که تایمر داره از اون بالا کم میشه تا حواسم باشه و مدیریت زمان را بهتر توی دستم بگیرم . با این حال ، سئوالاتش را بگم :
18) Garbage Collector ، کدام کارهای زیر را انجام
نمیدهد ؟
الف) آزاد کردن حافظه در stack
ب) جلوگیری از memory leaks
ج) آزاد کردن حافظه ی اشغال شده با آبجکت های بدون مرجع (unreferenced objects)
د) بستن دیتابیس های بسته نشده .
ه) بستن فایل های بسته نشده
1) الف ، ب ، ج
2) الف ، د ، ه
3) ج ، ه
4) ب ، د ، ج
منظورش از "آزاد کردن حافظه ی اشغال شده با آبجکت های بدون مرجع (unreferenced objects)" ، اشیاء بدون اشاره گر هست دیگه . درسته؟
بنابراین جواب باید فقط گزینه ی
" د ، ه "
باشه که این گزینه ها در شماره های 1 تا 4 وجود نداره .
درست میگم؟
اگه درست بگم که طرح سئوال شون اشتباست .
اگه غلط بگم ، پس جواب درست کدوم میشه؟
شماره ی 2 میشه؟
به چه دلیل؟
19) کدام الگوی طراحی در تکه کد زیر استفاده شده است؟
کد:
public class A{
private A instance;
private A()
{
}
public static A instance
{
get
{
if (A == null)
A = new A();
return instance;
}
}
}
1) Abstract Factory
2) Singleton
3) Builder
4) Factory
هیچ کدوم از این 4 گزینه را نمیدونم چیه .
احیانا Abstract Factory که همون Abstract نیست . هست؟
فقط میدونم نکته ای که قابل توجه باشه اینه که متد سازنده ی این کلاس private هست و بنابراین نمیشه ازش شی ساخت وبنابراین برای استفاده از این کلاس ، باید از کلاس فرزندش (که در اینجا مشخص نشده) ، شی ساخت .
شاید هم جواب همون گزینه ی 1 باشه . که شبیه abstract ها عمل میکنه چون از کلاس abstract هم نمیشه شی ساخت .
سئوالات شی گرایی را در پست بعدی شاید بنویسم .
خیلی ممنون استاد .
بخاطر اینکه اگه خدا شما را برامون نمیذاشت ، علم خاصی نداشتیم که چه برسه اینها را جواب بدیم . هرچند علمی هم نداریم و هر چند سئوالاتش سخت نبود و آسون بود ولی هر چی برنامه نویسی بلدم ، شما یادم دادین .