امروز می خواهم به شرایط مرجع برای موقعیت توسعه دهنده کارآموز نگاه کنم. روزی روزگاری آن را نوشتم: میخواهم افکارم را در مورد این موضوع به اشتراک بگذارم، برای مبتدیان مفید خواهد بود که هنگام یافتن شغل، ایدهای داشته باشند که در آینده در انتظارشان است.
جای خالی به شرح زیر است: توسعه دهنده کارآموز PostgreSQL از 30000 روبل. قبل از کسر مالیات بر درآمد شخصی LLC Business Technologies St. Petersburg, Kolomyazhsky Prospekt, 33k2 Business Technologies سابقه کار مورد نیاز: لازم نیست
پیوند با کد کار به Ideone: HERE این کار با موفقیت انجام شد، پس از آن من به مصاحبه دعوت شدم، جایی که به جای مصاحبه، آنها دسته دیگری از کارهای مشابه را به سمت من پرتاب کردند و دو ساعت آنجا را ترک کردند و یک خودکار به من دادند و 2 عدد کاغذ A4 برگها را بدون اینکه نگاه کنند برداشتند و گفتند که دوباره تماس خواهند گرفت. لذت من از چنین تفریحی را نمی توان با کلمات سانسور شده توصیف کرد. اما، حداقل، این واقعیت تلخی است که بسیاری در ابتدای سفر با آن روبرو خواهند شد.
من صمیمانه برای شما آرزوی مصاحبه های جالب و سازنده دارم. کارفرمای خود را عاقلانه انتخاب کنید. بهترین ها!) P.S.: بررسی من از شرکت های استخدام کننده برای آوریل 2018 (سن پترزبورگ) را می توانید در اینجا مشاهده کنید
- تمام وقت، تمام وقت
- اجرای وظایف کم پیچیدگی تحت هدایت یک توسعه دهنده
- رشد مداوم مدارک
- آشنایی با اصول برنامه نویسی ساخت یافته، تئوری پایگاه های داده رابطه ای.
- مسئولیت پذیری، استقلال، ابتکار عمل
- مهارت های ارتباطی، توانایی و تمایل به کار تیمی
- توانایی یادگیری بالا
- دانش
- Sql;
- Pl\sql;
- Pl\pgSql;
- C++، جاوا، پاسکال.
- در یک شرکت پایدار و پویا در حال توسعه کار کنید
- شرایط کاری راحت
- فقدان فرمالیسم و بوروکراسی
- فرصت های گسترده برای رشد حرفه ای و شغلی
- حقوق بر اساس نتایج مصاحبه
- ثبت نام طبق قانون کار، مرخصی استحقاقی مطابق با قانون کار.
- لطفا کد شغل را در سرفصل نامه ذکر کنید: Project04
- فرورفتگی از حاشیه سمت چپ نشان دهنده سطح تودرتو است.
- حلقهها در حالی که، for، ساختارهای تکرار و شرطی همان معنایی دارند که در پاسکال وجود دارد.
- علامت "--" یک نظر را نشان می دهد
- نماد ":=" نشان دهنده انتساب است
- متغیرها محلی برای رویه هستند مگر اینکه خلاف آن ذکر شده باشد
- شاخص آرایه در کروشه نوشته شده است، ساختار A[i] به معنای عنصر i در آرایه A است
-
می توان از اشیایی متشکل از چندین فیلد یا دارای چندین ویژگی استفاده کرد؛ مقادیر فیلد به صورت FieldName[ObjectName] نوشته می شود.
برای مثال، طول آرایه A به صورت Length[A] نوشته می شود. معنی پرانتزها توسط زمینه تعیین می شود (متغیری که یک آرایه را نشان می دهد، یا یک شی نشانگر داده های سازنده آن است). پس از اختصاص y:=x برای هر فیلد f برابری f[y]=f[x] برآورده می شود. تعیین اینکه آیا یک ویژگی یک تابع، یک متغیر یا هر چیز دیگری است توسط زمینه انجام می شود.
- یک اشاره گر می تواند دارای مقدار ویژه NIL باشد که به هیچ شیئی اشاره نمی کند.
- پارامترها با مقدار ارسال می شوند: رویه فراخوانی شده کپی خود را از پارامترها دریافت می کند؛ تغییرات در پارامترهای داخل رویه از بیرون قابل مشاهده نیست. هنگام ارسال اشیا، یک اشاره گر به داده های مربوط به آن شی کپی می شود.
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