اختبار تدريبيالتقنية والبرمجة

التدرب على اختبار برمجة بأسلوب Codility

اختبار تدريبي مجاني بأسلوب Codility: ثلاث مهام برمجية قصيرة تتناول صحة الحل، والتعقيد الزمني، والمدخلات التي تُفشل الحل، وما يكفي من السرعة للمدخلات الكبيرة، مع شرح كل إجابة.

  • 10 سؤالًا مجانيًا، دون الحاجة إلى حساب
  • بوقت مماثل للاختبار الفعلي
  • ألغِ في أي وقت
عينة مجانية
10 سؤالًا · 30 دقيقة
الأقسام
  • المهمة الأولى: أطول سلسلة تصاعدية
  • المهمة الثانية: أول معرّف فريد
  • المهمة الثالثة: أكبر مجموع على مدى K أيام
اختبارات تجريبية كاملة
العدد الفعلي للأسئلة والمدة الزمنية

الإجابة المختصرة

اختبار Codility هو تقييم برمجي عبر الإنترنت يستخدمه كثير من أصحاب العمل لاختيار المطورين. تحل فيه عدداً من مهام البرمجة في متصفح قبل إجراء المقابلة. لا يوجد اختبار Codility واحد موحّد، إذ يختار كل صاحب عمل المهام والمهلة الزمنية. يتضمن هذا الاختبار التدريبي المجاني 10 أسئلة أصلية في ثلاث مهام، وتبلغ مدته 30 دقيقة.

عينة مجانية
10 أسئلة في 30 دقيقة
التنسيق
يحدده كل صاحب عمل
المهام التي تم تقييمها
تلقائيًا، وفق معايير ثابتة
الفحوصات المتداولة في التقارير
الصحة والسرعة مع المدخلات الكبيرة
اختباراتنا التجريبية الكاملة
3 مهام برمجية في 90 دقيقة

جرّبه مجاناً

10 سؤالًا خلال 30 دقيقة، بالوتيرة الفعلية. ستظهر نتيجتك مع شرح لكل إجابة في النهاية.

جارٍ تحميل أسئلة التدريب

اختر خطتك

افتح التدريب الكامل

اختبار بأسلوب Codility: اختبارات تجريبية كاملة وموقّتة، بالإضافة إلى جميع الاختبارات الأخرى

اختر خطة
ابدأ الخطة الشهرية
  • اختبارات تجريبية كاملة محددة بوقت لهذا الاختبار
  • شرح لكل سؤال
  • نتيجتك حسب نوع السؤال وسجلّ محاولاتك
  • تشمل جميع الاختبارات التدريبية وعددها 93
  • يعمل على الهاتف والكمبيوتر المحمول

استرداد المبلغ خلال 7 أيام إذا لم تكن قد أجريت أكثر من اختبار تجريبي كامل واحد. الأسعار بالدولار الأمريكي.

ما الذي يتضمنه التدريب الكامل

اختبارات تجريبية كاملة بالتنسيق والتوقيت الفعليين، مع مراجعة كاملة لكل اختبار عند الانتهاء.

  1. Freeعينة مجانية10 سؤالًا · 30 دقيقة
  2. اختبارات تجريبية كاملةالعدد الفعلي للأسئلة والمدة الزمنية
  3. تدريب على المهمة الأولى: أطول سلسلة تصاعديةبوقت محدد، مع شرح لكل إجابة
  4. تدريب على المهمة الثانية: أول معرّف فريدبوقت محدد، مع شرح لكل إجابة
  5. تدريب على المهمة الثالثة: أكبر مجموع على مدى K أيامبوقت محدد، مع شرح لكل إجابة
  6. مراجعة كاملةنتيجتك حسب نوع السؤال بعد كل اختبار تجريبي

عينة مجانية أو تدريب كامل

الميزةFreeكامل
أسئلة تحاكي أسلوب الاختبار الحقيقي
شرح لكل إجابة
اختبارات تجريبية كاملة محددة بوقت
الدرجة حسب نوع السؤال
سجل الدرجات عبر الاختبارات التجريبية
جميع الاختبارات التدريبية وعددها 93

دليل دراسة مجاني

كل ما تحتاج إلى معرفته عن الاختبار الفعلي، في دروس قصيرة.

الدرس 1

كيف يبدو الاختبار الفعلي عادةً

لا يوجد اختبار واحد موحّد من Codility. Codility منصة تتيح لكل جهة عمل اختيار المهام ولغات البرمجة المسموح بها والوقت المحدد للاختبار. وتظل دعوة جهة العمل أفضل مرجع لمعرفة تفاصيل اختبارك.

