JavaRush /Blog Java /Random-MS /Analisis tugas ujian biasa untuk kedudukan pembangun
Uniges
Tahap
Санкт-Петербург

Analisis tugas ujian biasa untuk kedudukan pembangun

Diterbitkan dalam kumpulan
Hari ini saya ingin melihat terma rujukan untuk jawatan pemaju intern. Pada suatu masa dahulu saya menulisnya: Saya ingin berkongsi pendapat saya tentang perkara ini. Ia berguna untuk pemula untuk mempunyai idea tentang apa yang menanti mereka pada masa hadapan apabila mencari pekerjaan.
Analisis tugas ujian biasa untuk kedudukan pembangun - 1
Kekosongan adalah seperti berikut: Trainee PostgreSQL developer daripada RUB 30,000. sebelum potongan cukai pendapatan peribadi LLC Business Technologies St. Petersburg, Kolomyazhsky Prospekt, 33k2 Business Technologies Pengalaman kerja yang diperlukan: tidak diperlukan
  • Sepenuh masa, sepenuh masa
Tanggungjawab:
  • Pelaksanaan tugas kerumitan rendah di bawah bimbingan pembangun
  • Pertumbuhan berterusan kelayakan
Keperluan:
  • Pemahaman tentang prinsip pengaturcaraan berstruktur dan teori pangkalan data hubungan.
  • Tanggungjawab, berdikari, inisiatif
  • Kemahiran komunikasi, kebolehan dan keinginan untuk bekerja dalam satu pasukan
  • Keupayaan pembelajaran yang tinggi
Diingini:
  • Pengetahuan
  • Sql;
  • Pl\sql;
  • Pl\pgSql;
  • C++, java, pascal.
syarat:
  • Bekerja di sebuah syarikat yang stabil dan membangun secara dinamik
  • Keadaan kerja yang selesa
  • Kekurangan formalisme dan birokrasi
  • Peluang luas untuk pertumbuhan profesional dan kerjaya
  • Gaji berdasarkan keputusan temuduga
  • Pendaftaran mengikut Kod Buruh, cuti berbayar mengikut undang-undang buruh.
  • Sila nyatakan kod kerja dalam tajuk surat: Project04
Penerangan tentang tugasan ujian: Ujian ini bertujuan untuk mengawal diri agar pemohon menentukan sendiri sama ada ia berbaloi untuk menghabiskan masanya untuk temu duga. Pseudokod Pseudokod ini digunakan untuk menerangkan algoritma.
  1. Lekukan dari jidar kiri menunjukkan tahap sarang.
  2. Gelung manakala, untuk, binaan berulang dan bersyarat mempunyai maksud yang sama seperti dalam Pascal.
  3. Simbol “--” menunjukkan ulasan
  4. Simbol ":=" menandakan tugasan
  5. Pembolehubah adalah setempat kepada prosedur melainkan dinyatakan sebaliknya
  6. Indeks tatasusunan ditulis dalam kurungan segi empat sama, binaan A[i] bermaksud elemen i dalam tatasusunan A
  7. Adalah mungkin untuk menggunakan objek yang terdiri daripada beberapa medan atau mempunyai beberapa atribut; nilai medan ditulis sebagai FieldName[ObjectName].

    Sebagai contoh, panjang tatasusunan A ditulis sebagai Panjang[A]; maksud kurungan segi empat sama ditentukan oleh konteks (pembolehubah yang menandakan tatasusunan, atau objek ialah penunjuk kepada data konstituennya). Selepas menetapkan y:=x untuk mana-mana medan f kesamaan f[y]=f[x] akan dipenuhi; Menentukan sama ada atribut ialah fungsi, pembolehubah atau apa-apa lagi dilakukan mengikut konteks.

  8. Penunjuk boleh mempunyai nilai khas NIL, yang tidak menunjuk kepada sebarang objek.
  9. Parameter diluluskan mengikut nilai: prosedur yang dipanggil menerima salinan parameternya sendiri; perubahan pada parameter di dalam prosedur tidak dapat dilihat dari luar. Apabila menghantar objek, penunjuk kepada data yang sepadan dengan objek itu disalin.
Masalah Fungsi yang menyusun tatasusunan unsur A: Isih(A,p,r) 1 jika p < r 2 maka q := bulat_separuh_bawah((p+r)/2) 3 Isih(A,p,q) 4 Isih (A,q +1,r) 5 Cantum(A,p,q,r) Contoh tatasusunan: A = (5,2,4,6,1,3,2,6) Contoh larian: Isih(A,1) ,length[A ]) Diperlukan: Bangunkan algoritma untuk fungsi Merge(A,p,q,r) dalam mana-mana bahasa yang sesuai untuk anda, dengan atau tanpa menggunakan memori tambahan, yang mana lebih pantas atau lebih mudah untuk anda laksanakan . Jika anda berjaya, kami akan mengalu-alukan anda untuk ujian tambahan. Jawapan saya: Algoritma yang diterangkan dalam contoh Pseudocode ialah algoritma isihan Gabung. Tugas utama fungsi kami adalah untuk mengisih tatasusunan nombor tidak tertib: contohnya, dalam tertib menaik. Masalahnya dibahagikan kepada subtugas: urutan nombor daripada tatasusunan dibahagikan kepada tatasusunan yang lebih kecil sehingga tatasusunan menjadi nilai tunggal, elemen tatasusunan dibandingkan, mereka digantikan (lebih kecil dengan lebih besar, mengikut indeks), dan digabungkan.
Analisis tugas ujian biasa untuk kedudukan pembangun - 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;
    }
}
Analisis tugas ujian biasa untuk kedudukan pembangun - 3
Pautan dengan kod kerja ke Ideone: DI SINI Tugas itu berjaya diselesaikan, selepas itu saya telah dijemput ke temu duga, di mana, bukannya temu duga, mereka melemparkan satu lagi kumpulan tugas yang serupa kepada saya dan pergi selama dua jam, memberikan saya pen dan 2 keping kertas A4. Mereka mengambil daun itu tanpa memandangnya dan berkata bahawa mereka akan menghubungi semula. Keseronokan saya dari hobi sebegitu tidak dapat digambarkan dengan kata-kata yang ditapis. Tetapi, sekurang-kurangnya, inilah realiti pahit yang perlu dihadapi ramai pada permulaan perjalanan mereka.
Analisis tugas ujian biasa untuk kedudukan pembangun - 4
Saya dengan tulus mengucapkan temu bual yang menarik dan membina. Pilih majikan anda dengan bijak. Semua yang terbaik!) P.S.: ulasan saya tentang syarikat yang menggajikan untuk April 2018 (St. Petersburg) boleh didapati di SINI
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION