Бүгін мен интерн әзірлеуші лауазымына арналған техникалық тапсырманы қарастырғым келеді. Бір кездері мен оны жаздым: Мен осы мәселе бойынша өз ойымды бөліскім келеді. Жаңадан бастаушыларға жұмыс табу кезінде болашақта оларды не күтіп тұрғаны туралы түсінік болуы пайдалы болады.
Бос орын келесідей: 30 000 рубльден бастап PostgreSQL әзірлеушісінің стажеры . жеке табыс салығын шегергенге дейін Business Technologies ЖШҚ Санкт-Петербург, Коломяжский даңғылы, 33к2 Бизнес технологиялар Талап етілетін жұмыс тәжірибесі: талап етілмейді
Ideone-ге жұмыс codeы сілтемесі: МҰНДА тапсырма сәтті орындалды, содан кейін мені сұхбатқа шақырды, онда олар сұхбаттың орнына маған ұқсас тапсырмалардың тағы бір партиясын лақтырып, екі сағатқа қалдырып, қалам берді және 2 А4 қағаз парағы. Жапырақтарды оларға қарамай алып, қайта хабарласамыз деді. Менің мұндай ермектен ләззат алғанымды цензуралық сөзбен айтып жеткізу мүмкін емес. Бірақ, кем дегенде, бұл көптеген адамдар сапардың басында кездесетін қатал шындық.
Сізге шын жүректен қызықты және сындарлы сұхбаттар тілеймін. Жұмыс берушіңізді ақылмен таңдаңыз. Бар жақсылық!) P.S.: 2018 жылдың сәуір айындағы (Санкт-Петербор) жұмыс беруші компанияларға шолуымды ОСЫ ЖЕРДЕ көруге болады.
- Толық күн, толық уақыт
- Әзірлеушінің басшылығымен күрделілігі төмен тапсырмаларды орындау
- Біліктіліктің тұрақты өсуі
- Құрылымдық программалау принциптерін, реляциялық мәліметтер қоры теориясын түсіну.
- Жауапкершілік, дербестік, бастамашылық
- Қарым-қатынас дағдылары, командада жұмыс істеу қабілеті мен ұмтылысы
- Оқу қабілеті жоғары
- Білім
- Sql;
- Pl\sql;
- Pl\pgSql;
- C++, java, паскаль.
- Тұрақты, серпінді дамып келе жатқан компанияда жұмыс жасаңыз
- Ыңғайлы жұмыс жағдайлары
- Формализм мен бюрократизмнің болмауы
- Кәсіби және мансаптық өсу үшін кең мүмкіндіктер
- Әңгімелесу нәтижелері бойынша жалақы
- Еңбек codeексіне сәйкес тіркелу, еңбек заңнамасына сәйкес ақылы еңбек демалысы.
- Хаттың тақырыбына жұмыс codeын көрсетіңіз: Project04
- Сол жақтағы шегініс ұя салу деңгейін көрсетеді.
- while, for, қайталау және шартты құрылымдар Паскаль тіліндегідей мағынаға ие.
- “--” таңбасы түсініктемені білдіреді
- “:=” таңбасы тапсырманы білдіреді
- Айнымалылар, егер басқаша көрсетілмесе, proceduresа үшін жергілікті болып табылады
- Массив индексі шаршы жақшада жазылады, A[i] конструкциясы А массивіндегі i элементін білдіреді.
-
Бірнеше өрістерден тұратын немесе бірнеше атрибуттары бар нысандарды пайдалануға болады, өріс мәндері FieldName[ObjectName] ретінде жазылады.
Мысалы, А массивінің ұзындығы Length[A] түрінде жазылады; шаршы жақшалар нені білдіретіні контекст арқылы анықталады (массивті білдіретін айнымалы немесе нысан оның құрамдас деректерінің көрсеткіші). Кез келген f өрісі үшін y:=x тағайындағаннан кейін f[y]=f[x] теңдігі орындалады; Төлсипаттың функция, айнымалы немесе басқа кез келген нәрсе екенін анықтау контекст арқылы орындалады.
- Көрсеткіш NIL арнайы мәніне ие болуы мүмкін, ол ешқандай нысанды көрсетпейді.
- Параметрлер мән бойынша беріледі: шақырылатын proceduresа параметрлердің жеке көшірмесін алады; proceduresаның ішіндегі параметрлерге өзгертулер сырттан көрінбейді. Объектілерді беру кезінде сол нысанға сәйкес деректерге көрсеткіш көшіріледі.
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