JavaRush /مدونة جافا /Random-AR /تحليل مهمة اختبار نموذجية لمنصب مطور
Uniges
مستوى
Санкт-Петербург

تحليل مهمة اختبار نموذجية لمنصب مطور

نشرت في المجموعة
أود اليوم أن ألقي نظرة على الاختصاصات الخاصة بوظيفة المطور المتدرب. ذات مرة كتبت: أريد أن أشارككم أفكاري حول هذا الموضوع، سيكون من المفيد للمبتدئين أن يكون لديهم فكرة عما ينتظرهم في المستقبل عند العثور على وظيفة.
تحليل مهمة اختبار نموذجية لمنصب مطور - 1
الوظيفة الشاغرة هي كما يلي: مطور PostgreSQL متدرب بسعر يبدأ من 30000 روبل روسي. قبل خصم ضريبة الدخل الشخصي LLC Business Technologies St.burg، Kolomyazhsky Prospekt، 33k2 Business Technologies خبرة العمل المطلوبة: غير مطلوب
  • دوام كامل، دوام كامل
المسؤوليات:
  • تنفيذ مهام منخفضة التعقيد بتوجيه من المطور
  • النمو المستمر للمؤهلات
متطلبات:
  • فهم مبادئ البرمجة المنظمة ونظرية قواعد البيانات العلائقية.
  • المسؤولية والاستقلال والمبادرة
  • مهارات الاتصال والقدرة والرغبة في العمل ضمن فريق
  • القدرة على التعلم عالية
مرغوب فيه:
  • معرفة
  • مزود؛
  • بل\سقل؛
  • pl\pgSql;
  • سي ++، جافا، باسكال.
شروط:
  • العمل في شركة مستقرة ومتطورة ديناميكيًا
  • ظروف عمل مريحة
  • - الافتقار إلى الشكلية والبيروقراطية
  • فرص واسعة للنمو المهني والوظيفي
  • الراتب بناء على نتائج المقابلة
  • التسجيل وفقًا لقانون العمل والإجازة مدفوعة الأجر وفقًا لتشريعات العمل.
  • يرجى الإشارة إلى رمز الوظيفة في رأس الرسالة: Project04
وصف مهمة الاختبار: الاختبار مخصص لضبط النفس حتى يتمكن المتقدم من تحديد ما إذا كان الأمر يستحق قضاء وقته في المقابلة. الكود الكاذب يستخدم هذا الكود الكاذب لوصف الخوارزميات.
  1. تشير المسافة البادئة من الهامش الأيسر إلى مستوى التداخل.
  2. الحلقات أثناء التكرار والبنيات الشرطية لها نفس المعنى كما في باسكال.
  3. يشير الرمز "--" إلى التعليق
  4. يشير الرمز ":=" إلى المهمة
  5. المتغيرات محلية للإجراء ما لم ينص على خلاف ذلك
  6. يتم كتابة فهرس المصفوفة بين قوسين مربعين، البناء A[i] يعني العنصر i في المصفوفة A
  7. من الممكن استخدام كائنات تتكون من عدة حقول أو لها عدة سمات، وتتم كتابة قيم الحقل باسم FieldName[ObjectName].

    على سبيل المثال، يتم كتابة طول المصفوفة A بالشكل Length[A]؛ يتم تحديد ما تعنيه الأقواس المربعة من خلال السياق (متغير يشير إلى مصفوفة، أو كائن هو مؤشر للبيانات المكونة له). بعد تعيين y:=x لأي حقل f، سيتم تحقيق المساواة f[y]=f[x]؛ يتم تحديد ما إذا كانت السمة هي وظيفة أو متغير أو أي شيء آخر عن طريق السياق.

  8. يمكن أن يكون للمؤشر قيمة خاصة NIL، والتي لا تشير إلى أي كائن.
  9. يتم تمرير المعلمات حسب القيمة: يتلقى الإجراء المطلوب نسخته الخاصة من المعلمات؛ ولا تكون التغييرات التي تطرأ على المعلمات داخل الإجراء مرئية من الخارج. عند تمرير كائنات، يتم نسخ مؤشر للبيانات المقابلة لذلك الكائن.
