في نهاية هذا الأسبوع كان
جوكر 2018 ، كان مثيرًا للاهتمام! لكن المؤتمر كان غنياً ليس فقط بالخطابات. حاولت جميع الشركات الراعية التميز على خلفية "المنافسين" ونحن لسنا استثناء.
كان هناك الكثير من الأشياء المثيرة للاهتمام في منصة Sberbank Technologies ، لكني أريد أن أتحدث عما كنا نتميز به.
قام فريق تطوير
Apache Ignite في SberTech بإعداد المهام وعقد التعادل بين أولئك الذين تجرأوا على حلها.
تحت القطع ، ستجد المهام ، وتحليل الحلول والقدرة على تبرير نسختك الخاصة من الحل في التعليقات.
المذنبون ويل
تقوم Petya و Kolya بتنفيذ ميزة واحدة يوميًا في
Apache Ignite .
يختبر ماشا بسرعة كل ميزة ويتراجع عن عمليات احتواء الأخطاء.
كل التزام أولي ثالث من بيتي والخامس من كوليا يحتوي على خطأ.
تنفق Petya يومين إضافيين لإصلاح الخطأ ، Kolya 3 ، ويقومون بذلك مرة أخرى
ارتكاب.
كم عدد الميزات التي سيتم توصيلها في 86 يوم عمل إذا كانت Masha تحب Petya ،
وتلاحظ خطأه فقط في ذلك اليوم عندما يكون مخطئا فقط؟الحلبدءًا من اليوم الثالث عشر ، يتم تشكيل دورة تسمح لبيتيا بإصلاح كل خطأ ثانٍ فقط.

فيلاريبو وفيلاباجيو
تؤدي معالجة مصرف غير موثوق به أثناء العمليات على مجموعة من الحسابات إلى حظر المفاتيح
الحسابات بترتيب إعلانها في العملية ، أي من اليسار الى اليمين.
يتم حل كل حالة جمود يدويًا من قبل متخصصي البنك وتستغرق 10 مرات أكثر.
الوقت من العملية العادية.
تؤدي معالجة مصرف موثوق دائمًا إلى حظر المفاتيح تصاعديًا ، ولكنها تنفق 2
أكثر من المعاملة العادية في بنك غير موثوق به.
لكل من البنكين 10 حسابات ، مفاتيح الحسابات هي أرقام من 1 إلى 10.
تتطلب معالجة كل بنك 12 عملية.
تجرى العمليات بالتوازي ، اثنتان في كل مرة. تؤثر كل عملية على ما يصل إلى 3
الحسابات:
- العملية رقم 1 (الحسابات: أ ، ب ، ج) ، حيث أ = ط ، ب = أ + 1 ، ج = (أ + ب)٪ 10 ،
- العملية رقم 2 (الحسابات: D ، E ، F) ، حيث D = 11-i ، E = D-1 ، F = (D + E)٪ 10 ،
أنا يختلف من 1 إلى 6.
يبدأ تنفيذ زوج العمليات التالي فقط بعد اكتماله بالكامل
سابقتها.
يتم حظر المفاتيح وفقًا لسياسة البنك ، حيث يبدأ واحد في كل من العمليات
من العملية رقم 1.
إذا كان المفتاح مقفلاً بالفعل في إحدى العمليات ، ولكنه مطلوب لإجراء آخر ،
ثم تكتمل العملية الأولى ، ثم تستمر الثانية.
من المتوقع أن يحدث التنفيذ القسري لزوج من العمليات في الوضع المتسلسل مرتين أبطأ مما هو عليه في موازاة ذلك.
أي بنك وكم مرة أسرع في إكمال العمليات؟تلميحالمجموع:
- 6 تكرارات ،
- 12 عملية
- في جميع العمليات باستثناء مفتاح واحد لكل 3 مفاتيح.

الحلإذا كانت جميع المفاتيح مختلفة ، فمن الممكن التنفيذ المتوازي.
إذا لم يكن الأمر كذلك ، فلا ، والمأزق ممكن.

الحساباتينفق بنك غير موثوق به على المعاملة "براعة" ، 2 في حالة "الصعوبات" وما يصل إلى 10 في حالة الجمود.
ينفق بنك موثوق على "إجراءات" المعاملة 2 و 4 في حالة "صعوبات". الجمود موثوق بها لا وجود لها.

مخاطر المستودعات العامة
Serezha هو مبرمج من ذوي الخبرة للغاية ، والمقامرة للغاية والجشع بلا حدود.
بمجرد العثور على شفرة مصدر حملته المفضلة على جيثب.
ما هو الحد الأدنى للرهان الذي يمكن أن يفوز به سيروزا؟يتم إرفاق قائمة حمل مبسطة:
class Bid {
نصيحة رقم 1- 131072؟
- لا ، اخرج من الفخ :)
نصيحة رقم 2ما هو الحد الأدنى للرهان الذي يمكن أن يفوز به سيروزا؟
نصيحة رقم 3 th1{ bid.restricted = true; bid.checked = true; } ... th2{ while (!bid.checked) { sleep(1); } assert bid.restricted;
لا توجد ضمانات الرؤية المتوقعة بشكل حدسي.
يمكنك إضافتها كما يلي:
volatile boolean checked;
نصيحة رقم 4ما هو الحد الأدنى للرهان الذي يمكن أن يفوز به سيروزا؟
الجواب java.lang.Integer#MIN_VALUE
ومع ذلك ، تم اعتبار "0" وحتى "1" القرار الصحيح.
الفائزون
أفضل حل المشكلة
-
إيفجيني زوبينكو-
الكسندر نوفيكوف-
أندري جوليكوفحصل الرجال على حقائب تحمل على الظهر ، وقمصان ، وبالطبع كتب.