اهم اسئلة المقابلات في لارافيل ..
بسم الله الرحمن الرحيم ..
حابب اصير انزل مقالات هنا على ال Community بخصوص ال Backend بإستخدام Laravel ..
راح يكون اول مقال اليوم عن اهم أسئلة المقابلات في لارافيل ..
قبل القراءة انا تعذبت بسبب ال text editor الي بيتم استخدامه في ال Community و اتمنى يتم التطوير ل text editor افضل في الايام القادمة .. بالنسبة للإجابات فهي اجابات سطحية عن كل سؤال .. لو حضرتك ما بتعرف جواب السؤال إبحث عنه ..
في الايام الجاية رح اعمل مقالات متقدمة اكتر ان شاء الله ..
1. الفرق بين self , this ؟
- self: للإشارة للخصائص والدوال الثابتة في الكلاس.
- this: للإشارة للخصائص والدوال الخاصة بالكائن الحالي من الكلاس.
2. متى نستخدم Single Auth و Multi Auth ؟
- Single Auth: لما يكون عندك نوع واحد من المستخدمين.
- Multi Auth: لما يكون عندك أكتر من نوع من المستخدمين وكل نوع إله صلاحيات مختلفة.
3. Laravel Request Life Cycle؟
- الطلب بيمر بمراحل:
1. استقبال الطلب.
2. تحليل الـ Route.
3. تنفيذ الـ Middleware.
4. استدعاء الـ Controller وتنفيذ الدوال.
5. إرسال الاستجابة (Response).
4. إيش هو CSRF؟
- نوع من الهجمات اللي بيخلي المستخدم ينفذ طلبات غير مرغوب فيها بدون علمه.
Laravel tokens بيحمي من استخدامها
5. ليش نستخدم Migrations ؟
- لتنظيم قواعد البيانات، تسهيل التعديلات، وضمان استعادة الهيكلية لو صار مشاكل.
6. إيش بيأثر على أداء قاعدة البيانات؟
- حجم البيانات، عدد الاستعلامات، الكاش (Caching)، توزيع الأحمال.
7. الفرق بين SQL Query و Query Builder و Eloquent ORM؟
- SQL Query: كتابة استعلامات مباشرة.
- Query Builder: طريقة مرنة لبناء الاستعلامات بدون كتابة SQL مباشرة.
- Eloquent ORM: واجهة للتعامل مع قواعد البيانات باستخدام الكائنات.
8. ايش هو ال Webhook Api ؟
- هو طريقة بتسمح لتطبيق معين إنه يرسل بيانات أو إشعارات لتطبيق ثاني بشكل تلقائي لما يصير حدث معين.
9. إيش هو Dependency Injection ؟
- نمط تصميم بيسمح بحقن التبعيات (Dependencies) بدل ما يتم إنشاؤها داخل الكائن نفسه.
10. الفرق بين Access Modifiers ؟
- Public: متاح للجميع.
- Protected: متاح داخل الكلاس والوراثة.
- Private: متاح داخل الكلاس فقط.
11. إيش هي Magic Methods ؟
- دوال خاصة في PHP زي:
- __construct: تنفيذ عند إنشاء الكائن.
- __destruct: تنفيذ عند حذف الكائن.
- __call و __get: لتسهيل التعامل مع الكائنات ديناميكياً.
12. الفرق بين Session و Cookies ؟
- Session: تخزين البيانات على السيرفر.
- Cookies: تخزين البيانات على جهاز المستخدم.
13. الفرق بين Class و Object؟
- Class: التصميم أو القالب.
- Object: الكائن الناتج من الكلاس.
14. الفرق بين Abstract Class و Interface؟
- Abstract Class: يحتوي على دوال عادية وتجريدية.
- Interface: يحتوي فقط على دوال تجريدية.
15. مبادئ SOLID؟
- تحسين تصميم البرمجيات:
- S: مسؤولية واحدة لكل كلاس.
- O: الكلاس مفتوح للإضافة مغلق للتعديل.
- L: استبدال الكلاسات بدون مشاكل.
- I: تقسيم الواجهات الكبيرة.
- D: الاعتماد على التجريد بدل التفاصيل.
16. الفرق بين WHERE و GROUP BY و HAVING ؟
- WHERE: لتصفية البيانات قبل التجميع.
- GROUP BY: لتجميع البيانات بناءً على عمود.
- HAVING: لتصفية النتائج بعد التجميع.
17. الفرق بين INNER JOIN و LEFT JOIN و RIGHT JOIN؟
- INNER JOIN: يرجع البيانات المشتركة بين الجدولين.
- LEFT JOIN: يرجع كل البيانات من الجدول الأيسر.
- RIGHT JOIN: يرجع كل البيانات من الجدول الأيمن.
19. إيش الفرق بين Extend و Implement؟
Extend: لما تورث كلاس ثاني وتعيد استخدام خصائصه ودواله.
Implement: لما تطبق واجهة (Interface) وتلتزم بتنفيذ كل الدوال اللي فيها.
20. إيش هو Event و Listener؟
Event: حاجة بتحصل في النظام (زي تسجيل مستخدم جديد).
Listener: الكود اللي بينفذ لما الـ Event يحصل (زي إرسال إيميل ترحيبي).
21. إيش هو Queue و Job؟
Queue: لتأجيل تنفيذ بعض الوظائف لتوفير موارد.
Job: الوحدة اللي بتنفذ في الـ Queue زي إرسال إيميلات أو معالجة بيانات.
22. إيش هو Spatie Permissions؟
مكتبة بتنظم الأدوار (Roles) والصلاحيات (Permissions) للمستخدمين في النظام.
23. إيش الفرق بين Service Container و Service Provider؟
Service Container: مسؤول عن إدارة التبعيات في Laravel.
Service Provider: الكلاس اللي بيعرف الخدمات في الـ Service Container.
24. إيش الفرق بين self و static؟
self: للإشارة للخصائص والدوال الثابتة في الكلاس الحالي.
static: للإشارة للخصائص والدوال الثابتة مع إمكانية الوراثة.
25. إيش الفرق بين Migration و Seeder؟
Migration: لتعديل هيكلية قاعدة البيانات (إضافة جداول أو أعمدة).
Seeder: لإضافة بيانات افتراضية أو تجريبية للجداول.
26. إيش الفرق بين Middleware و Controller؟
Middleware: فلتر بين الطلب والاستجابة (زي التحقق من صلاحيات المستخدم).
Controller: مسؤول عن تنفيذ منطق التطبيق وإرجاع الاستجابة.
27. إيش هو ORM؟
ORM (Object Relational Mapping): طريقة للتعامل مع قواعد البيانات باستخدام الكائنات بدل كتابة SQL.
28. إيش الفرق بين CSRF و XSS؟
CSRF: هجوم بيجبر المستخدم ينفذ طلبات غير مرغوب فيها.
XSS: هجوم بيحقن أكواد JavaScript خبيثة في الموقع.
30. إيش الفرق بين Polymorphism و Overloading؟
Polymorphism: نفس الدالة بتتصرف بشكل مختلف حسب الكائن.
Overloading: تعريف نفس الدالة بأكثر من شكل بناءً على عدد أو نوع المعاملات.
31. إيش الفرق بين Blade و Template Engine؟
Blade: محرك قوالب خاص بـ Laravel، بيتيح كتابة HTML مع أكواد PHP بشكل منظم.
Template Engine: مفهوم عام لمحركات القوالب اللي بتنظم كتابة الأكواد.
32. إيش الفرق بين Constructor و Destructor؟
Constructor: دالة بتتنفذ لما يتم إنشاء الكائن.
Destructor: دالة بتتنفذ لما يتم حذف الكائن.