المشكلة دالة تقوم بفرز مصفوفة من العناصر A: Sort(A,p,r) 1 إذا p < r 2 ثم q := round_half_down((p+r)/2) 3 Sort(A,p,q) 4 فرز (A,q +1,r) 5 Merge(A,p,q,r) مثال على المصفوفة: A = (5,2,4,6,1,3,2,6) تشغيل المثال: Sort(A,1) ، length[A ]) المطلوب: تطوير خوارزمية لوظيفة Merge(A,p,q,r) بأي لغة مناسبة لك، مع أو بدون استخدام ذاكرة إضافية، أيهما أسرع أو أكثر ملاءمة لك للتنفيذ . إذا نجحت، سنكون سعداء بالترحيب بك لإجراء اختبارات إضافية. إجابتي: الخوارزمية الموضحة في مثال الكود الزائف هي خوارزمية فرز الدمج. المهمة الرئيسية لوظيفتنا هي فرز مجموعة من الأرقام غير المرتبة: على سبيل المثال، بترتيب تصاعدي. تنقسم المشكلة إلى مهام فرعية: يتم تقسيم تسلسل الأرقام من المصفوفة إلى مصفوفات أصغر حتى تصبح المصفوفة ذات قيمة مفردة، وتتم مقارنة عناصر المصفوفات، ويتم استبدالها (أصغر بالأكبر، حسب الفهرس)، ودمجها.
تحليل مهمة اختبار نموذجية لمنصب مطور - 2
public class Main {
    public static void main(String[] args) {
        int[] massif = {13, 3, 8, 1, 15, 2, 3, 7, 4};
        System.out.print("Массив до сортировки: ");
        for (int i = 0; i < massif.length; i++)
            System.out.print(massif[i] + " ");
        System.out.println("");
        massif = sort(massif);
        System.out.print("Массив после сортировки: ");
        for (int i = 0; i < massif.length; i++)
            System.out.print(massif[i] + " ");
    }

    public static int[] sort(int x[]) {
        if (x.length == 1) //Рекурсия идет до тех пор, пока массив делится
            return x;
        else {
            int half = (int) Math.floor(x.length / 2); //Разбиваем массив на 2 части
            int halfFirst[] = new int[half]; //1 часть, пустой массив
            int halfSecond[] = new int[x.length - half]; //2 часть, пустой массив
            for (int i = 0; i < x.length; i++) { //Заполняем новосозданные массивы значениями
                if (i < half)
                    halfFirst[i] = x[i];
                else
                    halfSecond[i - half] = x[i];
            }
            halfFirst = sort(halfFirst); //Рекурсия
            halfSecond = sort(halfSecond); //Рекурсия
            x = sortNext(halfFirst, halfSecond); //Отправляем заполненные значениями массивы в следующий метод
            return x;
        }
    }

    public static int[] sortNext(int x[], int y[]) {
        int c[] = new int [x.length + y.length]; //Создаем результирующий массив из суммы длин массивов из аргументов метода
        int a = 0, b = 0;
        for (int i = 0; i < x.length + y.length; i++) { //Сравниваем массивы, меняем местами элементы, заполняем новосозданный массив
            if (a == x.length) {
                c[i] = y[b];
                b++;
            }
            else if (b == y.length) {
                c[i] = x[a];
                a++;
            }
            else if (x[a] > y[b]) {
                c[i] = y[b];
                b++;
            }
            else {
                c[i] = x[a];
                a++;
            }
        }
        return c;
    }
}
Разбор типичного тестового задания на позицию разработчика - 3
رابط مع رمز العمل إلى Ideone: هنا تم إكمال المهمة بنجاح، وبعد ذلك تمت دعوتي إلى مقابلة، حيث بدلاً من المقابلة، ألقوا علي مجموعة أخرى من المهام المماثلة وغادروا لمدة ساعتين، وأعطوني قلمًا و 2 قطعة من الورق مقاس A4. أخذوا الأوراق دون النظر إليها وقالوا إنهم سيتصلون مرة أخرى. لا يمكن وصف سعادتي بمثل هذه التسلية بكلمات خاضعة للرقابة. ولكن، على أقل تقدير، هذه هي الحقيقة القاسية التي سيتعين على الكثيرين مواجهتها في بداية رحلتهم.
Разбор типичного тестового задания на позицию разработчика - 4
أتمنى لكم مخلصين مقابلات ممتعة وبناءة. اختر صاحب العمل الخاص بك بحكمة. أتمنى لك كل التوفيق!) ملاحظة: يمكن العثور على تقييمي لشركات التوظيف لشهر أبريل 2018 (سانت بطرسبرغ) هنا
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION