!! تمامی دوره های تاپ دمی رایگان شد !!

آموزش برنامه نویسی - تاپ دمی
سوالات مصاحبه ای از php و لاراول

سوالات مصاحبه ای از php و لاراول

لاراول

23 مهر، 1400

در این مقاله به بررسی سوالات مصاحبه ای از مبحث php و لاراول میپردازیم.

قبل از بیان هر سوالی شما باید به صورت کامل با مفاهیم php و Laravel آشنایی کامل داشته باشید.

سوال ) وظیفه متغیر ها در زبان برنامه نویسی چیست ؟

پاسخ ) در زبان های برنامه نویسی از متغیر ها برای نگهداری از مقادیر مختلف استفاده می شود.

سوال ) انواع scope در php را نام ببرید ؟

پاسخ ) private ، public ، protected

سوال ) دستور های unset و unlink چه تفاوت های باهم دارند ؟

پاسخ ) دستور unlink به حذف یک فایل می پردازد در حالی که دستور unset مقدار متغیر را undefined می کند.

سوال ) Localization در لاراول چیست ؟

پاسخ ) برای ایجاد یک برنامه ی چند زبانه ما می توانیم از Localization استفاده کنیم به این صورت که متن هر زبان را در فایلی جدا ذخیره کنیم.

سوال ) Middleware چیست و انواع آن را نام ببرید ؟

پاسخ ) از آن جایی که همه ی درخواست های که از طرف کاربر به سمت ما می آیند امن نیستند ما از میدل ور ها به عنوان یک فیلتر استفاده می کنیم.

انواع میدل ور : سراسری ، روت ها و کنترلر ها

سوال ) روش نام گذاری closure ها به چه صورت است؟

پاسخ ) closure ها توابعی هستند که برای ایجاد آنها نیاز به نام گذاری نمی باشد.

سوال ) Guard در لاراول چیست ؟ و چه کاربردی دارد ؟

پاسخ ) لاراول شامل دو گارد به نام های web و api است که گارد web به صورت پیش فرض برای این فریم ورک تعیین شده است ، از Guard برای بررسی احراز هویت استفاده می شود.

سوال ) تفاوت تابع( ) include با () require در چیست؟

پاسخ ) برای فراخوانی بین صفحات در php می توانیم از این دو تابع استفاده کنیم.

اما تفاوت این توابع در هنگام استفاده از تابع include چنانچه در هنگام فراخوانی فایل مبداء با مشکل روبرو شود این دستور یک پیام خطا برای ما ارسال می کند ولی برنامه متوقف نمی شود.

ولی در دستور require چنانچه در هنگام فراخوانی فایل مبداء با مشکل روبرو شود برنامه متوقف می شود.

پاسخ ) متد های پرکاربرد Collection کدامند ؟

پاسخ ) از متد های پر کاربرد Collection می توان به only ، toArray ، except ، wherein اشاره کرد.

سوال ) نحوه استفاده از کوکی ها در لاراول به چه صورت است ؟

پاسخ )

برای set کردن cookie به صورت زیر عمل میکنیم.

Cookie::put('key', 'value'); 

برای بدست آوردن مقدار ذخیره شده در کوکی میتوانید با استفاده از key آن مقدار آن را دریافت کنید که در پایین مشاهده میکنید.

Cookie::get('key'); 

برای حذف کوکی میتوانید نام کوکی مورد نظر را به تابع forget ارسال کنید.

Cookie::forget('key') 

برای اینکه بررسی کنیم که کوکی با نام مورد نظر ما موجود می باشد کافی است از تابع has استفاده کنیم.

Cache::has('key')

سوال ) وظیفه ی کلاس Observer چیست ؟

پاسخ ) این کلاس تغییرات را نظارت کرده و با انجام یکی از اعمال حذف ، ویرایش و یا ایجاد وظیفه ای که به آن دستور داده ایم را انجام می دهد.

سوال ) تفاوت == با === در زبان برنامه نویسی php چیست؟

پاسخ ) علامت == (دو مساوی ) ابتدا نوع داده ها را تبدیل و یکسان می کند و پس از آن شروع به مقایسه می کند ولی در === ( سه مساوی ) علاوه بر مقدار نوع داده ها را نیز باهم مقایسه می کند.

سوال ) انواع خطا در php را نام ببرید ؟

پاسخ ) notice ، warning ، fatal

سوال ) وظیفه تابع count چیست ؟

پاسخ ) به وسیله ی این تابع می توان تعداد خانه های یک آرایه را گرفت.

سوال ) echo و print چه تفاوت های باهم دارند ؟

پاسخ ) print یک پارامتر میگیرد و در انتهای عملیات در صورت موفقیت آمیز بودن عدد 1 را برمی گرداند در صورتی که echo چندین مقدار می گیرد و در انتهای عملیات هیچ مقداری برنمیگرداند.

سوال ) تفاوت {{}} و {!! !!} در Blade های Laravel چیست ؟

پاسخ ) {{}} و {!! !!} هردو برای نمایش دادن اطلاعات دریافتی در Blade استفاده میشوند با این تفاوت که {{}} برای جلوگیری از حملات XSS هم استفاده میشود و در صورتی که از {{}} برای نمایش اطلاعات استفاده کنیم اگر script داخل اطلاعات دریافتی باشد به صورت خودکار با استفاده از تابع htmlspecialchars اسکریپت دریافتی را به به یک متن ساده تبدیل میکند.

همچنین شما می توانید با شرکت در دوره ی آموزش پروژه محور nuxt و laravel علاوه بر کسب تجربه بیشتر ، یک پرژه سطح بالا را به رزمه خود اضافه کنید.

سوال ) accessors و mutators چیست ؟

پاسخ ) با استفاده از accessors و mutators شما می توانید attribute های Eloquent را قبل از ذخیره کردن در دیتابیس یا بعد از دریافت آنها از دیتابیس تغییر دهید. به عنوان مثال فرض کنید که شما می خواهید نام کار بر را هنگام ذخیره در دیتابیس بصورت حروف کوچک با شد برای این کار باید از Mutators استفاده کنیم مثال زیر دقت کنید

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{

    public function setNameAttribute($value)
    {
        $this->attributes['name'] = strtolower($value);
    }
}

در مثال بالا می بینید که در مدل user ما از فانکشن setNameAttribute استفاده کردیم که به صورت کلی برای تعریف mutators باید به همین شکل یعنی ()set[attribute_name]Attribute استفاده کنیم .

و همچنین برای اینکه بتوانیم بعد از دریافت attribute از دیتابیس تغییرات خود را ایجاد کنیم باید از Accessors استفاده کنیم به مثال زیر دقت کنید

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{

    public function getNameAttribute($value)
    {
        return strtoupper($value);
    }
}

در مثال بالا می بینید که در مدل user ما از فانکشن getNameAttribute استفاده کردیم که به صورت کلی برای تعریف Accessors باید به همین شکل یعنی ()get[attribute_name]Attribute استفاده کنیم .

توسعه دهنده وب

شروع آشنایی من با دنیای برنامه نویسی 9 سال پیش بود ، اول مسیر با وردپرس آشنا شدم و بعد از اون شروع به یادگیری زبان جاوا اسکریپت کردم و رفته رفته سعی کردم یک برنامه نویس Front-end بشم که به مبحث گرافیک هم علاقه منده و هر روز تلاش میکنه تا پیشرفت کنه و اگر تجربه ای داره با بقیه به اشتراک بزاره.

مقالات مشابه