چه تکنولوژی می‌خواهید یاد بگیرید؟

نظرات و انتقادات خود را با ما در میان بگذارید.

آپدیت روزانه

بیش از 1000 پست آموزشی

نیازهای روز

نمونه سوالات استخدامی برای مهندسین ارشد نرم افزار

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

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

در کلاس‌های استاتیک امکان تعریف متدها و ... بدون افزودن کلمه کلیدی استاتیک به آنها امکانپذیر خواهد بود؟

خیر.

فرق بین Thread و Process در چیست؟

ترد کوچکترین واحد برای اجرای یک پروسس است و مجموعه‌ای از تردها یک پروسس را می‌سازند. تردها قادر می‌باشند حافظه را به اشتراک گذاشته و بر روی Shared Memory اجرا شوند این در حالی است که پروسس‌ها این امکان را ندارند. برای ارتباط بین تردها نیاز به هیچ لایه واسطی نیست اما در پروسس‌ها  نیاز به inter process communication داریم.

بین EXE و DLL چه تفاوت‌های وجود دارد؟

فایل EXE یک واحد اجرای مجزا است که منابع منحصر به فرد خود را دارد و در صورت اجرا یک پروسه برای آن در نظر گرفته می‌شود اما فایل DLL(Dynamic Link Library) قابل اجرا نبوده و می‌توان در پروژه‌های دیگر از آن استفاده نمود.

چه تفاوتی بین strong-typing و weak typing وجود دارد؟

زبان‌های strong-typing شما را محدود به انجام عملیات روی تایپ‌های هم نوع می‌کند به عنوان مثال شما نمی‌توانید مقدار شی person را در یک int اختصاص دهید.

PID چیست؟

شناسه پروسه است. برای دسترسی به یک پروسس به راحتی می‌توانید به وسیله PID این کار را انجام دهید.

چه تعداد پروسس می‌تواند به یک پورت TCP گوش دهد؟

روی هر پورت TCP فقط یک پروسس می‌تواند listen کند.

GAC چیست؟

یک مکان برای ذخیره و به اشتراک گذاری اسمبلی ها است. اگر نیاز باشد به یک اسمبلی بیش از یک برنامه دسترسی داشته باشد دیگر نمی توان آن را به صورت private دبپلوی کرد وآن را باید در مکانی که برای CLR شناخته شده است قرار داد.که آن مکان GAC نام دارد.GAC در مسیر c:\windows\assembly قرار دارد.Global Assembly Cache یک فایل ساختار یافته است که دارای بسیاری زبر شاخه است که این زیر شاخه ها توسط یک الگوریتم ساخته می شود.مشکلی که GAC حل کرد ، رهایی از جهنم DLL ها بود.

انواع کوکی؟

کوکی‌ها به دو دسته تقسیم می‌شوند، کوکی‌های ماندگار(Persistent Cookie) و کوکی‌های موقت(Session Cookie).

کوکی‌های ماندگار؟

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

کوکی‌های موقت؟

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

تفاوت بین Session و Cookie؟

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

Session چیست؟

سی‌شن یکی از ابزارهای کاربردی در ASP.Net می‌باشد که اطلاعات مربوطه را در رم سرور ذخیره کرده و کاربران قادر به مشاهده آنها نیستند. با ایجاد یک سی‌شن در تمامی صفحات شما به آن دسترسی خواهید داشت و جهت گرفتن ID هر سی‌شن از SessionId استفاده می‌شود و این ID از 16 کاراکتر تشکیل خواهد شد. هر سی‌شن دارای زمان انقضا بوده و با Timeout تعیین میگردد.

نحوه مدیریت state در ASP.Net؟

راه‌های مختلفی جهت مدیریت state در ASP.Net وجود دارد:

1- ViewState
2- QueryString
3- Cookies
4- Session
5- Application

کلاس پیشفرض که در صفحات Web Forms از آن ارث بری می‌شود؟

System.Web.UI.Page class

کلاس پیشفرض که در کنترلر ASP.Net MVC از آن ارث بری می‌شود؟

System.Web.Mvc.Controller class

یک Delegate چگونه تعریف و استفاده می شود؟

Delegate یک شیء است که بیانگر یک تابع می باشد بنابراین می تواند بعنوان آرگومان ورودی یک تابع دیگر و یا عضوی از یک کلاس بکار رود.

الگوی طراحی یا Design Pattern؟

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

دو روش عمومی برای نوشتن برنامه کامپیوتری؟

Procedural Programming و Object-Oriented Programming.

نحوه پیاده سازی Interfaces با متدهای هم نام برای کلاس؟

در صورتی که در هر تعداد Interface متدهای هم نام داشته باشیم جهت پیدا سازی آن متدها در یک کلاس به صورت زیر اقدام می‌کنیم:

using System;

namespace Tehran
{
    class Program : IInterface, IInterface2
    {
        static void Main()
        {
           
        }

        void IInterface.Test()
        {
            throw new NotImplementedException();
        }

        void IInterface2.Test()
        {
            throw new NotImplementedException();
        }
    }

    interface IInterface
    {
        void Test();
    }

    interface IInterface2
    {
        void Test();
    }
}

این پست در حال ویرایش است.


...

امید نصری

0 نظر:

تعداد دیدگاه‌های کاربران : 0 دیدگاه
مهمان گرامی! برای ارسال نظر نیاز است وارد سایت شوید.


You must ورود to comment.