JavaRush /وبلاگ جاوا /Random-FA /تجزیه و تحلیل یک کار آزمایشی معمولی برای یک موقعیت توسعه ...
Uniges
مرحله
Санкт-Петербург

تجزیه و تحلیل یک کار آزمایشی معمولی برای یک موقعیت توسعه دهنده

در گروه منتشر شد
امروز می خواهم به شرایط مرجع برای موقعیت توسعه دهنده کارآموز نگاه کنم. روزی روزگاری آن را نوشتم: می‌خواهم افکارم را در مورد این موضوع به اشتراک بگذارم، برای مبتدیان مفید خواهد بود که هنگام یافتن شغل، ایده‌ای داشته باشند که در آینده در انتظارشان است.
تجزیه و تحلیل یک کار آزمایشی معمولی برای یک موقعیت توسعه دهنده - 1
جای خالی به شرح زیر است: توسعه دهنده کارآموز PostgreSQL از 30000 روبل. قبل از کسر مالیات بر درآمد شخصی LLC Business Technologies St. Petersburg, Kolomyazhsky Prospekt, 33k2 Business Technologies سابقه کار مورد نیاز: لازم نیست
  • تمام وقت، تمام وقت
مسئولیت ها:
  • اجرای وظایف کم پیچیدگی تحت هدایت یک توسعه دهنده
  • رشد مداوم مدارک
الزامات:
  • آشنایی با اصول برنامه نویسی ساخت یافته، تئوری پایگاه های داده رابطه ای.
  • مسئولیت پذیری، استقلال، ابتکار عمل
  • مهارت های ارتباطی، توانایی و تمایل به کار تیمی
  • توانایی یادگیری بالا
مطلوب:
  • دانش
  • Sql;
  • Pl\sql;
  • Pl\pgSql;
  • C++، جاوا، پاسکال.
شرایط:
  • در یک شرکت پایدار و پویا در حال توسعه کار کنید
  • شرایط کاری راحت
  • فقدان فرمالیسم و ​​بوروکراسی
  • فرصت های گسترده برای رشد حرفه ای و شغلی
  • حقوق بر اساس نتایج مصاحبه
  • ثبت نام طبق قانون کار، مرخصی استحقاقی مطابق با قانون کار.
  • لطفا کد شغل را در سرفصل نامه ذکر کنید: Project04
شرح تکلیف آزمون: این آزمون برای خودکنترلی در نظر گرفته شده است تا متقاضی برای خود تشخیص دهد که آیا ارزش صرف وقت برای مصاحبه را دارد یا خیر. شبه کد این شبه کد برای توصیف الگوریتم ها استفاده می شود.
  1. فرورفتگی از حاشیه سمت چپ نشان دهنده سطح تودرتو است.
  2. حلقه‌ها در حالی که، for، ساختارهای تکرار و شرطی همان معنایی دارند که در پاسکال وجود دارد.
  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 را مرتب می کند: مرتب سازی(A,p,r) 1 اگر p < r 2 سپس q := round_half_down((p+r)/2) 3 مرتب سازی(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) به هر زبانی که برای شما مناسب است، با یا بدون استفاده از حافظه اضافی، توسعه دهید، هر کدام که برای پیاده سازی سریعتر یا راحت تر باشد. . اگر موفق شدید، خوشحال می شویم برای آزمایش های بیشتر از شما استقبال کنیم. پاسخ من: الگوریتم توضیح داده شده در مثال رمز کد، الگوریتم مرتب سازی Merge است. وظیفه اصلی تابع ما مرتب کردن آرایه ای از اعداد نامرتب است: به عنوان مثال، به ترتیب صعودی. مشکل به وظایف فرعی تقسیم می شود: دنباله اعداد آرایه به آرایه های کوچکتر تقسیم می شود تا زمانی که آرایه تک ارزشی شود، عناصر آرایه ها مقایسه می شوند، آنها جایگزین می شوند (کوچکتر به بزرگتر، بر اساس شاخص)، و ادغام می شوند.
تجزیه و تحلیل یک کار آزمایشی معمولی برای یک موقعیت توسعه دهنده - 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: HERE این کار با موفقیت انجام شد، پس از آن من به مصاحبه دعوت شدم، جایی که به جای مصاحبه، آنها دسته دیگری از کارهای مشابه را به سمت من پرتاب کردند و دو ساعت آنجا را ترک کردند و یک خودکار به من دادند و 2 عدد کاغذ A4 برگها را بدون اینکه نگاه کنند برداشتند و گفتند که دوباره تماس خواهند گرفت. لذت من از چنین تفریحی را نمی توان با کلمات سانسور شده توصیف کرد. اما، حداقل، این واقعیت تلخی است که بسیاری در ابتدای سفر با آن روبرو خواهند شد.
Разбор типичного тестового задания на позицию разработчика - 4
من صمیمانه برای شما آرزوی مصاحبه های جالب و سازنده دارم. کارفرمای خود را عاقلانه انتخاب کنید. بهترین ها!) P.S.: بررسی من از شرکت های استخدام کننده برای آوریل 2018 (سن پترزبورگ) را می توانید در اینجا مشاهده کنید
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION