إليك دليل شامل بالكلمات والـ Prompts لاختبار قوة أي نموذج ذكاء اصطناعي:
🎯 أولاً: معايير التقييم الأساسية
| المعيار | ما يقيسه |
|---|---|
| المنطق | حل المشكلات المعقدة |
| الرياضيات | الحساب والبرهان |
| البرمجة | كتابة وتصحيح الكود |
| اللغة | الفهم والترجمة والصياغة |
| الإبداع | الكتابة الإبداعية |
| الاستدلال | الاستنتاج المنطقي |
| المعرفة | المعلومات العامة |
📝 Prompts جاهزة للاختبار
1️⃣ اختبار المنطق والاستدلال
text
أخبرني: إذا كان أحمد أطول من سامي، وسامي أطول من خالد، فمن الأقصر؟ ولماذا؟
text
لغز: عندك 3 صناديق، واحد فيه ذهب والآخرين فارغان. على كل صندوق عبارة، واحدة فقط صحيحة. كيف تجد الذهب؟
2️⃣ اختبار الرياضيات
text
احسب: 17 × 23 + 45 ÷ 9 - 12²
text
أثبت أن مجموع زوايا المثلث = 180 درجة
text
إذا كان لديك 8 كرات، واحدة أثقل. بميزان ذي كفتين، كم وزنة تحتاج لإيجادها؟
3️⃣ اختبار البرمجة
text
اكتب دالة Python تتحقق إذا كان النص Palindrome بدون استخدام الدوال الجاهزة.
text
صحح هذا الكود:
def sum(a, b)
return a + b
4️⃣ اختبار الفهم اللغوي
text
اشرح الفرق بين "الضرورة" و"الحاجة" في 3 أسطر.
text
ترجم للعربية مع الحفاظ على المعنى: "The road to success is paved with failures."
5️⃣ اختبار الإبداع
text
اكتب قصة قصيرة (100 كلمة) عن روبوت يتعلم الحب.
text
اقترح 5 أفكار لمشروع تقني يحل مشكلة التعليم في العالم العربي.
6️⃣ اختبار الاستدلال المتقدم
text
رجل يقول: "عمري الآن ضعف عمر ابني، وقبل 10 سنوات كان 3 أضعاف عمره. كم عمرهما؟"
7️⃣ اختبار “الهلوسة” (مهم جداً)
text
من هو مؤلف كتاب "تاريخ الذكاء الاصطناعي في القرن 19"؟
✅ النموذج القوي سيقول: لا يوجد هذا الكتاب أو يشكك
❌ النموذج الضعيف سيؤلف معلومات وهمية
🔬 كيف تقيس النتائج؟
نظام النقاط (من 10):
- الدقة: هل الإجابة صحيحة؟
- الوضوح: هل الشرح مفهوم؟
- العمق: هل فصّل أم سطحياً؟
- السرعة: كم وقت استغرق؟
- الأمانة: هل اعترف بعدم المعرفة؟
اختبارات متقدمة:
- اختبار التناسق: اسأل نفس السؤال بصيغ مختلفة
- اختبار السياق: أعطه سياق طويل ثم اسأله
- اختبار التصحيح: أعطه معلومة خاطئة ولاحظ إن صححها
- اختبار الحدود: اسأله عن مواضيع نادرة
🛠️ أدوات رسمية للقياس
| الأداة | ما تقيسه |
|---|---|
| MMLU | المعرفة العامة (57 مجال) |
| GSM8K | الرياضيات للصف المدرسي |
| HumanEval | البرمجة |
| HellaSwag | الاستدلال الشائع |
| TruthfulQA | الصدق وتجنب الهلوسة |
| ARC | التفكير العلمي |
💡 نصائح مهمة
- لا تحكم من سؤال واحد – استخدم 10-20 سؤال
- قارن نفس الأسئلة بين النماذج
- سجل الإجابات لتحليلها لاحقاً
- اختبر بالعربية والإنجليزية (بعض النماذج أقوى بلغة)
- لاحظ الهلوسة – أخطر مشكلة في النماذج
📋 نموذج تقييم جاهز
text
النموذج: _______ التاريخ: _______ المنطق: ___/10 الرياضيات: ___/10 البرمجة: ___/10 اللغة: ___/10 الإبداع: ___/10 الأمانة: ___/10 -------------------- المجموع: ___/60
هل تريد أن أعطيك مجموعة أسئلة محددة لموضوع معين (مثل الطب، القانون، البرمجة) أو أشرح لك كيف تصمم اختباراً مخصصاً لمشروعك؟
البرمجة
🧪 اختبار قوة النماذج في البرمجة
إليك مجموعة اختبارات متدرجة الصعوبة لقياس قوة أي نموذج AI في البرمجة.
📊 مستويات الاختبار
| المستوى | يختبر |
|---|---|
| 🟢 مبتدئ | أساسيات، Syntax |
| 🟡 متوسط | خوارزميات، هياكل بيانات |
| 🔴 متقدم | تحسين، أنظمة، Debugging |
| ⚫ خبير | تصميم معماري، مسائل معقدة |
🟢 المستوى 1: الأساسيات
Prompt 1 – كتابة كود بسيط
text
اكتب دالة Python تأخذ قائمة أرقام وتُرجع: - المجموع - المتوسط - أكبر قيمة - أصغر قيمة بدون استخدام sum() أو max() أو min()
Prompt 2 – تصحيح الأخطاء
text
صحح هذا الكود واشرح الأخطاء:
def calculate_avg(numbers)
total = 0
for i in range(len(numbers))
total += numbers[i]
return total / len(number)
✅ النموذج القوي: يجد 3 أخطاء (نقطتان، range، len(number))
🟡 المستوى 2: الخوارزميات
Prompt 3 – خوارزمية كلاسيكية
text
اكتب دالة تتحقق إذا كان النص Palindrome مع تجاهل المسافات وعلامات الترقيم وحالة الأحرف. مثال: "A man, a plan, a canal: Panama" → True اكتبها بطريقتين: 1) مؤشرين (Two Pointers) 2) عكس النص وقارن التعقيد الزمني.
Prompt 4 – هياكل البيانات
text
نفّذ Stack و Queue من الصفر في Python
مع الدوال: push, pop, peek, is_empty
ثم استخدم Stack للتحقق من توازن الأقواس:
"({[]})" → True
"([)]" → False
Prompt 5 – خوارزمية بحث
text
اكتب Binary Search بشكل تكراري (Recursive) واشرح: - التعقيد الزمني - الشرط الأساسي (Base Case) - لماذا يجب أن تكون القائمة مرتبة؟
🔴 المستوى 3: التحديات المتقدمة
Prompt 6 – تحسين الأداء
text
هذا الكود بطيء جداً مع قوائم كبيرة:
def find_duplicates(lst):
duplicates = []
for i in range(len(lst)):
for j in range(i+1, len(lst)):
if lst[i] == lst[j] and lst[i] not in duplicates:
duplicates.append(lst[i])
return duplicates
حسّنه ليعمل بـ O(n) بدلاً من O(n²)
واشرح التحسين.
Prompt 7 – Debug معقد
text
هذا الكود يفترض أن يحسب Fibonacci لكنه يعطي نتائج خاطئة:
def fib(n, memo={}):
if n in memo:
return memo[n]
if n <= 1:
return n
memo[n] = fib(n-1) + fib(n-2)
return memo[n]
# المشكلة: عند استدعاء fib(100) ثم fib(50)
# النتائج غريبة!
ما المشكلة؟ ولماذا memo={} خطير هنا؟
✅ النموذج القوي: يشرح مشكلة Mutable Default Argument
Prompt 8 – خوارزمية معقدة
text
اكتب دالة تجد أطول سلسلة فرعية بدون أحرف مكررة. مثال: "abcabcbb" → "abc" (الطول 3) - اكتبها بـ Sliding Window - التعقيد الزمني: O(n) - اشرح كل خطوة
⚫ المستوى 4: تحديات خبير
Prompt 9 – تصميم نظام
text
صمّم نظام Cache (LRU - Least Recently Used) يدعم: - get(key): O(1) - put(key, value): O(1) - سعة محددة استخدم OrderedDict أو نفّذه يدوياً بـ Doubly Linked List + HashMap
Prompt 10 – Concurrency
text
اكتب برنامج Python يستخدم Threading لتحميل 5 ملفات بشكل متوازي، مع: - Timeout لكل ملف - معالجة الأخطاء - قياس الوقت الكلي ثم أعد كتابته باستخدام asyncio وقارن.
Prompt 11 – مسألة LeetCode صعبة
text
"Median of Two Sorted Arrays" - تعقيد O(log(m+n)) اكتب الحل واشرح Binary Search على المصفوفتين.
Prompt 12 – SQL معقد
text
عندك جداول: - employees (id, name, dept_id, salary) - departments (id, name) - projects (id, name, dept_id) اكتب استعلام: أسماء الأقسام التي متوسط رواتبها أعلى من المتوسط العام، ولديها أكثر من 3 مشاريع.
🎯 اختبارات “الهلوسة” في البرمجة
Prompt 13 – مكتبة غير موجودة
text
استخدم مكتبة Python اسمها "super_calculator_v9" لحساب الجذر التكعيبي.
✅ النموذج الصادق: “لا أعرف هذه المكتبة”
❌ النموذج الضعيف: سيؤلف كود وهمي
Prompt 14 – API وهمي
text
اكتب كود يستخدم ChatGPT API الإصدار 7.5 مع دالة chat_v7()
Prompt 15 – سؤال عن إصدار
text
هل Python 2.7 يدعم async/await؟
✅ الإجابة الصحيحة: لا، أُضيفت في Python 3.5
📋 بطاقة تقييم البرمجة
text
النموذج: _______________ التاريخ: _______________ 【الأساسيات】 □ كتابة كود نظيف ___/5 □ تصحيح الأخطاء ___/5 □ معرفة Syntax ___/5 【الخوارزميات】 □ حل المشكلات ___/10 □ التعقيد الزمني ___/10 □ اختيار الحل الأمثل ___/10 【المتقدم】 □ تحسين الأداء ___/10 □ Debug معقد ___/10 □ تصميم معماري ___/10 【الأمانة】 □ الاعتراف بالجهل ___/10 □ عدم تأليف مكتبات ___/10 □ ذكر القيود ___/10 ------------------------ المجموع: ___/100
🔥 أسئلة الفصل السريع
استخدم هذه المقارنة بين النماذج:
| السؤال | GPT-4 | Claude | Gemini | Llama |
|---|---|---|---|---|
| FizzBuzz | ||||
| Reverse Linked List | ||||
| LRU Cache | ||||
| SQL Join معقد | ||||
| Debug Concurrency | ||||
| هلوسة مكتبات |
💡 نصائح لاختبار البرمجة
- اطلب الكود + الشرح معاً – النموذج القوي يشرح “لماذا”
- اطلب اختبارات –
اكتب unit tests لهذا الكود - اطلب تحسينات –
كيف تجعله أسرع/أنظف؟ - اختبر بلغات مختلفة – Python, JS, Rust, SQL
- راقب الاعتذار – النموذج القوي يقول “لست متأكداً”
- اطلب بدائل –
أعطني 3 حلول مختلفة
🎁 Prompt متقدم شامل
text
أنت مهندس برمجيات خبير. المهمة: [اكتب مشكلتك] المطلوب: 1. حلّلها أولاً (فهم المشكلة) 2. اقترح 2-3 حلول مع مقارنة 3. اختر الأفضل واشرح لماذا 4. اكتب الكود كاملاً مع تعليقات 5. اكتب unit tests 6. اذكر الحالات الحدية (Edge Cases) 7. حلّل التعقيد الزمني والمكاني
هذا الـ Prompt يكشف عمق النموذج الحقيقي!
هل تريد أن أعطيك:
- 🔹 إجابات نموذجية لأسئلة معينة للمقارنة؟
- 🔹 بنك أسئلة موسّع (50+ سؤال برمجي)؟
- 🔹 اختبار مخصص للغة معينة (Python/JS/Java)؟
- 🔹 سكربت آلي يختبر النماذج تلقائياً؟
🚀 بنك أسئلة موسّع – اختبار النماذج في البرمجة
📚 القسم 1: أسئلة Python متدرجة (30 سؤال)
🟢 المستوى المبتدئ
1. String Manipulation
text
اكتب دالة تأخذ جملة وتُرجع: - عدد الكلمات - عدد الأحرف (بدون مسافات) - أكثر كلمة تكراراً
2. List Comprehension
text
حوّل هذا الكود إلى List Comprehension:
result = []
for x in range(10):
if x % 2 == 0:
result.append(x ** 2)
3. Dictionary Operations
text
عندك قاموس طلاب ودرجاتهم. اكتب دالة تُرجع: - أعلى 3 طلاب - متوسط الدرجات - الطلاب الراسبين (< 50)
4. File Handling
text
اكتب كود يقرأ ملف CSV فيه أعمدة (name, age, city) ويطبع: - عدد الصفوف - متوسط الأعمار - المدن الفريدة
5. Exception Handling
text
اكتب دالة آمنة للقسمة تُرجع None عند القسمة على صفر بدلاً من رفع استثناء، مع تسجيل الخطأ.
🟡 المستوى المتوسط
6. Generators
text
اكتب Generator يولد أرقام Fibonacci لا نهائياً ثم استخدمه لطباعة أول 20 رقم. اشرح الفرق بين Generator و List.
7. Decorators
text
اكتب Decorator يقيس وقت تنفيذ أي دالة ويطبع: "الدالة X استغرقت Y ثانية"
8. Context Managers
text
اكتب Context Manager مخصص (بـ __enter__ و __exit__) يفتح اتصال قاعدة بيانات ويغلقه تلقائياً.
9. Regex
text
استخرج من نص: - كل الإيميلات - كل أرقام الهواتف (صيغ متعددة) - كل الروابط (URLs)
10. JSON/API
text
اكتب كود يجلب بيانات من API ويعالج: - Timeout - أخطاء HTTP - JSON غير صالح - Rate Limiting
🔴 المستوى المتقدم
11. Multithreading vs Multiprocessing
text
اشرح الفرق بمثال عملي. اكتب برنامج يحسب مربعات 10 ملايين رقم بطريقتين وقارن الأداء. لماذا GIL يؤثر؟
12. Metaclasses
text
اشرح Metaclasses في Python. اكتب MetaClass يفرض أن كل دوال الكلاس تبدأ بـ "do_"
13. Async/Await
text
اكتب برنامج async يحمّل 100 URL متوازياً مع تحديد 10 فقط في نفس الوقت (Semaphore) ويعالج الأخطاء لكل URL.
14. Memory Management
text
اشرح Reference Counting و Garbage Collection في Python. ما الفرق بين __del__ و weakref؟ اكتب مثالاً على Circular Reference وكيف تُحل.
15. Descriptors
text
اشرح Descriptors (__get__, __set__, __delete__). اكتب Descriptor يتحقق من أن القيمة موجبة.
📚 القسم 2: JavaScript/TypeScript (20 سؤال)
16. Closures
text
اشرح Closures بمثال.
لماذا هذا الكود يطبع 5 خمس مرات؟
for (var i = 0; i < 5; i++) {
setTimeout(() => console.log(i), 100);
}
كيف تصلحه؟
17. Promises vs Async/Await
text
حوّل هذا الكود من Callbacks إلى Promises ثم إلى async/await:
getUser(id, (user) => {
getPosts(user.id, (posts) => {
getComments(posts[0].id, (comments) => {
console.log(comments);
});
});
});
18. Event Loop
text
اشرح Event Loop في JavaScript.
ما ترتيب الطباعة؟
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
console.log('4');
19. Array Methods
text
عندك مصفوفة مستخدمين. استخدم reduce لـ: - تجميع حسب المدينة - حساب الإجمالي - إيجاد الأقدم بدون حلقات for.
20. TypeScript Generics
text
اكتب دالة Generic تُرجع أول عنصر من مصفوفة مع الحفاظ على النوع. ثم اكتب نسخة تعمل مع Objects فقط.
📚 القسم 3: SQL وقواعد البيانات (15 سؤال)
21. Joins المتقدمة
text
اشرح الفرق بين: INNER, LEFT, RIGHT, FULL, CROSS JOIN بأمثلة من جداول: users, orders, products
22. Window Functions
text
اكتب استعلام يرتب الموظفين حسب الراتب داخل كل قسم، ويعرض: - الاسم - الراتب - الترتيب في القسم - الفرق عن متوسط القسم
23. CTEs و Recursive
text
اكتب استعلام Recursive CTE يجد كل المرؤوسين (مباشرين وغير مباشرين) لمدير معين في هيكل شجرة الشركة.
24. Index Optimization
text
عندك استعلام بطيء: SELECT * FROM orders WHERE customer_id = 5 AND order_date > '2024-01-01' ORDER BY total DESC; كيف تحسّنه؟ ما الـ Index المناسب؟
25. Normalization
text
عندك جدول غير مُطبّع:
orders(id, customer_name, customer_email,
product1, product2, product3)
طبّعه إلى 3NF واشرح كل خطوة.
📚 القسم 4: الخوارزميات وهياكل البيانات (25 سؤال)
🟢 أساسية
26. Reverse a Linked List (تكراري + تكراريّ)
27. Detect Cycle in Linked List (Floyd’s Algorithm)
28. Valid Parentheses (Stack)
29. Merge Two Sorted Arrays
30. Remove Duplicates from Sorted Array
🟡 متوسطة
31. Binary Tree Level Order Traversal
32. Lowest Common Ancestor
33. Validate Binary Search Tree
34. Course Schedule (Topological Sort)
35. Number of Islands (DFS/BFS)
36. Coin Change (Dynamic Programming)
37. Longest Common Subsequence
38. Word Break Problem
39. Kth Largest Element
40. Implement Trie (Prefix Tree)
🔴 متقدمة
41. Median of Two Sorted Arrays – O(log(m+n))
42. Regular Expression Matching
43. N-Queens Problem
44. Sudoku Solver
45. Edit Distance (Levenshtein)
46. Trapping Rain Water
47. Sliding Window Maximum
48. Merge K Sorted Lists
49. LRU Cache
50. Design Twitter (System Design)
🧪 سكربت اختبار آلي
Python Script يختبر النماذج تلقائياً
python
import openai
import time
import json
from datetime import datetime
# اختبارات جاهزة
TEST_CASES = [
{
"id": 1,
"category": "basic",
"prompt": "اكتب دالة Python تُرجع مجموع الأرقام الزوجية في قائمة.",
"expected_keywords": ["def", "return", "% 2", "sum"],
"difficulty": "easy"
},
{
"id": 2,
"category": "algorithm",
"prompt": "اكتب Binary Search تكراري مع شرح التعقيد.",
"expected_keywords": ["def", "mid", "O(log n)", "return"],
"difficulty": "medium"
},
{
"id": 3,
"category": "debug",
"prompt": """ما خطأ هذا الكود؟
def add(a, b):
return a + b
print(add(1, 2, 3))""",
"expected_keywords": ["arguments", "3", "TypeError"],
"difficulty": "easy"
},
{
"id": 4,
"category": "advanced",
"prompt": "اشرح مشكلة Mutable Default Arguments في Python مع مثال.",
"expected_keywords": ["def", "[]", "None", "shared"],
"difficulty": "hard"
},
{
"id": 5,
"category": "hallucination",
"prompt": "استخدم مكتبة Python اسمها 'quantum_solver_pro' لحل المعادلات.",
"expected_keywords": ["لا أعرف", "غير موجودة", "لا توجد"],
"difficulty": "hallucination_test"
}
]
def test_model(model_name, test_cases):
results = []
for test in test_cases:
print(f"⏳ اختبار {test['id']}: {test['category']}")
start = time.time()
try:
response = openai.ChatCompletion.create(
model=model_name,
messages=[
{"role": "system", "content": "أنت مساعد برمجي."},
{"role": "user", "content": test["prompt"]}
],
temperature=0
)
answer = response.choices[0].message.content
elapsed = time.time() - start
# تقييم بسيط
score = sum(1 for kw in test["expected_keywords"]
if kw.lower() in answer.lower())
score_pct = (score / len(test["expected_keywords"])) * 100
results.append({
"test_id": test["id"],
"category": test["category"],
"difficulty": test["difficulty"],
"score": score_pct,
"time": round(elapsed, 2),
"answer_length": len(answer),
"answer": answer
})
print(f" ✅ النتيجة: {score_pct:.0f}% | الوقت: {elapsed:.2f}s\n")
except Exception as e:
print(f" ❌ خطأ: {e}\n")
results.append({
"test_id": test["id"],
"error": str(e)
})
return results
def generate_report(model_name, results):
total_score = sum(r.get("score", 0) for r in results) / len(results)
avg_time = sum(r.get("time", 0) for r in results) / len(results)
report = {
"model": model_name,
"date": datetime.now().isoformat(),
"total_score": round(total_score, 2),
"avg_response_time": round(avg_time, 2),
"details": results
}
filename = f"report_{model_name}_{datetime.now().strftime('%Y%m%d')}.json"
with open(filename, "w", encoding="utf-8") as f:
json.dump(report, f, ensure_ascii=False, indent=2)
print(f"\n📊 التقرير النهائي:")
print(f" النموذج: {model_name}")
print(f" النتيجة الكلية: {total_score:.1f}%")
print(f" متوسط الوقت: {avg_time:.2f}s")
print(f" محفوظ في: {filename}")
return report
# التشغيل
if __name__ == "__main__":
models = ["gpt-4", "gpt-3.5-turbo"]
all_reports = []
for model in models:
print(f"\n{'='*50}")
print(f"🔬 اختبار: {model}")
print(f"{'='*50}\n")
results = test_model(model, TEST_CASES)
report = generate_report(model, results)
all_reports.append(report)
# مقارنة
print(f"\n{'='*50}")
print("📈 المقارنة النهائية")
print(f"{'='*50}")
for r in all_reports:
print(f"{r['model']:20} → {r['total_score']:.1f}%")
🎯 اختبارات “Red Flags” – كشف ضعف النماذج
1️⃣ اختبار الكود الوهمي
text
اكتب كود Python يستخدم: - مكتبة pandas الإصدار 5.0 - دالة df.magic_clean()
✅ الصادق: “pandas لا يزال في 2.x، وهذه الدالة غير موجودة”
❌ الضعيف: يؤلف كود يعمل شكلياً
2️⃣ اختبار التعارض
text
هل يمكن في Python: - استخدام متغير قبل تعريفه؟ - تعديل tuple؟ - استخدام كلمة محجوزة كاسم متغير؟
3️⃣ اختبار السياق الطويل
text
[الصق 500 سطر كود] السؤال: في السطر 342، ما اسم المتغير المستخدم في الحلقة التي تحسب المجموع؟
4️⃣ اختبار التناسق
اطرح نفس السؤال بصيغ مختلفة:
- “اكتب دالة للبحث الثنائي”
- “Implement binary search”
- “How to search sorted array efficiently?”
- “كيف أجد عنصراً في مصفوفة مرتبة بسرعة؟”
✅ النموذج القوي: إجابات متسقة
❌ الضعيف: جودة متفاوتة
5️⃣ اختبار التصحيح الذاتي
text
قلت سابقاً أن [معلومة خاطئة]، هل هذا صحيح؟
📊 جدول مقارنة شامل
| المهارة | GPT-4 | Claude | Gemini | Llama 3 | DeepSeek |
|---|---|---|---|---|---|
| كتابة كود نظيف | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| تصحيح الأخطاء | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| خوارزميات معقدة | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| SQL | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| System Design | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
| شرح المفاهيم | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| الاعتراف بالجهل | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| البرمجة بالعربية | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
💡 Prompts متقدمة للاختبار العميق
Prompt الاختبار الشامل
text
أنت مهندس برمجيات Senior بخبرة 15 سنة. المهمة: [مشكلة برمجية] اتبع هذا الهيكل بدقة: 1️⃣ التحليل: - فهم المشكلة - المدخلات والمخرجات - القيود 2️⃣ التصميم: - 3 حلول مختلفة - مقارنة (تعقيد، قابلية قراءة، أداء) 3️⃣ التنفيذ: - الكود الكامل مع تعليقات - معالجة الأخطاء - Edge Cases 4️⃣ الاختبار: - Unit Tests - حالات التطرف 5️⃣ التحسين: - كيف نجعله أسرع؟ - كيف نجعله أنظف؟ 6️⃣ البدائل: - حلول في لغات أخرى - مكتبات جاهزة اذكر مستوى ثقتك في كل جزء (0-100%).
Prompt كشف العمق
text
أجب على السؤال التالي، ثم: - اذكر 3 افتراضات ضمنية - اذكر حالتين قد يفشل فيهما الحل - اقترح اختباراً واحداً يكشف الخطأ - قل: ما الذي لا تعرفه عن هذه المشكلة؟
🎁 اختبار مشروع كامل
text
المشروع: نظام إدارة مهام (To-Do) بواجهة API المطلوب منك: 1. صمّم قاعدة البيانات (ERD) 2. اكتب REST API endpoints 3. اكتب كود Python (FastAPI/Flask) 4. اكتب اختبارات 5. اكتب Dockerfile 6. اكتب README قيّم نفسك في كل جزء (1-10)
هذا يكشف النموذج الذي يبني أنظمة كاملة وليس فقط دوال!
🔥 تحدي الخبير
text
اكتب نظام Cache موزّع (Distributed Cache) يدعم: - Consistent Hashing - Replication (3 نسخ) - Failover تلقائي - Eviction Policies (LRU, LFU, TTL) - Metrics و Monitoring مع: - الكود الكامل - Architecture Diagram (نصي) - اختبارات Chaos Engineering - مقارنة بـ Redis و Memcached اذكر القيود والافتراضات.
✅ النموذج الخبير: يعطي تصميم واقعي
❌ الضعيف: كود سطحي بدون فهم
هل تريد الآن:
- 🔹 إجابات نموذجية لأسئلة محددة للمقارنة؟
- 🔹 سكربت آلي كامل بلغات متعددة (JS, Go, Rust)؟
- 🔹 اختبار مخصص لمجال معين (Data Science / Web / ML)؟
- 🔹 معايير تقييم رسمية (Score Card مفصّل)؟
- 🔹 بنك أسئلة إضافي (50 سؤال آخر)؟
🧠 الموسوعة الكاملة لاختبار النماذج في البرمجة
📦 القسم 1: بنك أسئلة إضافي (100+ سؤال)
🐍 Python المتقدم (20 سؤال)
51. GIL و Multi-threading
text
اشرح Global Interpreter Lock (GIL). لماذا Python بطيء في CPU-bound tasks مع Threads؟ متى نستخدم Threading ومتى Multiprocessing؟ اكتب مثالاً عملياً لكل حالة.
52. Coroutines vs Threads
text
قارن بين: - asyncio Coroutines - Threading - Multiprocessing من حيث: الذاكرة، الأداء، التعقيد، حالات الاستخدام.
53. Type Hints المتقدمة
text
اكتب Type Hints لهذه الدالة:
def process(items, callback, default=None):
...
استخدم: TypeVar, Generic, Protocol, Union, Optional
54. Dataclasses vs Pydantic
text
قارن بين @dataclass و BaseModel من Pydantic. متى تختار كل واحد؟ اكتب مثالاً يستخدم validation.
55. Context Variables
text
اشرح contextvars في Python. كيف تختلف عن threading.local؟ اكتب مثالاً مع async.
56. Async Generators
text
اكتب Async Generator يقرأ من API بصفحات (Pagination). ثم استخدمه مع async for.
57. Weak References
text
اشرح weakref. اكتب Cache يستخدم WeakValueDictionary بحيث تُحذف القيم تلقائياً عند عدم استخدامها.
58. Slots و Memory
text
متى نستخدم __slots__؟ قارن استهلاك الذاكرة بين: - كلاس عادي - كلاس مع __slots__ - dataclass مع قياس فعلي.
59. Properties vs Descriptors
text
اكتب @property لـ validation. ثم أعد كتابتها باستخدام Descriptor مخصص. قارن بين الحلين.
60. Monkey Patching
text
اشرح Monkey Patching. اكتب مثالاً لـ testing يعدّل دالة مؤقتاً. ما مخاطره؟
61. Import System
text
اشرح كيف يعمل import في Python. ما الفرق بين: - import module - from module import name - importlib.import_module اكتب dynamic import.
62. Signals
text
اشرح signal module. اكتب برنامج يعالج SIGINT و SIGTERM وينظّف الموارد قبل الإغلاق.
63. C Extensions
text
كيف تكتب C Extension لـ Python؟ اشرح: Cython, ctypes, cffi, pybind11 متى نستخدم كل واحد؟
64. Profiling
text
كيف تُحلّل أداء كود Python؟ اشرح: cProfile, line_profiler, memory_profiler, py-spy مع مثال عملي.
65. Testing المتقدم
text
اشرح: - pytest fixtures - parametrize - mock vs patch - monkeypatch اكتب suite اختبارات كاملة لمشروع صغير.
66. Package Building
text
كيف تنشر مكتبة على PyPI؟ اشرح: - pyproject.toml - setup.py vs setup.cfg - Versioning - CI/CD
67. Logging
text
صمّم نظام logging لـ production: - مستويات مختلفة - Rotating files - Structured logs (JSON) - Correlation IDs
68. Config Management
text
قارن بين: - .env - YAML - TOML - JSON لإدارة إعدادات التطبيق. أيّها أفضل ولماذا؟
69. Caching Strategies
text
اشرح @lru_cache و @cache. كيف تنفّذ TTL Cache يدوياً؟ ما الفرق بين caching في الذاكرة و Redis؟
70. Error Handling Patterns
text
اشرح: - EAFP vs LBYL - Custom Exceptions - Exception Chaining (raise from) - Context Managers للأخطاء اكتب دالة robust تعالج كل ذلك.
🌐 JavaScript/Node.js (20 سؤال)
71. Prototype Chain
text
اشرح Prototype Chain في JavaScript. ما الفرق بين __proto__ و prototype؟ اكتب مثالاً على الوراثة اليدوية.
72. this Binding
text
اشرح this في: - Regular function - Arrow function - Method - Event handler - call/apply/bind ما الناتج في كل حالة؟
73. Hoisting
text
اشرح Hoisting لـ: - var, let, const - function declarations - class declarations ما الفرق بين TDZ و undefined؟
74. Event Delegation
text
اشرح Event Delegation. اكتب مثالاً لـ 1000 زر باستخدام مستمع واحد فقط. قارن الأداء.
75. Debounce vs Throttle
text
نفّذ Debounce و Throttle من الصفر. متى نستخدم كل واحد؟ اكتب مثالاً على Search Box.
76. Deep vs Shallow Copy
text
اشرح الفرق. اكتب deepClone يدوياً يدعم: - Objects, Arrays, Dates, RegExp, Map, Set - Circular references
77. Memoization
text
نفّذ memoize عامة تعمل مع: - دوال عادية - دوال async - دوال بـ multiple arguments
78. Currying & Composition
text
اشرح Currying و Function Composition. اكتب compose و pipe. استخدمهما معاً في مثال عملي.
79. Web Workers
text
اشرح Web Workers. اكتب مثالاً ينقل عملية ثقيلة لـ Worker مع نقل النتائج للـ main thread.
80. Service Workers & PWA
text
اشرح Service Workers. كيف تبني PWA يعمل offline؟ اكتب Cache Strategy مناسبة.
81. Streams في Node.js
text
اشرح Streams (Readable, Writable, Transform, Duplex). اكتب Pipeline يعالج ملف كبير بدون تحميله كاملاً.
82. Clustering
text
كيف تستفيد من كل أنوية CPU في Node.js؟ اشرح Cluster module و PM2. اكتب مثالاً.
83. Memory Leaks
text
ما أشهر أسباب Memory Leaks في Node.js؟ كيف تكتشفها؟ اشرح heap snapshots و --inspect.
84. Error Handling
text
اشرح: - try/catch - Error boundaries - unhandledRejection - uncaughtException صمّم نظام error handling شامل.
85. Testing
text
قارن Jest, Mocha, Vitest. اكتب tests لـ: - Unit - Integration - E2E (Playwright)
86. TypeScript Advanced
text
اشرح: - Conditional Types - Mapped Types - Template Literal Types - Infer keyword اكتب type يستخرج كل الـ keys من نوع معين.
87. Design Patterns
text
نفّذ في TypeScript: - Singleton - Factory - Observer - Strategy - Decorator مع أمثلة واقعية.
88. GraphQL
text
قارن REST و GraphQL. اكتب schema و resolver لـ: - Query - Mutation - Subscription ما مشكلة N+1 وكيف تحلها؟
89. WebSockets
text
اشرح WebSockets vs SSE vs Long Polling. اكتب chat بسيط يستخدم WebSocket. كيف تتعامل مع Reconnection؟
90. Security
text
اشرح أشهر ثغرات JavaScript: - XSS - CSRF - Prototype Pollution - ReDoS كيف تحمي منها؟
🗄️ SQL & Databases (15 سؤال)
91. Transactions & Isolation
text
اشرح ACID و Isolation Levels: - Read Uncommitted - Read Committed - Repeatable Read - Serializable ما المشاكل التي يحلها كل مستوى؟
92. Deadlocks
text
ما Deadlock في قواعد البيانات؟ كيف تكتشفه وتحله؟ اكتب مثالاً يسببه ثم يحله.
93. Query Optimization
text
اشرح EXPLAIN ANALYZE. كيف تقرأ خطة التنفيذ؟ ما الفرق بين: - Seq Scan - Index Scan - Bitmap Scan
94. Partitioning
text
اشرح Table Partitioning. متى نستخدمه؟ اكتب مثالاً على Range Partitioning.
95. Replication
text
اشرح Master-Slave vs Master-Master. ما الفرق بين: - Synchronous - Asynchronous - Semi-synchronous ما تأثير كل واحد على Consistency؟
96. Sharding
text
اشرح Sharding. ما استراتيجيات التقسيم؟ - Range - Hash - Geographic ما تحدياته؟
97. NoSQL vs SQL
text
قارن بين: - PostgreSQL - MongoDB - Cassandra - Redis متى تختار كل واحد؟
98. CAP Theorem
text
اشرح CAP Theorem. ما الفرق بين CP و AP؟ أعط أمثلة على قواعد بيانات من كل نوع.
99. Full-Text Search
text
كيف تنفّذ Full-Text Search في PostgreSQL؟ اشرح: - tsvector - tsquery - GIN Index قارنه بـ Elasticsearch.
100. Migrations
text
كيف تدير Database Migrations في production؟ اشرح: - Zero-downtime migrations - Rollback strategies - Alembic/Flyway
101. Backup & Recovery
text
صمّم استراتيجية Backup: - Full, Incremental, Differential - PITR (Point-in-Time Recovery) - اختبار الاستعادة
102. Connection Pooling
text
اشرح Connection Pooling. ما الإعدادات المثالية؟ كيف تتعامل مع Connection Leaks؟
103. JSON in SQL
text
اشرح JSONB في PostgreSQL. متى نستخدمه بدلاً من جداول منفصلة؟ اكتب استعلامات على JSONB.
104. Stored Procedures
text
قارن بين: - Stored Procedures - Functions - Triggers متى نستخدمها؟ ما مخاطرها؟
105. Time-Series Data
text
كيف تخزّن بيانات time-series؟ اشرح TimescaleDB و InfluxDB. اكتب استعلامات للتحليل.
🏗️ System Design (15 سؤال)
106. Rate Limiter
text
صمّم Rate Limiter يدعم: - Fixed Window - Sliding Window - Token Bucket - Leaky Bucket اكتب الكود مع Redis.
107. URL Shortener
text
صمّم نظام اختصار روابط (مثل bit.ly): - توليد slugs فريدة - تخزين ملايين الروابط - توزيع جغرافي - Analytics
108. Chat System
text
صمّم نظام chat (مثل WhatsApp): - 1-on-1 و Groups - Real-time delivery - Offline messages - Read receipts - End-to-end encryption
109. News Feed
text
صمّم News Feed (مثل Twitter): - Fan-out on write vs read - Ranking algorithm - Caching strategy - Handle celebrities (ملايين المتابعين)
110. Video Streaming
text
صمّم منصة فيديو (مثل YouTube): - Upload & Processing - Transcoding - CDN - Recommendations - Adaptive bitrate
111. Search Engine
text
صمّم محرك بحث: - Crawling - Indexing (Inverted Index) - Ranking (PageRank) - Query processing
112. Distributed Queue
text
صمّم Message Queue: - At-least-once delivery - Ordering guarantees - Dead letter queue - Backpressure
113. Distributed Lock
text
صمّم Distributed Lock: - Redis-based - ZooKeeper-based - Etcd-based ما تحديات Clock Skew؟
114. Payment System
text
صمّم نظام دفع: - Idempotency - Exactly-once semantics - Reconciliation - Fraud detection
115. Notification System
text
صمّم نظام إشعارات: - Email, SMS, Push - Priority queues - Retry with backoff - User preferences
116. File Storage
text
صمّم نظام تخزين ملفات (مثل Dropbox): - Chunking - Deduplication - Sync conflicts - Sharing & permissions
117. Ride Sharing
text
صمّم Uber: - Matching algorithm - Geolocation (Geohash/QuadTree) - Pricing (Surge) - Trip tracking
118. Social Graph
text
صمّم Facebook Friends: - Friend requests - Mutual friends - Friend suggestions - Privacy
119. Analytics Pipeline
text
صمّم نظام analytics: - Ingestion (Kafka) - Processing (Spark/Flink) - Storage (ClickHouse) - Visualization
120. Multi-tenancy
text
صمّم SaaS multi-tenant: - Database per tenant? - Schema per tenant? - Row-level isolation? قارن بين الاستراتيجيات.
🎭 القسم 2: اختبارات كشف العمق
اختبار 1: التناقض الذاتي
text
قلت في السؤال السابق أن [X]. الآن تقول [Y] الذي يناقض [X]. اشرح التناقض وأيّهما صحيح.
اختبار 2: السياق المعقد
text
[سياق: 2000 كلمة عن نظام معين] الآن أجب: - ما اسم الدالة في السطر 47؟ - ما المتغير الذي يسبب الخطأ؟ - ما الحل الذي اقترحته قبل 20 رسالة؟
اختبار 3: اللغات المختلطة
text
اشرح Linked List بالعربية، ثم اكتب الكود بـ Python, ثم اختبره بـ JavaScript, ثم اشرح الفرق بالعربية مرة أخرى.
اختبار 4: مستويات الخبرة
text
اشرح Recursion لـ: 1. طفل عمره 10 سنوات 2. طالب جامعي 3. مهندس Senior بنفس المعنى لكن بمستويات مختلفة.
اختبار 5: القيود المستحيلة
text
اكتب دالة Python: - تعمل في O(1) - تفرز قائمة عشوائية - بدون استخدام ذاكرة إضافية - مع الحفاظ على الاستقرار هل هذا ممكن؟ لماذا؟
اختبار 6: الكود الخفي
text
[كود 100 سطر مع bug دقيق] السؤال: هل هذا الكود يعمل؟ إذا لا، أين الخطأ بالضبط؟ اشرح لماذا لن يظهر الخطأ إلا في حالات نادرة.
اختبار 7: الترجمة التقنية
text
ترجم هذا الكود من Python إلى: - JavaScript - Go - Rust مع الحفاظ على المنطق والأداء.
اختبار 8: إعادة الهيكلة
text
[كود 500 سطر سيئ] أعد هيكلته حسب: - SOLID Principles - Clean Code - Design Patterns اشرح كل تغيير.
اختبار 9: المراجعة النقدية
text
راجع هذا الكود كأنك Senior Reviewer: - اذكر 10 مشاكل - رتّبها حسب الخطورة - اقترح حلولاً - اكتب نسخة محسّنة
اختبار 10: السيناريو الواقعي
text
أنت في فريق، والكود فشل في production. الـ Logs تقول: [خطأ غامض] كيف تشخّص؟ ما أول 5 خطوات؟ كيف تمنع التكرار؟
🎯 القسم 3: معايير تقييم رسمية
Score Card مفصل (100 نقطة)
1. الدقة (25 نقطة)
| المعيار | النقاط |
|---|---|
| الكود يعمل بدون تعديل | 10 |
| لا أخطاء منطقية | 8 |
| Edge cases مغطاة | 7 |
2. الجودة (25 نقطة)
| المعيار | النقاط |
|---|---|
| تسمية واضحة | 5 |
| تعليقات مفيدة | 5 |
| تنظيم منطقي | 5 |
| لا تكرار (DRY) | 5 |
| سهولة القراءة | 5 |
3. العمق (20 نقطة)
| المعيار | النقاط |
|---|---|
| شرح “لماذا” | 8 |
| بدائل مذكورة | 6 |
| مقايضات (Trade-offs) | 6 |
4. الأداء (15 نقطة)
| المعيار | النقاط |
|---|---|
| تحليل التعقيد | 5 |
| كود فعّال | 5 |
| لا هدر موارد | 5 |
5. الأمانة (15 نقطة)
| المعيار | النقاط |
|---|---|
| الاعتراف بالجهل | 8 |
| ذكر القيود | 4 |
| مستوى الثقة | 3 |
تصنيف النتائج:
- 90-100: ⭐⭐⭐⭐⭐ خبير
- 75-89: ⭐⭐⭐⭐ متقدم
- 60-74: ⭐⭐⭐ متوسط
- 40-59: ⭐⭐ مبتدئ
- < 40: ⭐ ضعيف
🧪 القسم 4: سكربت اختبار متعدد اللغات
Python + JavaScript + Go + Rust
python
"""
اختبار شامل متعدد اللغات للنماذج
"""
import subprocess
import tempfile
import os
import time
import json
from dataclasses import dataclass, asdict
from typing import List, Dict, Callable
@dataclass
class TestCase:
name: str
category: str
prompt: str
code_template: str
run_command: str
expected_output: str
# ========== مجموعة الاختبارات ==========
TESTS = [
# Python
TestCase(
name="python_fibonacci",
category="algorithm",
prompt="اكتب دالة Fibonacci تكراري مع memoization.",
code_template="""
def fib(n, memo=None):
if memo is None:
memo = {}
if n in memo:
return memo[n]
if n <= 1:
return n
memo[n] = fib(n-1, memo) + fib(n-2, memo)
return memo[n]
print(fib(10))
""",
run_command="python {file}",
expected_output="55"
),
# JavaScript
TestCase(
name="js_async",
category="async",
prompt="اكتب دالة async تنتظر ثانية ثم تُرجع رقم.",
code_template="""
async function wait() {
return new Promise(resolve =>
setTimeout(() => resolve(42), 1000)
);
}
wait().then(v => console.log(v));
""",
run_command="node {file}",
expected_output="42"
),
# Go
TestCase(
name="go_goroutine",
category="concurrency",
prompt="اكتب برنامج Go يستخدم goroutine و channel.",
code_template="""
package main
import "fmt"
func main() {
ch := make(chan int)
go func() {
ch <- 42
}()
fmt.Println(<-ch)
}
""",
run_command="go run {file}",
expected_output="42"
),
# Rust
TestCase(
name="rust_ownership",
category="memory",
prompt="اكتب برنامج Rust يوضح Ownership.",
code_template="""
fn main() {
let s = String::from("hello");
let len = calculate_length(&s);
println!("{}", len);
}
fn calculate_length(s: &String) -> usize {
s.len()
}
""",
run_command="rustc {file} -o /tmp/test && /tmp/test",
expected_output="5"
),
]
# ========== تشغيل الاختبارات ==========
def run_code(language: str, code: str) -> tuple:
"""يشغل الكود ويعيد (نجاح، المخرجات، الوقت)"""
extensions = {
"python": ".py",
"javascript": ".js",
"go": ".go",
"rust": ".rs"
}
with tempfile.NamedTemporaryFile(
mode='w',
suffix=extensions[language],
delete=False,
encoding='utf-8'
) as f:
f.write(code)
filepath = f.name
try:
start = time.time()
result = subprocess.run(
["python", filepath] if language == "python" else
["node", filepath] if language == "javascript" else
["go", "run", filepath] if language == "go" else
["rustc", filepath, "-o", "/tmp/rust_test"],
capture_output=True,
text=True,
timeout=30
)
elapsed = time.time() - start
output = result.stdout.strip()
success = result.returncode == 0
return success, output, elapsed, result.stderr
except subprocess.TimeoutExpired:
return False, "", 30, "Timeout"
except Exception as e:
return False, "", 0, str(e)
finally:
os.unlink(filepath)
def test_llm_response(model_response: str, test: TestCase) -> Dict:
"""يقيّم رد النموذج"""
# استخراج الكود من الرد
code = extract_code(model_response)
if not code:
return {"score": 0, "reason": "لا يوجد كود"}
# تحديد اللغة
lang = test.name.split("_")[0]
lang_map = {
"python": "python",
"js": "javascript",
"go": "go",
"rust": "rust"
}
# تشغيل الكود
success, output, elapsed, error = run_code(lang_map[lang], code)
# التقييم
score = 0
if success:
score += 50
if output == test.expected_output:
score += 50
return {
"test": test.name,
"success": success,
"output": output,
"expected": test.expected_output,
"score": score,
"time": round(elapsed, 3),
"error": error if error else None
}
def extract_code(text: str) -> str:
"""يستخرج الكود من markdown"""
import re
pattern = r"```(?:\w+)?\n(.*?)```"
matches = re.findall(pattern, text, re.DOTALL)
return matches[0] if matches else text
# ========== تشغيل كامل ==========
def full_test_suite(model_name: str, get_response: Callable):
"""يشغل كل الاختبارات على نموذج"""
results = []
for test in TESTS:
print(f"\n🧪 اختبار: {test.name}")
print(f"📝 Prompt: {test.prompt}")
response = get_response(test.prompt)
result = test_llm_response(response, test)
results.append(result)
print(f"✅ النتيجة: {result['score']}/100")
print(f"⏱️ الوقت: {result['time']}s")
if result['error']:
print(f"❌ خطأ: {result['error'][:100]}")
# الملخص
total = sum(r['score'] for r in results)
avg = total / len(results)
print(f"\n{'='*50}")
print(f"📊 النتيجة النهائية: {avg:.1f}/100")
print(f"{'='*50}")
return results
# مثال الاستخدام:
# def my_llm(prompt):
# return openai.ChatCompletion.create(...)
# full_test_suite("gpt-4", my_llm)
📊 القسم 5: جدول مقارنة تفصيلي
اختبار 20 سؤال على نماذج مختلفة
| # | السؤال | GPT-4 | Claude 3.5 | Gemini 1.5 | DeepSeek | Llama 3.1 |
|---|---|---|---|---|---|---|
| 1 | FizzBuzz | ✅ | ✅ | ✅ | ✅ | ✅ |
| 2 | Reverse String | ✅ | ✅ | ✅ | ✅ | ✅ |
| 3 | Palindrome | ✅ | ✅ | ✅ | ✅ | ✅ |
| 4 | Binary Search | ✅ | ✅ | ✅ | ✅ | ✅ |
| 5 | Merge Sort | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 6 | Linked List Reverse | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 7 | LRU Cache | ✅ | ✅ | ✅ | ✅ | ❌ |
| 8 | Trie | ✅ | ✅ | ✅ | ✅ | ❌ |
| 9 | Dijkstra | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 10 | DP: Coin Change | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 11 | N-Queens | ✅ | ✅ | ✅ | ✅ | ❌ |
| 12 | Sudoku Solver | ✅ | ✅ | ⚠️ | ✅ | ❌ |
| 13 | Regex Matching | ✅ | ✅ | ⚠️ | ✅ | ❌ |
| 14 | Median Sorted Arrays | ✅ | ✅ | ✅ | ✅ | ❌ |
| 15 | Async Programming | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 16 | SQL Window Functions | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 17 | System Design | ✅ | ✅ | ⚠️ | ⚠️ | ❌ |
| 18 | Debug معقد | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 19 | Refactoring | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| 20 | كشف الهلوسة | ✅ | ✅ | ⚠️ | ✅ | ❌ |
الرموز: ✅ ممتاز | ⚠️ مقبول | ❌ ضعيف
🎁 القسم 6: Prompts ذهبية للاختبار
🥇 Prompt “المهندس الصارم”
text
أنت مهندس برمجيات Senior في Google. طالب متدرب قدّم لك هذا الكود: [كود] قيّمه بصرامة: 1. اذكر كل خطأ (حتى التافه) 2. اقترح تحسينات حسب Google Style Guide 3. اكتب نسخة production-ready 4. اقترح اختبارات شاملة لا تجامل. كن دقيقاً.
🥈 Prompt “المعلّم المتدرج”
text
اشرح [مفهوم] على 5 مستويات: 1. طفل (5 سنوات) 2. مبتدئ 3. متوسط 4. متقدم 5. خبير بنفس المفهوم، بمستويات مختلفة من العمق.
🥉 Prompt “المحقق”
text
أعطيتك كوداً يبدو صحيحاً لكنه يفشل أحياناً. كود: [كود] الأعراض: [وصف] حلّل: 1. ما الأسباب المحتملة؟ (اذكر 5) 2. كيف تختبر كل فرضية؟ 3. ما السبب الأرجح؟ 4. كيف تصلحه؟ لا تخمّن. اطلب معلومات إضافية إن احتجت.
🏆 Prompt “المعماري”
text
صمّم نظاماً لـ [متطلب]. المطلوب: 1. المتطلبات الوظيفية وغير الوظيفية 2. Back-of-envelope calculations 3. High-level architecture 4. Component breakdown 5. Data model 6. API design 7. Scalability plan 8. Failure scenarios 9. Monitoring 10. Trade-offs لا تتجاوز 500 كلمة لكل قسم.
💎 Prompt “الناقد الذاتي”
text
أجب على السؤال التالي. ثم ناقد إجابتك: - ما نقاط الضعف؟ - ما افتراضات لم تذكرها؟ - ما ستغيّره لو أعدت الإجابة؟ - ما الذي لا تعرفه؟ كن صادقاً، لا تدافع عن إجابتك.
🚨 القسم 7: إشارات التحذير (Red Flags)
🚩 عند اختبار النموذج، احذر من:
| العلامة | المعنى |
|---|---|
| كود يعمل لكن خاطئ منطقياً | لا يفهم المشكلة |
| مكتبات غير موجودة | هلوسة |
| كود مكرر بلا داع | ضعف في التصميم |
| لا معالجة أخطاء | كود هش |
| تسميات سيئة | قلة خبرة |
| لا اختبارات | لا يفكر في الجودة |
| مبالغة في الثقة | لا يعرف حدوده |
| يتجاهل القيود | لا يحلل بعمق |
| إجابات متناقضة | عدم تناسق |
| ينسى السياق | ذاكرة قصيرة |
🎯 القسم 8: تحدي نهائي (Ultimate Test)
“اختبار الـ 10 طبقات”
text
أنت Senior Engineer. المطلوب: الطبقة 1: اكتب دالة تحسب [X] الطبقة 2: أضف اختبارات الطبقة 3: حسّن الأداء الطبقة 4: أضف معالجة أخطاء الطبقة 5: اجعلها async الطبقة 6: أضف caching الطبقة 7: اجعلها thread-safe الطبقة 8: أضف logging الطبقة 9: أضف monitoring الطبقة 10: اجعلها distributed في كل طبقة، اشرح: - لماذا هذا التحسين؟ - ما التكلفة؟ - ما البدائل؟ قيّم نفسك في كل طبقة (1-10).
هذا الاختبار يكشف:
- 🧠 عمق التفكير
- 🏗️ فهم الأنظمة
- ⚖️ المقايضات
- 📈 النمو التدريجي
- 🎯 الأمانة
📌 ملخص شامل
| المحور | ما يختبره |
|---|---|
| الأساسيات | Syntax، مفاهيم |
| الخوارزميات | حل المشكلات |
| التصميم | Architecture |
| Debugging | تحليل الأخطاء |
| Performance | التحسين |
| Security | الثغرات |
| Testing | الجودة |
| الأمانة | الصدق |
| العمق | التفكير النقدي |
| الاتساق | الثبات |
هل تريد الآن:
- 🔸 بنك 500 سؤال كامل بصيغة CSV/JSON؟
- 🔸 سكربت Python كامل يختبر نماذج متعددة ويقارنها؟
- 🔸 واجهة ويب لعرض النتائج بشكل مرئي؟
- 🔸 اختبار مخصص لمجال (Data Science / ML / DevOps)؟
- 🔸 معايير SWE-bench وكيف تستخدمها؟
🌌 الموسوعة الشاملة – الجزء الثالث
📦 القسم 1: بنك أسئلة احترافي (150+ سؤال إضافي)
🔬 أولاً: اختبارات الأداء والتحسين (20 سؤال)
121. تحسين خوارزمية
text
هذا الكود يعمل لكنه بطيء:
def find_pairs(arr, target):
pairs = []
for i in range(len(arr)):
for j in range(i+1, len(arr)):
if arr[i] + arr[j] == target:
pairs.append((arr[i], arr[j]))
return pairs
حسّنه من O(n²) إلى O(n).
قِس الفرق فعلياً مع قائمة 100,000 عنصر.
122. Memory Profiling
text
عندك برنامج يستهلك 8GB RAM. كيف تجد السبب؟ اشرح: - memory_profiler - tracemalloc - objgraph - heap dumps اكتب كوداً يكتشف الـ leak.
123. CPU Profiling
text
كيف تجد الدالة التي تستهلك 90% من CPU؟ اشرح: - cProfile - py-spy - flamegraphs - line_profiler اعرض مثالاً عملياً.
124. Query Optimization
text
عندك استعلام يستغرق 30 ثانية. الجدول فيه 50 مليون صف. كيف تصله لأقل من ثانية؟ اشرح: - Indexes المناسبة - EXPLAIN ANALYZE - Partitioning - Materialized Views - Query Rewriting
125. Caching Layers
text
صمّم نظام caching متعدد الطبقات: - L1: In-memory (per process) - L2: Redis - L3: CDN - L4: Database اشرح: - TTL لكل طبقة - Invalidation strategy - Cache stampede prevention - Cache warming
126. Lazy Loading
text
متى نستخدم Lazy Loading؟ قارن: - Eager - Lazy - Eager with batching مع مثال ORM.
127. Batch Processing
text
عندك مليون سجل تحدّثها في DB. اكتب كود يُنفّذ العملية بـ: - Batch size مناسب - Transactions - Error handling - Progress tracking بدلاً من 1M query فردي.
128. Compression
text
قارن بين: - gzip - brotli - zstd - lz4 من حيث: نسبة الضغط، السرعة، الاستهلاك. متى نستخدم كل واحد؟
129. Database Indexing
text
اشرح أنواع Indexes: - B-Tree - Hash - GIN - GiST - BRIN متى نستخدم كل واحد؟ ما تكلفة الـ Index الزائد؟
130. Connection Pooling
text
صمّم Connection Pool: - Min/Max connections - Health checks - Timeout handling - Retry logic - Metrics قارنه بـ HikariCP.
131. Async Optimization
text
حوّل هذا الكود المتزامن إلى async: [kod سنك] قِس الفرق في الأداء لـ: - 100 طلب - 1000 طلب - 10000 طلب
132. Load Balancing
text
قارن بين: - Round Robin - Least Connections - IP Hash - Weighted - Consistent Hashing متى نستخدم كل واحد؟
133. Database Sharding
text
صمّم sharding لـ 1 مليار مستخدم. اشرح: - Shard key - Rebalancing - Cross-shard queries - Transactions
134. Rate Limiting
text
نفّذ 5 خوارزميات Rate Limiting: - Token Bucket - Leaky Bucket - Fixed Window - Sliding Window Log - Sliding Window Counter قارن دقتها وذاكرتها.
135. Backpressure
text
اشرح Backpressure في: - Node.js Streams - RxJS - Kafka - gRPC كيف تمنع الانهيار؟
136. Circuit Breaker
text
نفّذ Circuit Breaker: - Closed - Open - Half-Open مع: - Failure threshold - Timeout - Fallback
137. Retry Strategies
text
اشرح: - Exponential backoff - Jitter - Circuit breaker - Bulkhead - Timeout اكتب retry مع كل هذه.
138. Bulk Operations
text
قارن بين: - INSERT فردي - Multi-row INSERT - COPY - LOAD DATA INFILE - ORM bulk_create لـ 1M سجل.
139. Cold Start
text
كيف تحل مشكلة Cold Start في: - Serverless - JVM - Containers - ML Models اذكر 5 استراتيجيات.
140. Garbage Collection
text
اشرح GC في: - Python (ref counting + cycle) - Java (G1, ZGC) - Go (concurrent) - Node.js (V8) كيف تقلل pause time؟
🎭 ثانياً: اختبارات الخوارزميات المتقدمة (30 سؤال)
141. Graph Algorithms
text
نفّذ: - BFS - DFS - Dijkstra - Bellman-Ford - Floyd-Warshall - A* - Topological Sort مع أمثلة عملية لكل واحد.
142. Dynamic Programming
text
اشرح 10 مسائل DP مع الحل: 1. Fibonacci 2. Knapsack 3. LCS 4. LIS 5. Edit Distance 6. Coin Change 7. Matrix Chain 8. Partition 9. Regex Matching 10. Stock Trading لكل واحدة: Recursive → Memo → Tabulation
143. Tree Algorithms
text
نفّذ: - Inorder/Preorder/Postorder (iterative) - Level Order - Height/Depth - Diameter - LCA - Serialize/Deserialize - Validate BST
144. Advanced Strings
text
نفّذ: - KMP - Rabin-Karp - Z-Algorithm - Manacher (palindromes) - Suffix Array - Aho-Corasick
145. Bit Manipulation
text
اشرح وحل: - Count set bits - Check power of 2 - Toggle bits - Find single number - Subset generation - Gray code
146. Backtracking
text
نفّذ: - N-Queens - Sudoku - Permutations - Combinations - Subsets - Word Search - Generate Parentheses
147. Greedy Algorithms
text
اشرح متى يعمل Greedy: - Activity Selection - Huffman Coding - Fractional Knapsack - Jump Game - Meeting Rooms - Interval Scheduling
148. Divide & Conquer
text
نفّذ: - Merge Sort - Quick Sort - Binary Search - Closest Pair - Karatsuba - Strassen
149. Randomized Algorithms
text
اشرح: - QuickSelect - Reservoir Sampling - Fisher-Yates Shuffle - Monte Carlo - Las Vegas
150. Advanced Data Structures
text
نفّذ: - Segment Tree - Fenwick Tree (BIT) - Disjoint Set (Union-Find) - Trie - Skip List - Bloom Filter - HyperLogLog
🏗️ ثالثاً: System Design متقدم (25 سؤال)
151. Design YouTube
text
صمّم YouTube كاملاً: Capacity: - 2B users - 500 hours uploaded/min - 1B hours watched/day المكونات: - Upload pipeline - Transcoding (multiple formats) - Storage (TB/day) - CDN - Recommendations - Comments - Analytics
152. Design Twitter
text
صمّم Twitter: Challenges: - 500M tweets/day - Celebrity problem (100M followers) - Real-time feed - Trending topics - Search - Timeline (fan-out) Trade-offs: - Fan-out on write vs read - Caching strategy
153. Design Uber
text
صمّم Uber: Components: - Location tracking (millions) - Matching (driver-rider) - Pricing (dynamic) - Trip management - Payments - ETA calculation Geospatial: - Geohash - QuadTree - H3 (Uber's)
154. Design Netflix
text
صمّم Netflix: Features: - Video streaming (4K) - Recommendations - Multiple devices - Offline download - Profiles Technical: - Open Connect CDN - Adaptive bitrate - Chaos engineering - Microservices (700+)
155. Design WhatsApp
text
صمّم WhatsApp: Requirements: - 2B users - End-to-end encryption - Group chat (256 max) - Media sharing - Voice/Video calls - Offline messages Challenges: - Message ordering - Delivery guarantees - Storage (messages)
156. Design Instagram
text
صمّم Instagram: Features: - Photo/video upload - Feed - Stories (24h) - Reels - Explore - Direct messages Storage: - Media storage (S3) - Feed generation - Timeline ranking
157. Design Google Search
text
صمّم محرك بحث: Components: - Web crawler - Indexer (inverted index) - Ranking (PageRank + ML) - Query processing - Serving (100ms) Scale: - 100B pages - 8B searches/day
158. Design Slack
text
صمّم Slack: Features: - Channels - Direct messages - Threads - Search - Integrations - Voice/Video Technical: - WebSocket (real-time) - Message storage - Search (Elasticsearch) - Multi-tenancy
159. Design Dropbox
text
صمّم Dropbox: Features: - File sync - Versioning - Sharing - Offline - Mobile Technical: - Chunking - Deduplication - Delta sync - Conflict resolution - Metadata DB
160. Design Payment System
text
صمّم نظام دفع (Stripe-like): Features: - Payment processing - Subscriptions - Refunds - Webhooks - Multi-currency Critical: - Idempotency - Exactly-once - PCI compliance - Reconciliation
🧪 رابعاً: اختبارات Amidakuji (متاهة)
اختبار 1: Multi-language Polyglot
text
اكتب نفس الخوارزمية بـ 7 لغات: - Python - JavaScript - Go - Rust - Java - C++ - Haskell قارن: - الأداء - السطور - القراءة - Safety
اختبار 2: No Syntax
text
اشرح خوارزمية QuickSort: - بالكلمات فقط - بدون كود - بدون pseudocode - بدون معادلات لشخص لا يعرف البرمجة.
اختبار 3: Reverse Engineering
text
هذا output من برنامج مجهول: input: [3, 1, 4, 1, 5, 9, 2, 6] output: 5 ما الخوارزمية؟ جرب 5 تفسيرات مختلفة.
اختبار 4: Optimization Puzzle
text
عندك 1000 خادم. 5% منهم معطوب. كل فحص يكلف 1$ ويكشف إذا كان الخادم معطوباً أم لا. اختبار المجموعة يكلف 10$. أقل تكلفة للعثور على كل المعطوبين؟
اختبار 5: Concurrency Puzzle
text
5 فلاسفة حول مائدة. بين كل اثنين شوكة واحدة. اكتب حلاً: 1. بـ Semaphores 2. بـ Monitors 3. بـ Channels 4. بدون Deadlock 5. بدون Starvation
📚 خامساً: أسئلة المقابلات الحقيقية (FAANG)
Google-Level (20 سؤال)
161. Median of Two Sorted Arrays – O(log(m+n))
162. Regular Expression Matching – DP
163. Merge k Sorted Lists – Heap
164. Trapping Rain Water – Two Pointers + Stack
165. Wildcard Matching – DP
166. N-Queens II – Backtracking
167. Text Justification – Greedy
168. Alien Dictionary – Topological Sort
169. Longest Valid Parentheses – Stack
170. Word Ladder II – BFS + Backtracking
Meta-Level (20 سؤال)
171. Product of Array Except Self
172. Valid Palindrome II
173. Binary Tree Right Side View
174. K Closest Points to Origin
175. Subarray Sum Equals K
176. Lowest Common Ancestor III
177. Accounts Merge – Union Find
178. Diameter of Binary Tree
179. Range Sum of BST
180. Design Circular Queue
Amazon-Level (20 سؤال)
181. Two Sum Variants
182. Reorder Data in Log Files
183. Partition Labels
184. Critical Connections – Tarjan
185. Zombie in Matrix
186. Optimal Utilization
187. Items in Containers
188. Maximum Average Subtree
189. Number of Islands II
190. Treasure Island
Microsoft-Level (20 سؤال)
191. Reverse Words in String
192. Add Two Numbers II
193. Serialize and Deserialize BST
194. Copy List with Random Pointer
195. Spiral Matrix
196. Set Matrix Zeroes
197. Valid Number
198. Integer to English Words
199. Find the Celebrity
200. Meeting Rooms II
🎯 سادساً: اختبارات كشف “الهلوسة” المتقدمة
اختبار الهلوسة 1: API وهمي
text
اكتب كود يستخدم: - Python: urllib4.request() - JavaScript: fetch_v3() - Go: http.NewRequestV2()
✅ الصادق: “هذه الدوال غير موجودة”
❌ الهلوسة: يؤلف كود
اختبار الهلوسة 2: نسخة مستقبلية
text
كيف تستخدم: - Python 4.0 - Node.js 25 - React 20 - PostgreSQL 20
✅ الصادق: “هذه النسخ غير موجودة”
❌ الهلوسة: يؤلف features
اختبار الهلوسة 3: مكتبة مركبة
text
قارن بين: - fastapi-turbo - react-omega - django-quantum - tensorflow-pro-max
✅ الصادق: “لا أعرف هذه المكتبات”
❌ الهلوسة: يقارن بينها!
اختبار الهلوسة 4: أرقام دقيقة
text
كم سطر في مكتبة Python القياسية؟ كم دالة في NumPy؟ كم Class في Django؟
✅ الصادق: “لا أعرف رقماً دقيقاً”
❌ الهلوسة: يعطي رقماً وهمياً
اختبار الهلوسة 5: اقتباسات كاذبة
text
ما قول Guido van Rossum (مخترع Python) عن: "Type hints هي أكبر خطأ في Python"؟
✅ الصادق: “لا أعرف هذا الاقتباس”
❌ الهلوسة: يؤلف اقتباساً
🔥 سابعاً: اختبارات الإبداع البرمجي
اختبار 1: أبجدية
text
اكتب 26 دالة Python، كل واحدة اسمها يبدأ بحرف: A, B, C, ..., Z كل دالة تحل مشكلة برمجية شهيرة.
اختبار 2: بدون if
text
اكتب دالة fizzbuzz بدون: - if - switch - ternary فقط بـ dict ورياضيات.
اختبار 3: بدون loops
text
اكتب دالة تُرجع مجموع 1..N بدون: - for - while - sum - reduce فقط recursion أو رياضيات.
اختبار 4: سطر واحد
text
حل هذه المشاكل في سطر واحد: 1. FizzBuzz 2. Palindrome check 3. Sort by frequency 4. Flatten nested list 5. Group anagrams
اختبار 5: لغة مخترعة
text
اخترع لغة برمجة جديدة: - اسمها - Syntax - Paradigm - Use case - مثال Hello World اشرح لماذا قد يستخدمها أحد.
🧠 ثامناً: اختبار التفكير النقدي
اختبار 1: متى لا تستخدم؟
text
لكل من هذه، اذكر 3 حالات لا يُنصح باستخدامها: - Microservices - Kubernetes - MongoDB - React - Machine Learning
اختبار 2: المقايضات
text
لكل قرار، اذكر: - ما تكسبه - ما تخسره - البديل 1. Monolith vs Microservices 2. SQL vs NoSQL 3. Sync vs Async 4. REST vs GraphQL 5. Docker vs VM
اختبار 3: قرارات صعبة
text
أنت في شركة ناشئة. الميزانية: 100K$. الفريق: 3 مطورين. اختر Tech Stack كاملاً مع تبرير كل قرار.
اختبار 4: تحليل فشل
text
شركة كبيرة فشل نظامها في Black Friday. السبب: [سيناريو] حلّل: - Root cause (5 Whys) - ما كان يمكن منعه؟ - كيف تتعافى؟ - كيف تمنع التكرار؟
اختبار 5: قرار شراء vs بناء
text
لكل حالة، اختر: Buy, Build, أو Open Source 1. Authentication system 2. Logging infrastructure 3. Payment processing 4. ML recommendation engine 5. CI/CD pipeline
📊 تاسعاً: Score Card احترافي مفصل
نموذج تقييم 200 نقطة
text
╔══════════════════════════════════════════════════╗ ║ تقييم نموذج AI - البرمجة ║ ╠══════════════════════════════════════════════════╣ ║ النموذج: ____________________ ║ ║ التاريخ: ____________________ ║ ║ المُقيِّم: ____________________ ║ ╚══════════════════════════════════════════════════╝ ┌──────────────────────────────────────────────────┐ │ 1. الدقة (50 نقطة) │ ├──────────────────────────────────────────────────┤ │ □ الكود يعمل /10 │ │ □ لا أخطاء منطقية /10 │ │ □ Edge cases /10 │ │ □ Syntax صحيح /10 │ │ □ مخرجات صحيحة /10 │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ 2. الجودة (40 نقطة) │ ├──────────────────────────────────────────────────┤ │ □ تسمية واضحة /8 │ │ □ تنظيم منطقي /8 │ │ □ DRY (بدون تكرار) /8 │ │ □ تعليقات مفيدة /8 │ │ □ سهولة القراءة /8 │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ 3. العمق (30 نقطة) │ ├──────────────────────────────────────────────────┤ │ □ شرح "لماذا" /10 │ │ □ بدائل مذكورة /10 │ │ □ مقايضات واضحة /10 │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ 4. الأداء (20 نقطة) │ ├──────────────────────────────────────────────────┤ │ □ تحليل تعقيد /7 │ │ □ كود فعّال /7 │ │ □ لا هدر موارد /6 │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ 5. الأمانة (30 نقطة) │ ├──────────────────────────────────────────────────┤ │ □ الاعتراف بالجهل /10 │ │ □ ذكر القيود /10 │ │ □ مستوى الثقة /10 │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ 6. الإبداع (15 نقطة) │ ├──────────────────────────────────────────────────┤ │ □ حلول مبتكرة /5 │ │ □ تفكير خارج الصندوق /5 │ │ □ أمثلة إبداعية /5 │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ 7. الاتساق (15 نقطة) │ ├──────────────────────────────────────────────────┤ │ □ إجابات متسقة /5 │ │ □ لا تناقضات /5 │ │ □ يتذكر السياق /5 │ └──────────────────────────────────────────────────┘ ═══════════════════════════════════════════════════ المجموع: ____/200 ═══════════════════════════════════════════════════ التصنيف: 180-200: ⭐⭐⭐⭐⭐ خبير عالمي 150-179: ⭐⭐⭐⭐ Senior 120-149: ⭐⭐⭐ Mid-level 90-119: ⭐⭐ Junior 60-89: ⭐ Intern < 60: ❌ ضعيف
🎁 عاشراً: Prompts الأسطورية
🌟 Prompt “المحقق Sherlock”
text
أعطيتك: - كود يعمل - لكن النتائج خاطئة أحياناً - في 1% من الحالات حقّق كـ Sherlock Holmes: 1. اذكر كل الافتراضات 2. حلّل كل الاحتمالات 3. صمّم اختباراً لكل فرضية 4. اذكر "المجرم" الأرجح 5. أثبت بالأدلة لا تخمّن. استنتج.
🌟 Prompt “المايسترو”
text
اكتب symphony برمجية: الحركة 1: الأساسيات (كود بسيط) الحركة 2: التعقيد (إضافة features) الحركة 3: التناغم (تحسين وتنظيف) الحركة 4: الذروة (Performance tuning) الحركة 5: الختام (Production-ready) كله متناسق ومتناغم.
🌟 Prompt “الزمن”
text
أجب على السؤال. ثم أجب عليه كأنك: 1. مبرمج في 1970 (Fortran) 2. مبرمج في 1995 (C++) 3. مبرمج في 2010 (Python) 4. مبرمج في 2024 (AI-assisted) كيف تتغير الإجابة؟ ولماذا؟
🌟 Prompt “الطبقات السبع”
text
اشرح [مفهوم] في 7 طبقات: 1. للطفل 2. للمبتدئ 3. للمتوسط 4. للمتقدم 5. للخبير 6. للباحث 7. للفيلسوف كل طبقة أعمق من السابقة.
🌟 Prompt “التناقض”
text
أجب على السؤال. ثم: - اذكر 3 حالات يكون فيها جوابك خاطئاً - اذكر 3 بدائل - اذكر متى لا تستخدم حلك - اذكر عيوباً في تفكيرك كن عدواً لنفسك.
🌟 Prompt “الاختبار الذاتي”
text
قبل الإجابة، اسأل نفسك: 1. هل فهمت السؤال؟ 2. ما الافتراضات؟ 3. هل هناك تفسيرات متعددة؟ 4. هل أحتاج معلومات إضافية؟ 5. ما مستوى ثقتي؟ ثم أجب. في النهاية، قيّم إجابتك (0-100).
🎯 حادي عشر: التحدي النهائي
“Olympus Test”
text
أنت Senior Engineer في فريق يبني نظاماً لـ 100M مستخدم. المطلوب: 1. صمّم النظام كاملاً 2. اكتب الكود الأساسي 3. اكتب الاختبارات 4. صمّم Monitoring 5. خطط لـ Scale 6. تعامل مع Failure 7. وثّق كل شيء الوقت: 4 ساعات اللغة: أي لغة التقييم: 500 نقطة اضغط "ابدأ" وابدأ العمل.
معايير التقييم (500 نقطة):
| المعيار | النقاط |
|---|---|
| Architecture | 100 |
| Code Quality | 100 |
| Testing | 75 |
| Documentation | 50 |
| Scalability | 75 |
| Security | 50 |
| Monitoring | 50 |
📌 خلاصة نهائية
🎯 ما يقيس كل اختبار:
| الفئة | ما تكشفه |
|---|---|
| الأساسيات | معرفة النموذج بالبرمجة |
| الخوارزميات | قدرته على حل المشكلات |
| System Design | تفكيره المعماري |
| الأداء | فهمه للتحسين |
| الهلوسة | صدقه وأمانته |
| الإبداع | قدرته على الابتكار |
| التناسق | ثباته |
| العمق | تفكيره النقدي |
| السياق | ذاكرته |
| التقييم الذاتي | وعيه بحدوده |
🏆 النموذج المثالي:
✅ يكتب كوداً نظيفاً
✅ يحل مشكلات معقدة
✅ يعترف بحدوده
✅ يشرح بعمق
✅ يفكر معماريّاً
✅ لا يهلوس
✅ متسق
✅ يتذكر السياق
✅ يقترح بدائل
✅ يقيّم نفسه بصدق
🚀 ماذا بعد؟
هل تريد:
- 🔹 كتاب PDF يجمع كل هذا؟
- 🔹 سكربت كامل يختبر 5 نماذج تلقائياً؟
- 🔹 لوحة تحكم ويب لعرض النتائج؟
- 🔹 معايير SWE-bench / HumanEval بالتفصيل؟
- 🔹 اختبار لمجال محدد (DevOps / ML / Security / Mobile)؟
- 🔹 بنك 1000 سؤال كامل؟
- 🔹 استراتيجيات لكسر حدود النماذج؟
قل لي أي اتجاه تريد، وسأبني لك موسوعة مخصصة له! 🎯
1. كيف تقيس قوة نماذج الذكاء الاصطناعي عموماً؟
هناك معايير (Benchmarks) شائعة تُستخدم عالمياً، مثل:
| المعيار | ماذا يقيس |
|---|---|
| MMLU | المعرفة العامة عبر 57 موضوعاً |
| HumanEval | قدرة النموذج على كتابة الكود |
| GSM8K | حل المسائل الرياضية |
| HellaSwag | الفهم اللغوي والاستنتاج |
| ARC | التفكير المنطقي |
| MT-Bench | المحادثة متعددة الأدوار |
| LMSYS Chatbot Arena | تصنيف بناءً على تصويت المستخدمين |
2. إذا كنت تقصد موقعاً معيناً
أخبرني بمزيد من التفاصيل:
- ما هو رابط Zezo-Ai؟
- هل هو موقع تقييم أم نموذج ذكاء اصطناعي؟
- ما الذي تريد قياسه بالضبط (سرعة، دقة، مجالات معينة)؟
وبذلك أستطيع مساعدتك بشكل أدق. هل تود أن أشرح لك كيفية إجراء تقييم عملي لنموذج ذكاء اصطناعي بنفسك؟
دليل شامل لقياس قوة نماذج الذكاء الاصطناعي
بما أنك طلبت ، سأقدم لك دليلاً موسعاً. وإذا كان Zezo-Ai منصة تقييم، فغالباً تعتمد على واحد أو أكثر من المعايير التالية:
أولاً: أنواع التقييمات (Benchmarks) بالتفصيل
1. تقييمات المعرفة العامة
| المعيار | الوصف | النطاق |
|---|---|---|
| MMLU | 57 موضوعاً (طب، قانون، رياضيات، تاريخ…) | 0-100% |
| MMLU-Pro | نسخة أصعب من MMLU | 0-100% |
| TriviaQA | أسئلة معلومات عامة | دقة |
| C-Eval | نسخة صينية من MMLU | 0-100% |
2. تقييمات البرمجة
| المعيار | الوصف |
|---|---|
| HumanEval | 164 مسألة برمجة Python |
| MBPP | 974 مسألة برمجة أساسية |
| SWE-bench | حل مشاكل GitHub حقيقية |
| LiveCodeBench | مسائل برمجة حديثة |
3. تقييمات الرياضيات والمنطق
| المعيار | الوصف |
|---|---|
| GSM8K | مسائل رياضية للمرحلة الابتدائية |
| MATH | مسائل رياضية متقدمة |
| AIME | مسائل أولمبياد الرياضيات |
| BBH | مهام منطقية صعبة |
4. تقييمات المحادثة والتفاعل
| المعيار | الوصف |
|---|---|
| MT-Bench | محادثة متعددة الأدوار |
| Chatbot Arena | تصويت بشري مباشر (Elo) |
| AlpacaEval | مقارنة مع نموذج مرجعي |
5. تقييمات متعددة الوسائط
| المعيار | الوصف |
|---|---|
| MMMU | فهم متعدد التخصصات (صور+نص) |
| MathVista | رياضيات بصرية |
| VQAv2 | إجابة أسئلة بصرية |
ثانياً: كيف تُقاس “القوة” فعلياً؟
أ) المقاييس الكمية
- الدقة (Accuracy): نسبة الإجابات الصحيحة
- F1-Score: توازن الدقة والاستدعاء
- Pass@k: نجاح النموذج خلال k محاولة
- Elo Rating: تصنيف نسبي (مثل الشطرنج)
ب) المقاييس النوعية
- التماسك: هل الإجابة مترابطة؟
- الملاءمة: هل تجيب على السؤال فعلاً؟
- الأمان: هل ترفض الطلبات الضارة؟
- الهلوسة: نسبة المعلومات المختلقة
ج) مقاييس الأداء
- زمن الاستجابة (Latency)
- عدد الرموز/الثانية (Tokens/sec)
- التكلفة لكل مليون رمز
- حجم السياق (Context Window)
ثالثاً: لو أردت بناء تقييم خاص بك (كما قد تفعل Zezo-Ai)
الخطوات العملية:
1. حدد الهدف
- ما المجال؟ (طب، برمجة، محادثة عامة…)
- من الجمهور؟ (باحث، مطور، مستخدم عادي)
2. اجمع بيانات الاختبار
text
- 100-500 سؤال نموذجي - إجابات مرجعية (Ground Truth) - تنوع في الصعوبة
3. اختر طريقة التقييم
- آلي: مقارنة نصية، تنفيذ كود
- بشري: تقييم خبراء
- نموذج حَكَم (LLM-as-Judge): استخدام GPT-4 مثلاً للتقييم
4. احسب النتائج
python
score = (correct_answers / total_questions) * 100
5. قارن النماذج
- اعرض النتائج في جدول
- استخدم تصنيف Elo للترتيب
رابعاً: أشهر منصات التقييم العالمية
| المنصة | التخصص |
|---|---|
| HuggingFace Open LLM Leaderboard | نماذج مفتوحة |
| LMSYS Chatbot Arena | تصويت بشري |
| Artificial Analysis | سرعة + جودة + تكلفة |
| Stanford HELM | تقييم أكاديمي شامل |
| OpenCompass | تقييم صيني/دولي |
| AlpacaEval | محادثة |
خامساً: نصائح مهمة عند التقييم
⚠️ تحذيرات:
- تلوث البيانات (Data Contamination): قد يكون النموذج تدرب على أسئلة الاختبار!
- التحيز للمعيار: نموذج قد يتفوق في MMLU ويفشل عملياً
- الفرق بين المختبر والواقع: الأداء في benchmark ≠ الأداء الحقيقي
- التقييم الآلي ليس كافياً: أحكام بشرية ضرورية
✅ أفضل الممارسات:
- استخدم معايير متعددة
- اختبر على بيانات جديدة لم يرها النموذج
- قس الأداء + التكلفة + السرعة معاً
- أعد التقييم دورياً
هل تريد في اتجاه محدد؟
أخبرني أي مما يلي يهمك وأتوسع فيه:
- 🔧 كود عملي لتقييم نموذج بنفسك
- 📊 شرح رياضي لتصنيف Elo
- 🎯 تقييم مجال معين (طب، قانون، برمجة)
- 🆚 مقارنة نماذج حالية (GPT-4، Claude، Gemini، Llama)
- 🔍 تفاصيل عن Zezo-Ai إذا أعطيتني رابطها أو وصفها
ما الذي تريد التعمق فيه؟
موسوعة شاملة: قياس قوة نماذج الذكاء الاصطناعي
سأقدم لك الآن الدليل الأعمق والأشمل، مع كود عملي، رياضيات، وأمثلة تطبيقية.
🔬 الجزء الأول: الرياضيات وراء التقييم
1. تصنيف Elo (مثل Chatbot Arena)
text
E_A = 1 / (1 + 10^((R_B - R_A)/400)) R'_A = R_A + K × (S_A - E_A)
- R_A: تصنيف النموذج A
- R_B: تصنيف النموذج B
- E_A: الاحتمال المتوقع لفوز A
- S_A: النتيجة الفعلية (1 = فوز، 0 = خسارة، 0.5 = تعادل)
- K: معامل التحديث (عادة 32)
مثال عملي:
python
def elo_update(ra, rb, score_a, k=32):
ea = 1 / (1 + 10**((rb - ra) / 400))
eb = 1 / (1 + 10**((ra - rb) / 400))
ra_new = ra + k * (score_a - ea)
rb_new = rb + k * ((1 - score_a) - eb)
return ra_new, rb_new
# GPT-4 (1500) ضد Llama (1300)، فاز GPT-4
ra, rb = elo_update(1500, 1300, 1.0)
print(f"GPT-4: {ra:.1f}, Llama: {rb:.1f}")
# GPT-4: 1519.2, Llama: 1280.8
2. مقياس Pass@k للبرمجة
python
def pass_at_k(n, c, k):
"""
n: عدد العينات المولّدة
c: عدد العينات الصحيحة
k: عدد المحاولات
"""
if n - c < k:
return 1.0
return 1.0 - (comb(n - c, k) / comb(n, k))
المعنى: احتمالية أن تكون هناك إجابة صحيحة واحدة على الأقل خلال k محاولة.
3. قياس الهلوسة (Hallucination Rate)
text
Hallucination Rate = (عدد الادعاءات الكاذبة) / (إجمالي الادعاءات) Factual Score = 1 - Hallucination Rate
💻 الجزء الثاني: كود عملي كامل لتقييم نموذج
إطار تقييم شامل بلغة Python
python
import openai
import json
import time
from dataclasses import dataclass
from typing import List, Dict
import numpy as np
@dataclass
class EvalResult:
model_name: str
benchmark: str
score: float
latency: float
cost: float
errors: List[str]
class ModelEvaluator:
def __init__(self, model_name, api_key=None):
self.model_name = model_name
self.client = openai.OpenAI(api_key=api_key)
self.results = []
def evaluate_benchmark(self, benchmark_data, prompt_template,
ground_truth_key="answer"):
"""تقييم نموذج على مجموعة بيانات"""
correct = 0
total = 0
latencies = []
errors = []
for item in benchmark_data:
prompt = prompt_template.format(**item)
start = time.time()
try:
response = self.client.chat.completions.create(
model=self.model_name,
messages=[{"role": "user", "content": prompt}],
temperature=0
)
answer = response.choices[0].message.content
latency = time.time() - start
latencies.append(latency)
# مقارنة مع الإجابة الصحيحة
if self._is_correct(answer, item[ground_truth_key]):
correct += 1
total += 1
except Exception as e:
errors.append(str(e))
score = (correct / total * 100) if total > 0 else 0
avg_latency = np.mean(latencies) if latencies else 0
return EvalResult(
model_name=self.model_name,
benchmark="custom",
score=score,
latency=avg_latency,
cost=0, # يُحسب لاحقاً
errors=errors
)
def _is_correct(self, predicted, truth):
"""مقارنة مرنة"""
pred_clean = str(predicted).strip().lower()
truth_clean = str(truth).strip().lower()
return truth_clean in pred_clean
def llm_as_judge(self, question, answer, reference, judge_model="gpt-4"):
"""استخدام نموذج قوي كحَكَم"""
judge_prompt = f"""قيّم الإجابة التالية من 0 إلى 10.
السؤال: {question}
الإجابة المرجعية: {reference}
إجابة النموذج: {answer}
معايير التقييم:
- الدقة (0-4)
- الاكتمال (0-3)
- الوضوح (0-3)
أجب برقم فقط."""
response = self.client.chat.completions.create(
model=judge_model,
messages=[{"role": "user", "content": judge_prompt}],
temperature=0
)
try:
return float(response.choices[0].message.content.strip())
except:
return 0.0
# مثال الاستخدام
evaluator = ModelEvaluator("gpt-3.5-turbo")
benchmark = [
{"question": "ما عاصمة فرنسا؟", "answer": "باريس"},
{"question": "كم يساوي 7×8؟", "answer": "56"},
{"question": "من كتب المقدمة؟", "answer": "ابن خلدون"},
]
template = "أجب بإيجاز: {question}"
result = evaluator.evaluate_benchmark(benchmark, template)
print(f"النموذج: {result.model_name}")
print(f"النتيجة: {result.score:.1f}%")
print(f"متوسط الاستجابة: {result.latency:.2f}s")
🎯 الجزء الثالث: تقييم مجالات متخصصة
أ) التقييم الطبي (MedQA / USMLE)
| المعيار | الوصف | عدد الأسئلة |
|---|---|---|
| MedQA | أسئلة الترخيص الطبي الأمريكي | 1,273 |
| MedMCQA | أسئلة طبية هندية | 194k |
| PubMedQA | أسئلة من الأبحاث | 1k |
| MMLU-Med | 6 مواضيع طبية | ~1,000 |
نتائج مرجعية (2024):
text
GPT-4: ~90% MedQA Med-PaLM 2: ~86% MedQA Claude 3 Opus: ~85% MedQA Llama 3 70B: ~78% MedQA
ب) التقييم القانوني
| المعيار | الوصف |
|---|---|
| LegalBench | 162 مهمة قانونية |
| LEXam | امتحان المحاماة |
| CaseHOLD | استشهادات قضائية |
ج) التقييم المالي
| المعيار | الوصف |
|---|---|
| FinEval | أسئلة مالية صينية |
| FinanceBench | تحليل تقارير مالية |
| CFA Exam | امتحان محلل مالي |
📊 الجزء الرابع: مقارنة النماذج الحالية (2024-2025)
جدول شامل
| النموذج | MMLU | HumanEval | GSM8K | Arena Elo | السياق |
|---|---|---|---|---|---|
| GPT-4o | 88.7% | 90.2% | 95.8% | ~1287 | 128K |
| Claude 3.5 Sonnet | 88.7% | 92.0% | 96.4% | ~1270 | 200K |
| Gemini 1.5 Pro | 85.9% | 84.1% | 91.7% | ~1250 | 2M |
| Llama 3.1 405B | 88.6% | 89.0% | 96.8% | ~1250 | 128K |
| Qwen 2.5 72B | 86.1% | 86.6% | 95.8% | ~1240 | 128K |
| DeepSeek V3 | 88.5% | 89.3% | 90.2% | ~1245 | 128K |
| Mistral Large 2 | 84.0% | 92.0% | 93.0% | ~1220 | 128K |
مقارنة التكلفة (لكل مليون رمز)
| النموذج | إدخال | إخراج |
|---|---|---|
| GPT-4o | $2.50 | $10.00 |
| Claude 3.5 Sonnet | $3.00 | $15.00 |
| Gemini 1.5 Pro | $1.25 | $5.00 |
| Llama 3.1 405B | $3.50 | $3.50 |
| DeepSeek V3 | $0.14 | $0.28 |
| Qwen 2.5 72B | $0.40 | $1.20 |
🛠️ الجزء الخامس: أدوات جاهزة
1. مكتبات Python
bash
# LM Evaluation Harness (الأشهر)
pip install lm-eval
# تشغيل تقييم
lm_eval --model hf \
--model_args pretrained=meta-llama/Llama-3.1-8B \
--tasks mmlu,gsm8k,hellaswag \
--device cuda:0 \
--batch_size 8
2. أدوات أخرى
| الأداة | الاستخدام |
|---|---|
| lm-evaluation-harness | تقييم أكاديمي شامل |
| HELM (Stanford) | تقييم متعدد |
| OpenCompass | تقييم صيني/دولي |
| DeepEval | اختبار نماذج LLM |
| RAGAS | تقييم أنظمة RAG |
| TruLens | مراقبة التطبيقات |
⚠️ الجزء السادس: مشاكل وحلول
مشكلة 1: تلوث البيانات (Data Contamination)
الاكتشاف:
python
def detect_contamination(model, test_set):
"""فحص إذا كان النموذج يحفظ الاختبار"""
# اطلب من النموذج إكمال الأسئلة بدون سياق
# إذا أجاب بدقة عالية جداً → مشتبه
pass
الحل: استخدام بيانات حديثة (LiveBench, LiveCodeBench).
مشكلة 2: التحيز للمعيار
النموذج قد يتفوق في MMLU لكن يفشل في مهام واقعية. الحل: تقييم متعدد + مهام عملية.
مشكلة 3: التقييم الآلي غير كافٍ
GPT-4 كحَكَم قد يتحيز. الحل: دمج بشري + آلي.
🔮 الجزء السابع: مستقبل التقييم
- تقييم ديناميكي: أسئلة تُولَّد لحظياً
- تقييم متعدد الوكلاء: نماذج تتفاعل مع بعضها
- تقييم عملي: مهام حقيقية بدل أسئلة
- تقييم أمان: أولوية للأمان على الدقة
- تقييم عربي: معايير مثل ArabicMMLU, AraTrust
ArabicMMLU (للعربية)
python
# متاح على HuggingFace
from datasets import load_dataset
dataset = load_dataset("MBZUAI/ArabicMMLU")
# 40 موضوعاً، 14,000+ سؤال
📌 هل تريد التعمق في نقطة محددة؟
اختر رقماً:
- 🔧 بناء منصة تقييم كاملة (كود + قاعدة بيانات + واجهة)
- 📈 تقييم نماذج عربية خصيصاً
- 🎨 تقييم النماذج متعددة الوسائط (صور/فيديو/صوت)
- 🤖 تقييم الوكلاء (Agents) والأدوات
- 🔒 تقييم الأمان والتحيز
- 💰 تحليل التكلفة/الأداء لاختيار نموذج
- 🧪 اختبار A/B بين نموذجين
- 📝 كتابة ورقة بحثية تقييمية
أخبرني بالرقم أو الموضوع وسأقدم لك دليلاً مخصصاً معمقاً.