JavaRush /جاوا بلاگ /Random-UR /ڈویلپر پوزیشن کے لیے ایک عام ٹیسٹ ٹاسک کا تجزیہ
Uniges
سطح
Санкт-Петербург

ڈویلپر پوزیشن کے لیے ایک عام ٹیسٹ ٹاسک کا تجزیہ

گروپ میں شائع ہوا۔
آج میں انٹرن ڈویلپر کی پوزیشن کے حوالے سے شرائط کو دیکھنا چاہوں گا۔ ایک دفعہ میں نے اسے لکھا تھا: میں اس معاملے پر اپنے خیالات کا اظہار کرنا چاہتا ہوں۔ یہ نوبتی لوگوں کے لیے مفید ہو گا کہ وہ مستقبل میں نوکری تلاش کرتے وقت اس بات کا اندازہ لگا لیں کہ ان کا کیا انتظار ہے۔
ڈیولپر پوزیشن کے لیے ایک عام ٹیسٹ ٹاسک کا تجزیہ - 1
خالی جگہ درج ذیل ہے: 30,000 RUB سے ٹرینی PostgreSQL ڈویلپر ۔ ذاتی انکم ٹیکس کی کٹوتی سے پہلے LLC Business Technologies St. Petersburg, Kolomyazhsky Prospekt, 33k2 بزنس ٹیکنالوجیز درکار کام کا تجربہ: درکار نہیں
  • مکمل وقت، مکمل وقت
ذمہ داریاں:
  • ایک ڈویلپر کی رہنمائی میں کم پیچیدگی والے کاموں کا نفاذ
  • قابلیت میں مسلسل اضافہ
تقاضے:
  • سٹرکچرڈ پروگرامنگ کے اصولوں اور رشتہ دار ڈیٹا بیس کے نظریہ کی سمجھ۔
  • ذمہ داری، آزادی، پہل
  • مواصلات کی مہارت، صلاحیت اور ٹیم میں کام کرنے کی خواہش
  • اعلی سیکھنے کی صلاحیت
مطلوبہ:
  • علم
  • ایس کیو ایل
  • Pl\sql;
  • Pl\pgSql;
  • C++، جاوا، پاسکل۔
شرائط:
  • ایک مستحکم، متحرک طور پر ترقی پذیر کمپنی میں کام کریں۔
  • کام کرنے کے آرام دہ حالات
  • رسمیت اور بیوروکریسی کا فقدان
  • پیشہ ورانہ اور کیریئر کی ترقی کے وسیع مواقع
  • انٹرویو کے نتائج پر مبنی تنخواہ
  • لیبر کوڈ کے مطابق رجسٹریشن، لیبر قانون سازی کے مطابق تنخواہ کی چھٹی۔
  • براہ کرم خط کے ہیڈر میں جاب کوڈ کی نشاندہی کریں: Project04
ٹیسٹ ٹاسک کی تفصیل: ٹیسٹ کا مقصد خود پر قابو رکھنا ہے تاکہ درخواست دہندہ خود اس بات کا تعین کر سکے کہ آیا یہ انٹرویو میں اپنا وقت گزارنے کے قابل ہے یا نہیں۔ سیڈوکوڈ یہ سیڈوکوڈ الگورتھم کو بیان کرنے کے لیے استعمال ہوتا ہے۔
  1. بائیں مارجن سے انڈینٹیشن گھونسلے کی سطح کی نشاندہی کرتا ہے۔
  2. لوپس جبکہ، کے لیے، دہرائیں اور مشروط تعمیرات کا وہی مطلب ہے جو پاسکل میں ہے۔
  3. علامت "--" ایک تبصرہ کی نشاندہی کرتی ہے۔
  4. علامت ":=" تفویض کو ظاہر کرتی ہے۔
  5. متغیر طریقہ کار کے لیے مقامی ہیں جب تک کہ دوسری صورت میں بیان نہ کیا جائے۔
  6. سرنی انڈیکس مربع بریکٹ میں لکھا جاتا ہے، تعمیر A[i] کا مطلب ہے صف A میں i عنصر
  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 ضم کریں(A,p,q,r) صف کی مثال: A = (5,2,4,6,1,3,2,6) چلائیں مثال: ترتیب دیں(A,1) ,length[A ]) درکار ہے: ضم (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
میں خلوص دل سے آپ کو دلچسپ اور تعمیری انٹرویوز کی خواہش کرتا ہوں۔ اپنے آجر کا انتخاب سمجھداری سے کریں۔ سب سے بہترین!) PS: اپریل 2018 (سینٹ پیٹرزبرگ) کے لیے ملازمت دینے والی کمپنیوں کا میرا جائزہ یہاں پایا جا سکتا ہے
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION