هذا ما يجتازه كل مرشح قبل أن يصلك
هذا الدليل هو البوابة الثالثة من خمس بوابات تقييم: جلسة تقنية مباشرة يديرها مهندس بمستوى قائد في ممارسة تطبيقات الجوال والويب، تليها مهمة عملية تُصحَّح على بطاقة تقييم موحدة. يجتاز البوابات الخمس 3.4% من المتقدمين، وتصلك النتيجة مع كل ملف.
يمكنك استخدام هذه الأسئلة في مقابلاتك الداخلية. التلميحات تصف ما تبحث عنه في الإجابة القوية، لا إجابة نموذجية تُحفظ.
20 سؤالًا تقنيًا
أسئلة خاصة بدور مهندس متكامل بلغة TypeScript
السؤال 1: متى تختار Server Component بدل Client Component في Next.js؟
تلميح الإجابة
جلب البيانات دون تفاعلية يكون من جهة الخادم؛ والحالة والتأثيرات وواجهات المتصفح تحتاج العميل؛ مع ذكر حجم الحزمة.
السؤال 2: كيف تشارك الأنواع بين عميل Next.js وواجهة NestJS؟
تلميح الإجابة
حزمة مشتركة أو أنواع مولّدة من مخطط OpenAPI / GraphQL، مع تحقق أثناء التشغيل (Zod) عند الحدود.
السؤال 3: اشرح لنا إدارة الجلسات الآمنة لتطبيق ويب.
تلميح الإجابة
ملفات تعريف ارتباط HttpOnly وSecure وSameSite؛ ورموز قصيرة الأمد مع التدوير؛ وحماية CSRF؛ ولا شيء حساس في localStorage.
السؤال 4: نقطة وصول لقائمة تتباطأ عند مليوني صف. ماذا تفعل؟
تلميح الإجابة
يقرأ خطة الاستعلام، ويضيف الفهارس، والترقيم بالمؤشر (Cursor Pagination)، ويزيل استعلامات N+1، ويخزّن مؤقتًا مع إبطال واضح.
السؤال 5: كيف تنفّذ ترحيلًا لقاعدة البيانات دون أي توقف؟
تلميح الإجابة
التوسيع ثم التقليص (Expand-and-Contract)، وملء البيانات على دفعات، ومفاتيح الميزات أو الكتابة المزدوجة، وكل خطوة قابلة للتراجع.
السؤال 6: REST أم GraphQL لمنتج جديد على الويب والجوال؟
تلميح الإجابة
يوازن التخزين المؤقت، وجلب بيانات زائدة، والأدوات، ومهارات الفريق؛ دون إجابة متعصبة.
السؤال 7: كيف تُبقي صفحة Next.js سريعة على هواتف Android متوسطة الفئة؟
تلميح الإجابة
مؤشرات Core Web Vitals من بيانات الاستخدام الفعلي، وتحسين الصور والخطوط، وتقسيم الكود، وتقليل JavaScript في العميل.
السؤال 8: كيف يبدو هرم الاختبارات لديك لميزة متكاملة؟
تلميح الإجابة
اختبارات وحدات للمنطق، واختبارات تكامل لـ API مع قاعدة البيانات، وبضع رحلات Playwright، واختبارات عقود بين الخدمات.
السؤال 9: كيف تتعامل مع RTL والعربية في مكتبة مكونات مشتركة؟
تلميح الإجابة
الخصائص المنطقية، وسمة dir، وعكس الأيقونات فقط حيث يتطلب المعنى ذلك، والتنسيق حسب اللغة.
السؤال 10: حدّثنا عن حادثة إنتاج تسببت فيها وأصلحتها.
تلميح الإجابة
ملكية واضحة، وتسلسل زمني، وسبب جذري، وخطوات منع التكرار، ونبرة دون لوم.
أسئلة مشتركة في ممارسة تطبيقات الجوال والويب
السؤال 11: كيف تقدّر جهد ميزة ما زالت متطلباتها غير واضحة؟
تلميح الإجابة
تقسيم الميزة إلى أجزاء، وتسمية المجهول صراحة، وتجربة استكشافية قصيرة، ثم تقدير بنطاق يُراجَع كلما اتضحت الصورة.
السؤال 12: كيف تدمج الدخول بالهوية الوطنية مثل Nafath أو UAE Pass بأمان؟
تلميح الإجابة
تدفق إعادة التوجيه أو الانتقال بين التطبيقات وفق التوثيق الرسمي، والتحقق من state وnonce، وتخزين الرموز بأمان، ومعالجة انتهاء الجلسة وحالات الفشل.
السؤال 13: ما الذي يتضمنه تعريف الإنجاز لديك لميزة يراها المستخدم؟
تلميح الإجابة
اختبارات آلية، وفحص الإتاحة، وأحداث التحليلات، وحالات الخطأ، والتوثيق، وعلم ميزة يسمح بالإيقاف الفوري.
السؤال 14: كيف تضع ميزانية أداء وتلتزم بها؟
تلميح الإجابة
أهداف Core Web Vitals أو زمن الإقلاع مقيسة على أجهزة متوسطة الإمكانات، وفحوص في CI تُفشل الدمج عند أي تراجع.
السؤال 15: كيف تطلق إصدارًا آمنًا لملايين المستخدمين؟
تلميح الإجابة
أعلام الميزات، والنشر التدريجي، ومراقبة الأعطال والأخطاء، والتراجع السريع، والتخطيط المسبق لمراجعة المتاجر.
السؤال 16: كيف تتعامل مع الاتصال الضعيف أو المنقطع؟
تلميح الإجابة
تخزين محلي، وتحديثات متفائلة مع معالجة التعارض، وإعادة المحاولة بفواصل متزايدة، ورسائل واضحة للمستخدم.
السؤال 17: ما الذي تتحقق منه قبل أن يبدأ التطبيق في معالجة المدفوعات؟
تلميح الإجابة
نطاق PCI، وترميز بيانات البطاقات، ومنع الخصم المزدوج عند تكرار الطلب، وWebhooks، والمطابقة اليومية، واختبارات بيئة المزوّد التجريبية.
السؤال 18: كيف تُبقي المكتبات وحزم SDK آمنة ومحدّثة؟
تلميح الإجابة
ملفات تثبيت الإصدارات، وطلبات تحديث آلية، وفحص الثغرات، ومراجعة التراخيص، وإزالة الحزم غير المستخدمة.
السؤال 19: تصميم لا يمكن تنفيذه كما رُسم؛ ماذا تفعل؟
تلميح الإجابة
مراجعة جدوى مبكرة، وبدائل بمفاضلات واضحة، ومكوّنات من نظام التصميم، وقرار مشترك مع المصمم.
السؤال 20: كيف تراجع طلب دمج كتبه زميلك؟
تلميح الإجابة
الصحة وسهولة القراءة والاختبارات والأمن، وطلبات دمج صغيرة، وتمييز واضح بين الملاحظات المانعة وغير المانعة.
مهمة قريبة من أول أسبوع عمل
مدة محددة: 3 ساعات في المنزل أو 90 دقيقة مباشرة. وسّع مستودع Next.js + NestJS + PostgreSQL مُعدًّا مسبقًا بميزة «دعوة زميل»: نقطة وصول API محددة الأنواع، وترحيل، وبديل مؤقت للبريد الإلكتروني، وفحص للدور، ونموذج واجهة مُتحقَّق منه، واختبار Playwright واحد. ويُقيَّم العمل على الصحة، وأمان الأنواع، والإعدادات الأمنية الافتراضية، وجودة الاختبار، وشرح للمفاضلات مدته 5 دقائق.
أرسل الموجز قبل 24 ساعة أو نفّذ المهمة مباشرة، واطلب من المرشح شرح المفاضلات أثناء العمل؛ فطريقة التفكير أهم من الناتج النهائي. مهمة محددة الوقت، بلا بيانات حقيقية لأي عميل، ويُناقش الحل مع المرشح بعد التسليم لفهم قراراته لا لمجرد النتيجة.
علامات التحذير
- يستخدم `any` أو يعطّل فحص الأنواع ليمرّ البناء.
- يخزّن رموز المصادقة في localStorage دون فهم مخاطر XSS.
- لا يستطيع شرح ما يفعله الاستعلام على مستوى قاعدة البيانات.
- يعامل الاختبارات وإتاحة الوصول كمسؤولية شخص آخر.
- يعجز عن شرح قرار تقني اتخذه بنفسه وسبب اختياره.
- ينسب نتائج الفريق لنفسه دون تفاصيل دوره الفعلي فيها.
أربعة أبعاد، ودرجة اجتياز معلنة
| البُعد | الوزن | ما تعنيه الدرجة 4 من 4 |
|---|---|---|
| العمق التقني وجاهزية الإنتاج والأمن | 40% | يشرح المفاضلات ويصمم للفشل والبيانات الحساسة ويعرف حدود كل أداة |
| المهمة العملية وحل المشكلات | 30% | حل يعمل، مع اختبارات وقرارات موثّقة |
| التواصل والتوثيق | 20% | يشرح بوضوح لجمهور تقني وغير تقني بالعربية أو الإنجليزية |
| المراجع والسياق الإقليمي | 10% | تؤكد المراجع النطاق المذكور، ويعرف الأطر وقواعد إقامة البيانات ذات الصلة |
الاجتياز بمتوسط مرجّح 3.0 من 4 فأكثر، دون أي بُعد أقل من 2. يعتمد قائد الممارسة النتيجة النهائية.