JavaRush /Java blogi /Random-UZ /Ishlab chiquvchi lavozimi uchun odatiy test topshirig'ini...
Uniges
Daraja
Санкт-Петербург

Ishlab chiquvchi lavozimi uchun odatiy test topshirig'ini tahlil qilish

Guruhda nashr etilgan
Bugun men stajyor ishlab chiqaruvchi lavozimi uchun texnik topshiriqlarni ko'rib chiqmoqchiman. Bir vaqtlar men buni yozgan edim: men bu borada o'z fikrlarimni baham ko'rmoqchiman. Yangi boshlanuvchilar uchun ish topishda kelajakda ularni nima kutayotgani haqida tasavvurga ega bo'lish foydali bo'ladi.
Ishlab chiquvchi lavozimi uchun odatiy test topshirig'ini tahlil qilish - 1
Vakansiya quyidagicha: PostgreSQL dasturchisi stajyori 30 000 rubldan. shaxsiy daromad solig'ini ushlab qolishdan oldin "Biznes texnologiyalari" MChJ Sankt-Peterburg, Kolomyazhskiy prospekti, 33k2 Biznes texnologiyalari Kerakli ish tajribasi: shart emas
  • To'liq vaqt, to'liq vaqt
Mas'uliyat:
  • Ishlab chiquvchi rahbarligida past murakkablikdagi vazifalarni bajarish
  • Malakalarning doimiy o'sishi
Talablar:
  • Strukturaviy dasturlash tamoyillari va relyatsion ma'lumotlar bazalari nazariyasi haqida tushuncha.
  • Mas'uliyat, mustaqillik, tashabbus
  • Muloqot qobiliyatlari, jamoada ishlash qobiliyati va istagi
  • Yuqori o'rganish qobiliyati
Kerakli:
  • Bilim
  • Sql;
  • Pl\sql;
  • Pl\pgSql;
  • C++, java, paskal.
Shartlar:
  • Barqaror, dinamik rivojlanayotgan kompaniyada ishlang
  • Qulay ish sharoitlari
  • Formalizm va byurokratiyaning yo'qligi
  • Kasbiy va martaba o'sishi uchun keng imkoniyatlar
  • Suhbat natijalariga ko'ra ish haqi
  • Mehnat kodeksiga muvofiq ro'yxatdan o'tish, mehnat qonunchiligiga muvofiq haq to'lanadigan ta'til.
  • Iltimos, xatning sarlavhasida ish kodini ko'rsating: Project04
Test topshirig'ining tavsifi: Test abituriyent o'z vaqtini suhbatga sarflashga arziydimi yoki yo'qligini aniqlashi uchun o'zini o'zi nazorat qilish uchun mo'ljallangan. Pseudocode Bu psevdokod algoritmlarni tasvirlash uchun ishlatiladi.
  1. Chap chetidan chekinish joylashish darajasini bildiradi.
  2. while, for, repeat va shartli konstruksiyalar Paskal tilidagidek ma’noga ega bo‘ladi.
  3. “--” belgisi izohni bildiradi
  4. “:=” belgisi topshiriqni bildiradi
  5. O'zgaruvchilar, agar boshqacha ko'rsatilmagan bo'lsa, protsedura uchun mahalliy hisoblanadi
  6. Massiv indeksi kvadrat qavs ichida yoziladi, A[i] konstruktsiyasi A massivdagi i elementni bildiradi.
  7. Bir nechta maydonlardan iborat yoki bir nechta atributlarga ega bo'lgan ob'ektlardan foydalanish mumkin, maydon qiymatlari FieldName[ObjectName] sifatida yoziladi.

    Masalan, A massiv uzunligi Length[A] shaklida yoziladi; kvadrat qavslar nimani anglatishini kontekst belgilaydi (massivni bildiruvchi o'zgaruvchi yoki ob'ekt uning tarkibiy ma'lumotlariga ko'rsatgichdir). Har qanday f maydon uchun y:=x berilgandan keyin f[y]=f[x] tenglik bajariladi; Atributning funksiya, o‘zgaruvchi yoki boshqa biror narsa ekanligini aniqlash kontekst orqali amalga oshiriladi.

  8. Ko'rsatkich hech qanday ob'ektga ishora qilmaydigan NIL maxsus qiymatiga ega bo'lishi mumkin.
  9. Parametrlar qiymat bo'yicha uzatiladi: chaqirilgan protsedura parametrlarning o'ziga xos nusxasini oladi; protsedura ichidagi parametrlarga o'zgartirishlar tashqaridan ko'rinmaydi. Ob'ektlarni o'tkazishda ushbu ob'ektga mos keladigan ma'lumotlarga ko'rsatgich ko'chiriladi.
Muammo A elementlar massivini tartiblovchi funksiya: Saralash(A,p,r) 1, agar p < r 2 bo‘lsa, q := round_yarim_pastga((p+r)/2) 3 Saralash(A,p,q) 4 Saralash (A,q +1,r) 5 Birlashtirish(A,p,q,r) Massiv misoli: A = (5,2,4,6,1,3,2,6) Ishga tushirish misoli: Sort(A,1) ,length[A ]) Majburiy: Birlashtirish(A,p,q,r) funksiyasi algoritmini siz uchun qulay boʻlgan istalgan tilda, qoʻshimcha xotiradan foydalanmasdan yoki ishlatmasdan, qaysi biri tezroq yoki qulayroq boʻlsa, amalga oshirish algoritmini ishlab chiqing. . Muvaffaqiyatli bo'lsangiz, biz sizni qo'shimcha testdan o'tkazishdan mamnun bo'lamiz. Mening javobim: Pseudocode misolida tasvirlangan algoritm Birlashtirish tartiblash algoritmidir. Funktsiyamizning asosiy vazifasi tartibsiz sonlar massivini saralashdir: masalan, o'sish tartibida. Muammo kichik vazifalarga bo'linadi: massivdagi raqamlar ketma-ketligi massiv bir qiymatli bo'lgunga qadar kichikroq massivlarga bo'linadi, massivlarning elementlari taqqoslanadi, ular almashtiriladi (kattaroq, indeks bo'yicha) va birlashtiriladi.
Ishlab chiquvchi lavozimi uchun odatiy test topshirig'ini tahlil qilish - 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
Ishchi kod bilan Ideone bilan bog'lanish: BU YERDA vazifa muvaffaqiyatli bajarildi, shundan so'ng meni intervyuga taklif qilishdi, u erda intervyu o'rniga ular menga xuddi shunday vazifalarning yana bir qismini tashladilar va menga qalam berib, ikki soatga ketishdi. 2 dona A4 qog'oz. Barglarni ularga qaramay olib qo'ng'iroq qilishlarini aytishdi. Bunday o'yin-kulgidan zavqlanishimni tsenzura so'zlari bilan tasvirlab bo'lmaydi. Ammo, hech bo'lmaganda, bu ko'pchilik o'z sayohatlarining boshida duch keladigan qattiq haqiqatdir.
Разбор типичного тестового задания на позицию разработчика - 4
Sizga chin dildan qiziqarli va konstruktiv suhbatlar tilayman. Ish beruvchingizni oqilona tanlang. Yaxshiyamki!) P.S.: 2018 yil aprel (Sankt-Peterburg) uchun ish beruvchi kompaniyalar haqidagi sharhimni SHU YERDA ko'rish mumkin
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION