GraphQL هي لغة استعلام لواجهات API وبيئة تشغيل (runtime) تجيب على تلك الاستعلامات مقابل schema مُنمّط (typed). يرسل العميل طلبًا واحدًا يصف بدقة الحقول التي يريدها، ويعيد الخادم هذا الشكل بالضبط — لا أكثر ولا أقل.
GraphQL هي لغة استعلام لواجهات API وبيئة تشغيل (runtime) تجيب على تلك الاستعلامات مقابل schema مُنمّط (typed). يرسل العميل طلبًا واحدًا يصف بدقة الحقول التي يريدها، ويعيد الخادم هذا الشكل بالضبط — لا أكثر ولا أقل.
/users، /users/1/posts)؛ بينما يعرض GraphQL نقطة نهاية /graphql واحدة وتختار البيانات عبر جسم الاستعلام.# طلب واحد يجلب المستخدم وعناوين منشوراته معًا — دون جولة ذهاب وإياب ثانية
query {
user(id: "1") { # اختر المستخدم عبر id
name # تعود فقط الحقول التي نُدرجها
posts { # متداخل: اتبع العلاقة في الاستعلام نفسه
title
}
}
}
تعكس الاستجابة الاستعلام تمامًا: { "data": { "user": { "name": "...", "posts": [{ "title": "..." }] } } }.
يطرح المُحاورون هذا السؤال ليروا ما إذا كنت تفهم المقايضة الجوهرية: يزيل GraphQL مشكلتَي الجلب الزائد والناقص ويمنح العملاء مرونة، مقابل مزيد من التعقيد على جانب الخادم (resolvers، caching، التحكم في تكلفة الاستعلام). معرفة لماذا وُجد — لا مجرد بنية الصياغة (syntax) — تدل على قدرتك على اختيار الأداة المناسبة.
مكتبة من أسئلة مقابلات تقنية المعلومات مع إجابات مفصّلة — من المبتدئ إلى المتقدم.
تبرع