วันนี้ผมจะมาดูเงื่อนไขการอ้างอิงสำหรับตำแหน่ง Intern Developer ครับ กาลครั้งหนึ่งฉันเขียนไว้: ฉันต้องการแบ่งปันความคิดของฉันในเรื่องนี้ มันจะเป็นประโยชน์สำหรับผู้เริ่มต้นที่จะมีความคิดว่าสิ่งที่รอพวกเขาอยู่ในอนาคตเมื่อหางาน
ตำแหน่งงานว่างมีดังนี้: Trainee PostgreSQL นักพัฒนา จาก RUB 30,000 ก่อนหักภาษีเงินได้บุคคลธรรมดา LLC เทคโนโลยีธุรกิจเซนต์ปีเตอร์สเบิร์ก, Kolomyazhsky Prospekt, 33k2 เทคโนโลยีธุรกิจ ประสบการณ์การทำงานที่จำเป็น:ไม่จำเป็น
เชื่อมโยงกับรหัสการทำงานไปยัง Ideone: ที่นี่ งานเสร็จสมบูรณ์หลังจากนั้นฉันได้รับเชิญให้ไปสัมภาษณ์โดยที่แทนที่จะสัมภาษณ์พวกเขาโยนงานที่คล้ายกันอีกชุดมาที่ฉันและทิ้งไว้สองชั่วโมงโดยให้ปากกาแก่ฉันและ กระดาษ A4 จำนวน 2 แผ่น พวกเขารับใบไม้โดยไม่มองและบอกว่าจะโทรกลับ ความสุขของฉันจากงานอดิเรกดังกล่าวไม่สามารถอธิบายเป็นคำพูดที่ถูกเซ็นเซอร์ได้ แต่อย่างน้อยที่สุด นี่คือความจริงอันโหดร้ายที่หลายคนต้องเผชิญเมื่อเริ่มต้นการเดินทาง
ฉันขอให้คุณสัมภาษณ์ที่น่าสนใจและสร้างสรรค์อย่างจริงใจ เลือกนายจ้างของคุณอย่างชาญฉลาด ขอให้โชคดี!) ป.ล.: ดูรีวิวบริษัทจ้างงานของฉันในเดือนเมษายน 2018 (เซนต์ปีเตอร์สเบิร์ก) ได้ที่ นี่
- เต็มเวลาเต็มเวลา
- การดำเนินงานที่มีความซับซ้อนต่ำภายใต้คำแนะนำของนักพัฒนา
- การเติบโตของคุณวุฒิอย่างต่อเนื่อง
- ความเข้าใจหลักการของการเขียนโปรแกรมเชิงโครงสร้าง ทฤษฎีฐานข้อมูลเชิงสัมพันธ์
- ความรับผิดชอบ ความเป็นอิสระ ความคิดริเริ่ม
- ทักษะการสื่อสาร ความสามารถ และความปรารถนาที่จะทำงานเป็นทีม
- ความสามารถในการเรียนรู้สูง
- ความรู้
- ตรรกกะ;
- กรุณา\sql;
- กรุณา\pgSql;
- C++, จาวา, ปาสคาล
- ทำงานในบริษัทที่มั่นคงและมีการพัฒนาแบบไดนามิก
- สภาพการทำงานที่สะดวกสบาย
- ขาดความเป็นทางการและระบบราชการ
- โอกาสมากมายสำหรับการเติบโตทางอาชีพและอาชีพ
- เงินเดือนขึ้นอยู่กับผลการสัมภาษณ์
- จดทะเบียนตามประมวลกฎหมายแรงงาน ลาพักร้อน ตามกฎหมายแรงงาน
- โปรดระบุรหัสงานในส่วนหัวของตัวอักษร: Project04
- การเยื้องจากระยะขอบด้านซ้ายบ่งบอกถึงระดับของการซ้อน
- การสร้างลูป while, for, Repeat และ Conditional มีความหมายเหมือนกับในภาษา Pascal
- สัญลักษณ์ “--” แสดงถึงความคิดเห็น
- สัญลักษณ์ “:=” หมายถึงการมอบหมายงาน
- ตัวแปรอยู่ภายในกระบวนการ เว้นแต่จะระบุไว้เป็นอย่างอื่น
- ดัชนีอาร์เรย์เขียนในวงเล็บเหลี่ยม โครงสร้าง A[i] หมายถึงองค์ประกอบ i ในอาร์เรย์ A
-
คุณสามารถใช้ออบเจ็กต์ที่ประกอบด้วยหลายฟิลด์หรือมีแอตทริบิวต์หลายรายการได้ โดยค่าของฟิลด์จะเขียนเป็น FieldName[ObjectName]
ตัวอย่างเช่น ความยาวของอาร์เรย์ A เขียนเป็นความยาว[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