ما توضحه Codility. تقول Codility إن تقييم كل مهمة يتم تلقائيًا وفق معايير محددة (Codility). وتعرض دروسها المجانية للمبرمجين (Codility) أسلوب المهام: مسألة قصيرة، ودالة تكتبها، وحدود محددة للمدخلات. فعلى سبيل المثال، تطلب مهمة BinaryGap في أحد الدروس «خوارزمية فعّالة» لمدخلات تصل إلى 2,147,483,647 (Codility)، ويحمل أحد الدروس عنوان Time Complexity (Codility).

ما يُذكر عادة عن اختبارات Codility (بحسب المرشحين والأدلة، وليس مما تأكدنا منه في صفحة من Codility تمكنا من تحميلها):

  • بضع مهام ضمن مؤقّت واحد للاختبار كله، وغالبًا ما تتراوح المدة بين 30 دقيقة وساعتين.
  • اختبارات صحة مخفية: يُفحص كودك باستخدام حالات لا تراها، إضافة إلى المثال الوارد في المهمة.
  • الأداء مع المدخلات الكبيرة في المهام الخوارزمية: قد يخسر الحل الصحيح لكنه بطيء نقاطًا.
  • الوقت الذي تستغرقه ضمن المهلة لا يدخل في التقييم.

ما تغطيه اختباراتنا التجريبية. يتضمن كل اختبار تجريبي كامل ثلاث مهام برمجية في 90 دقيقة، تبدأ بمهمة أسهل وتنتهي بمهمة أصعب. تكتب حلًا وتشغّله بلغة Python أو JavaScript أو Java أو C++، ثم يُفحص باستخدام حالات اختبار مخفية، وتُحتسب لك نقاط عن كل حالة تجتازها. يُنصح باستخدام حاسوب محمول. يمكنك الرجوع إلى الحل وتعديله حتى ترسله.

ما يختلف في اختباراتنا التجريبية. يُذكر عادة أن مهام Codility الحقيقية تُفحص للتأكد من صحتها، وفي كثير من المهام يُفحص أداؤها مع المدخلات الكبيرة أيضًا. أما حالاتنا المخفية فصغيرة وتتحقق من صحة الحل والحالات الحدية، لذلك لا تنتهي مهلة الحل البطيء قبل أوانه؛ ويوضح شرح كل مهمة مستوى التعقيد الذي تتطلبه المدخلات الكبيرة. الأسئلة المجانية العشرة من نوع الاختيار من متعدد، وتتناول صحة الحل والتعقيد والحالات الحدية والسرعة، أي الأساس الذي يساعدك على اجتياز هذه الاختبارات.

الدرس 2

أنواع الأسئلة مع أمثلة محلولة

مثال محلول واحد لكل نوع من الأسئلة، مع الخطأ الشائع الذي يقع فيه معظم الناس.

1. أي الحلول صحيح؟ المهمة: إعادة عدد القيم المختلفة في قائمة. الحل: len(set(A)). هذا صحيح لكل قائمة، بما فيها القائمة الفارغة التي تعطي 0. الفخ: كتابة حلقة خاصة بك باستخدام قائمة مرتبة، ثم نسيان العنصر الأول أو الأخير. عندما تؤدي دالة مضمنة المهمة، تحقق من أنها تتعامل مع الحالات الحدّية، ثم استخدمها.

2. التعقيد الزمني. يمر الحل على A، ويستدعي داخل الحلقة max(A[:i]). يمر كل من التقطيع وmax على ما يصل إلى i عنصرًا، لذا يبلغ إجمالي العمليات نحو N squared divided by 2، أي O(N squared). أما الاحتفاظ بأكبر قيمة حتى الآن فيجعل التعقيد O(N). الفخ: رؤية حلقة واحدة واعتبار التعقيد O(N). ابحث داخلها عن عمليات التقطيع والجمع والعد والبحث.

3. أي مدخل يسبب فشل الحل. المهمة: إعادة أصغر عدد صحيح موجب غير موجود في A. يعيد أحد الحلول max(A) + 1. جرّب A = [1, 2, 3]: يعيد 4، وهذا صحيح. جرّب A = [1, 3]: يعيد 4، لكن 2 غير موجود، لذا الإجابة هي 2. جرّب A = [-3, -1]: يعيد 0، لكن الإجابة هي 1. الفخ: التوقف بعد تجربة حالة واحدة نجح فيها الحل. اذكر الحالات الحدّية عمدًا: وجود فجوات، وأن تكون القيم كلها سالبة، والقائمة الفارغة إن كانت مسموحة، وعنصر واحد، وقيم متساوية، وأكبر القيم المسموح بها.

4. سرعة كافية عندما يصل N إلى 100,000. كقاعدة تقريبية، استهدف O(N) أو O(N log N) لهذا الحجم. يعني O(N squared) نحو 10 مليارات خطوة، وهو أكثر بكثير مما تسمح به مهلة زمنية معتادة. الفخ: الاختبار باستخدام عشرة عناصر، حيث تبدو كل الطرق فورية. فكّر في كيفية زيادة حجم العمل مع زيادة N.

