در این قسمت تیم کدگیت سوالات مصاحبه برنامه نویسی جاوا را برای شما آماده کرده است.در زیر هر سوال، پاسخ این سوالات آورده شده است.
مصاحبه برنامه نویسی جاوا(پایه)
- تفاوت بین JDK و JVM و JRE چیست؟!
- ماشین مجازی جاوا JVM برای اجرای بایتکدهایی است که تولید شده است.
- JRE یک پیاده سازی از JVM است به همراه applet و …..
- JDK یک ابزاری است که شامل JRE و development tools است.
- چه نوع حافظهای JVM به خود اختصاص داده است؟!
- Class(Method) Area
- Heap
- Stack
- Program Counter Register
- Native Method Stack
- کامپایلر JIT چیست؟
- چه ویژگی ای از جاوا قابلیت ‘یک بار کد نویسی کن در همه جا اجرا کن’ را به آن داده است؟!
- bytecode
- Classloader چیست؟
- یک زیر سیستمی از JVM است که برای load کلاس ها و interface ها.
- اگر در command line ما پارامتری را به عنوان ورودی متد main قرار ندهیم آنوقت آرایه String که ورودی متد main است null است یا خالی است؟
- خالی است ولی null نیست.
- اگر بجای public static void بنویسیم static void چه اتفاقی می افتد؟
- برنامه کامپایل و اجرا خواهد شد.
- مقدار Default متغیرهای محلی چیست؟
- هیچ متغیر محلی مقدار Default ندارد!
مصاحبه برنامه نویسی جاوا (شی گرایی)
- تفاوت برنامه نویسی object oriented و object base در چیست؟
- ارث بری در object base وجود ندارد!
- مقدار اولیه(initial value) یک اشاره گر به شی در جاوا چیست؟
- null
- Constructor چیست؟
- هدف default Constructor چیست؟
- Constructor خروجی(return) دارد؟
- بله. شی حاضر را بر میگرداند. شما نمیتوانید از آن استفاده کنید ولی return دارد.
- Constructor را میتوان Final تعریف کرد؟
- خیر
- Constructor را میتوان به ارث برد؟
- خیر
- متغیر static چیست؟
- متد static چیست؟
- چرا متد main در جاوا static است؟
- بدون ساخت شی JVM میتواند آن را صدا بزند.
- یک بلاک استاتیک (static block) چیست؟
- یک کلاس می تواند به تعداد دلخواه بلوک استاتیک داشته باشد که در هر جا از بدنه کلاس می توانند ظاهر شوند و در زمان اجرا به ترتیب ظاهر شدن،همگی فراخوان می شوند.
- بدون main میتوان برنامه را اجرا کرد؟
- بله. با بلاک استاتیک.
- اگر استاتیک را در متد main برداریم برنامه چه تغییری م یکند؟
- برنامه کامپایل میشود ولی هنگام اجرا با اررور رو به رو میشویم.
- تفاوت متد استاتیک و کلاس استاتیک چیست؟
- کلاس استاتیک و متد استاتیک در جاوا مطالعه شود.
- This چیست؟
- ارث بری چیست؟
- ارث بری مطالعه شود
- پدر همه کلاس ها چیست؟
- Object
- چرا ارث بری چند گانه در جاوا پشتیبانی نمیشود؟
- به دلیل به دلیل کم کردن پیجیدگی و سادگی برنامه
- Composition چیست؟
- نگه داشتن اشاره گر یک کلاس دیگر در کلاس
- تفاوت aggregation و composition چیست؟
- Aggregation یک رابطه ضعیف است برخلاف composition که یک رابطه قوی است.
- چرا جاوا pointer را پشتیبانی نمیکند؟
- نا امنی و پیچیدگی در یادگیری
- Super در جاوا چیست؟
- آموزش super
- آیا میتوان this() و super() را در یک جا استفاده کرد؟
- خیر. زیرا هر دو باید در خط اول constructor باشند!!
- Object Clonning چیست؟
- یک کپی از شی موجود
- Method overloading چیست؟
- آموزش overloading
- چرا method overriding با تغییر خروجی امکان پذیر نیست؟
- به دلیل ابهام
- آیا میتوان متد main را overload کرد؟
- بله.
- Overriding متد را توضیح دهید؟
- آیا متد static را override کرد؟
- خیر
- چرا نمیتوان متد static را override کرد؟
- Static وابسته به کلاس است تا شی!!
- تفاوت متد overriding و overloading را توضیح دهید؟
- آموزش overriding و overloading مطالعه شود
- متغیر final در جاوا چیست؟
- متد final چیست؟
- کلاس final چیست؟
- آیا میتوان متد main را final تعریف کرد؟
- بله میشود
- چندریختی یا polymorphism در جاوا چیست؟
- آموزش شی گرایی و overriding مطالعه شود.
- Static binding و dynamic binding را توضیح دهید؟
- در static binding نوع شی در زمان کامپایل مشخص میشود اما در dynamic binding در زمان اجرا مشخص میشود.
مصاحبه برنامه نویسی جاوا (Abstraction)
- Abstraction چیست؟
- تفاوت abstraction و encapsulation چیست؟
- Abstract و encapsulation مطالعه شود.
- کلاس abstract چیست؟
- آیا میتوان abstract و final را در یک متد به کار برد؟
- خیر.زیرا متد abstract باید override شود ولی final اینطور نیست.
- آیا میتوان از کلاس abstract شی ساخت؟
- خیر
- Interface چیست؟
- آیا میتوان متد را در interface به صورت static تعریف کرد؟
- خیر.متد interface به صورت پیش فرض static هستند و همزمان نمیشود آنها را با هم استفاده کرد.
- آیا interface میتواند final باشد؟
- خیر.
- تفاوت کلاس abstract و interface در چیست؟
- آموزش abstract و interface مطالعه شود.
ممنون این مطلب واقعا عالی بود که تقریبا توی کمتر وب سایت های به این تجمیع میشه پیدا کرد