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.
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
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.
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
- To'liq vaqt, to'liq vaqt
- Ishlab chiquvchi rahbarligida past murakkablikdagi vazifalarni bajarish
- Malakalarning doimiy o'sishi
- 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
- Bilim
- Sql;
- Pl\sql;
- Pl\pgSql;
- C++, java, paskal.
- 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
- Chap chetidan chekinish joylashish darajasini bildiradi.
- while, for, repeat va shartli konstruksiyalar Paskal tilidagidek ma’noga ega bo‘ladi.
- “--” belgisi izohni bildiradi
- “:=” belgisi topshiriqni bildiradi
- O'zgaruvchilar, agar boshqacha ko'rsatilmagan bo'lsa, protsedura uchun mahalliy hisoblanadi
- Massiv indeksi kvadrat qavs ichida yoziladi, A[i] konstruktsiyasi A massivdagi i elementni bildiradi.
-
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.
- Ko'rsatkich hech qanday ob'ektga ishora qilmaydigan NIL maxsus qiymatiga ega bo'lishi mumkin.
- 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.
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;
}
}
GO TO FULL VERSION