5. قراءة الحدود. إذا كانت القيم تصل إلى 1,000,000,000 وكان N يساوي 100,000، فقد يصل المجموع إلى 100 تريليون. تتعامل الأعداد الصحيحة في Python مع ذلك، لكن في اللغات التي تستخدم أعدادًا صحيحة ذات حجم ثابت سيحدث تجاوز للسعة. الفخ: تجاهل نطاق القيم. فهو يوضح احتمال تجاوز السعة، كما يوضح الحيل الممكنة، مثل استخدام مصفوفة للعد.

الدرس 3

كيف تستعد

  1. اقرأ دعوة الاختبار أولًا. دوّن عدد المهام والوقت الإجمالي ولغات البرمجة المسموح بها. تحدد جهة العمل هذه التفاصيل، فلا تفترضها.
  2. استخدم لغة واحدة تتقنها. تعرّف جيدًا على القوائم والقواميس والمجموعات والفرز وطرق التعامل مع السلاسل النصية فيها، من دون الحاجة إلى البحث عنها.
  3. اقرأ الحدود قبل كتابة الكود. توضح أحجام المدخلات ونطاقات القيم في المهمة مدى سرعة الحل المطلوبة والحالات الحدية التي ينبغي الانتباه إليها، كما في مهام الدروس الخاصة بـ Codility (Codility).
  4. ابدأ بحل صحيح، ثم حسّن سرعته. اكتب أولًا حلًا بسيطًا وصحيحًا. إذا كان تعقيده O(N squared) وكان من الممكن أن يصل N إلى 100,000، فابحث عن مجموع تراكمي أو قاموس أو مجموعة أو طريقة فرز لتقليل التعقيد.
  5. اختبر الحالات الحدية بنفسك. المثال في المهمة ليس سوى حالة واحدة. جرّب مدخلات فارغة إذا كان ذلك مسموحًا، وعنصرًا واحدًا، وقيمًا متساوية، وقيمًا سالبة، وأصغر القيم وأكبرها، وأكبر قيمة لـ N.
  6. تعلّم الأنماط الشائعة. تغطي المجاميع البادئة والنوافذ المنزلقة والعد باستخدام قاموس ومؤشراْن والفرز أولًا والخيارات الجشعة البسيطة نسبة كبيرة من المهام الخوارزمية القصيرة. دروس Codility المجانية مكان مناسب للاطلاع على هذا الأسلوب (Codility).
  7. اكتب حلولًا كاملة ضمن الوقت المحدد. تتيح لك اختباراتنا التجريبية الكاملة كتابة الكود وتشغيله على حالات مخفية؛ جرّب الأمر نفسه مع مهام من اختيارك حتى يصبح الحل ضمن الوقت أمرًا مألوفًا.
  8. تدرّب بالوتيرة الفعلية. خض اختبارات تجريبية كاملة محددة بوقت، حتى يصبح حل ثلاث مهام ضمن مؤقّت واحد أمرًا مألوفًا يوم الاختبار.
الدرس 4

كيف تُحتسب النتائج عادةً

يحدد كل صاحب عمل آلية التقييم. تذكر Codility أن تقييم كل مهمة يتم تلقائيًا وفق معايير ثابتة (Codility)، ويقرر كل صاحب عمل النتيجة المقبولة. لا توجد درجة نجاح موحدة.

المعلومات المتداولة عادةً عن آلية عمل هذه المعايير: تُحتسب درجة المهمة استنادًا إلى اختبارات صحة مخفية، وإلى اختبارات أداء على مدخلات كبيرة في كثير من المهام الخوارزمية، ثم تُجمع النتائج في نسبة مئوية للمهمة وللاختبار. قد يخسر الحل الصحيح مع المدخلات الصغيرة، لكنه البطيء جدًا مع المدخلات الكبيرة، نقاط الأداء. كما أن الحل الذي يفشل في حالة خاصة يخسر جزءًا من درجة الصحة. لهذا تسأل أسئلة الاختبارات التجريبية لدينا دائمًا بشكل منفصل: «هل الحل صحيح؟» و«هل هو سريع بما يكفي؟».

درجة التدريب لدينا هي عدد الأسئلة التي أجبت عنها إجابة صحيحة من أسئلتنا، مع تفصيل حسب المهمة، لتعرف ما الذي يجدر بك التركيز عليه. إنها درجة تدريب، وليست درجة من Codility أو نتيجة لدى أي صاحب عمل، ولا تتنبأ بما إذا كنت ستنجح.

الدرس 5

أخطاء شائعة

  • الثقة بالمثال. مثال المهمة حالة واحدة من بين حالات مخفية كثيرة. قد يجتاز الحل هذا المثال، ومع ذلك يخسر معظم الدرجة.
  • تجاهل N. قد يفشل حل صحيح بتعقيد O(N squared) في اختبارات الأداء عند N = 100,000. تحقّق من الحدود أولًا.
  • وجود عمليات خفية داخل حلقة. يؤدي استخدام شريحة أو sum أو count أو index أو "in" على قائمة داخل حلقة إلى مضاعفة التكلفة.
  • إغفال العنصر الأخير. تُعد النطاقات التي تخطئ بمقدار واحد والحلقات التي تصل إلى نهاية القائمة من أسباب الفشل الشائعة. تتبّع الخطوة الأخيرة يدويًا.
  • قيم بدء خاطئة. يؤدي بدء قيمة العظمى عند 0، أو الصغرى عند عدد كبير مختلق، إلى نتائج خاطئة مع القيم السالبة أو الكبيرة جدًا. ابدأ بالعنصر الأول.
  • تغيير الترتيب الذي تعتمد عليه المهمة. الترتيب أداة رائعة، لكنه غير مناسب عندما تعتمد الإجابة على المواقع أو على «العنصر الأول في القائمة».
  • قضاء الوقت كله في مهمة واحدة. أرسل حلًا صحيحًا لكل مهمة أولًا، ثم حسّن السرعة إذا سمح الوقت.

أسئلة تدريبية أصلية، وليست أسئلة حقيقية أو مسرّبة أبداً. ألغِ الخطة الشهرية في أي وقت، واطلب استرداد المبلغ خلال 7 أيام إذا لم تكن قد أجريت أكثر من اختبار تجريبي كامل واحد.

الأسئلة الشائعة

هل يوجد اختبار Codility واحد يستخدمه جميع أصحاب العمل؟+

لا. Codility منصة، ويختار كل صاحب عمل المهام واللغات والمدة الزمنية. لذلك فإن دعوة الاختبار هي أفضل مرجع لمعرفة ما ستواجهه.

هل تنفّذ اختباراتكم التجريبية الشيفرة التي أكتبها؟+

نعم، في الاختبارات المحاكية الكاملة. تكتب حل كل مهمة باستخدام Python أو JavaScript أو Java أو C++، ثم يُختبر على حالات اختبار مخفية، وتحصل على نقاط عن كل حالة تجتازها. العينة المجانية بأسئلة اختيار من متعدد. حالات الاختبار لدينا صغيرة، لذا فهي تتحقق من صحة الحل والحالات الحدية؛ أما الاختبارات الفعلية فكثيرًا ما تتحقق أيضًا من الأداء مع المدخلات الكبيرة.

ما مدى سرعة الحل الذي أقدمه؟+

اقرأ الحدود في كل مسألة. عندما تصل قيمة N إلى نحو 100,000، استهدف O(N) أو O(N log N)؛ فعادةً ما يكون O(N squared) بطيئًا جدًا عند هذا الحجم. أما مع الحدود الصغيرة، فقد يكون الحل الأبسط مناسبًا.

ما الدرجة التي أحتاج إليها للنجاح؟+

لا توجد درجة نجاح موحدة. يحدد كل صاحب عمل النتيجة التي تنقلك إلى المرحلة التالية. احرص على أن تكون حلولك صحيحة في جميع الحالات الحدية وسريعة بما يكفي لأكبر حجم من المدخلات.

هل هذه مهام Codility؟+

لا. هذه مهام وأسئلة تدريبية أصلية كتبها فريقنا بأسلوب مشابه. لا تربط Intellect Council أي علاقة بـ Codility Limited أو بأي جهة توظيف تستخدمه.

المصادر

  1. Codility: الصفحة الرئيسية (كيفية تقييم المهام)، تم التحقق منه في 2026-11-09
  2. Codility: للمبرمجين، الدروس، تم التحقق منه في 2026-11-09
  3. دروس Codility: الدرس 1، التكرارات، BinaryGap، تم التحقق منه في 2026-11-09
  4. دروس Codility: الدرس 3، التعقيد الزمني، تم التحقق منه في 2026-11-09

عن هذه الصفحة

كتب هذا المحتوى وراجعه فريق Intellect Council. تاريخ آخر مراجعة . اقرأ سياستنا التحريرية.

عرض جميع الاختبارات التدريبية وعددها 93

اختبارات تجريبية كاملة بوقت محدد مع شروحات.احصل على إمكانية الوصول الكامل
اختبارك يقترب. كن مستعدًا.

اذهب مستعدًا.
غادر وأنت تعلم أنك بذلت قصارى جهدك.

تدريب محدد بوقت بالتنسيق الفعلي، مع شرح لكل إجابة.

ابدأ اختبارًا تدريبيًا مجانيًاأو اطّلع على الاختبارات التجريبية الكاملة عينة مجانية. لا تحتاج إلى حساب للبدء.