JavaRush /Java Blog /Random-TW /開發人員職位的典型測試任務分析
Uniges
等級 35
Санкт-Петербург

開發人員職位的典型測試任務分析

在 Random-TW 群組發布
今天我想看一下實習開發人員職位的職權範圍。曾幾何時我寫過:我想分享我對這件事的看法,對於初學者在找工作時了解未來等待著他們的是什麼會有幫助。
開發人員職位的典型測試任務分析 - 1
職缺如下: 見習 PostgreSQL 開發人員 ,起薪 30,000 盧布。扣除個人所得稅前 LLC Business Technologies St. Petersburg, Kolomyazhsky Prospekt, 33k2 Business Technologies 所需工作經驗:不需
  • 全日制,全日制
職責:
  • 在開發人員的指導下實施低複雜度任務
  • 資質持續成長
要求:
  • 了解結構化程式設計原理、關係資料庫理論。
  • 責任、獨立、主動
  • 溝通技巧、團隊合作的能力和慾望
  • 高學習能力
理想的:
  • 知識
  • sql;
  • pl\sql;
  • pl\pgSql;
  • C++、Java、帕斯卡。
狀況:
  • 在穩定、動態發展的公司工作
  • 舒適的工作條件
  • 杜絕形式主義、官僚主義
  • 廣泛的專業和職業發展機會
  • 薪資依面試結果而定
  • 依勞動法登記,依勞動法帶薪休假。
  • 請在信箋註明職位代碼:Project04
測驗任務說明: 測驗旨在進行自我控制,以便申請人自行決定是否值得花時間參加面試。 偽代碼 此偽代碼用於描述演算法。
  1. 左邊距的縮排表示嵌套的層級。
  2. 循環 while、for、repeat 和條件結構與 Pascal 中的意義相同。
  3. 符號“--”表示註釋
  4. 符號“:=”表示賦值
  5. 除非另有說明,變數對於過程來說是局部的
  6. 數組索引寫在方括號中,結構A[i]表示數組A中的第i個元素
  7. 可以使用由多個欄位組成或具有多個屬性的物件;欄位值寫為 FieldName[ObjectName]。

    例如數組A的長度寫成Length[A];方括號的含義由上下文決定(表示數組的變量,或物件是指向其組成資料的指標)。為任何字段 f 分配 y:=x 後,將滿足等式 f[y]=f[x];確定屬性是函數、變數或其他任何東西是透過上下文來完成的。

  8. 指標可以具有特殊值 NIL,它不指向任何物件。
  9. 參數以值傳遞:被呼叫的過程接收其自己的參數副本;過程內部參數的變更從外部不可見。傳遞物件時,會複製指向與該物件對應的資料的指標。
問題 對元素數組 A 進行排序的函數: Sort(A,p,r) 1 if p < r 2 then q := round_half_down((p+r)/2) 3 Sort(A,p,q) 4 Sort ( A,q +1,r) 5 Merge(A,p,q,r) 陣列範例:A = (5,2,4,6,1,3,2,6) 運行範例:Sort(A,1 , length[A ]) 必需: 使用您方便的任何語言開發 Merge(A,p,q,r) 函數的演算法,無論是否使用額外內存,以您實現速度更快或更方便為準。如果您成功,我們將很高興歡迎您進行額外的測試。 我的回答: 偽代碼範例中描述的演算法是合併排序演算法。我們函數的主要任務是對無序數字數組進行排序:例如,按升序排列。這個問題分為多個子任務:將數組中的數字序列分成更小的數組,直到數組變成單值,比較數組的元素,替換它們(較小的被較大的,按索引),並合併。
開發人員職位的典型測試任務分析 - 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;
    }
}
Разбор типичного тестового задания на позицию разработчика - 3
與 Ideone 的工作代碼連結:這裡 任務成功完成,之後我被邀請參加面試,他們沒有接受面試,而是向我扔了另一批類似的任務,然後離開了兩個小時,給了我一支筆和2張A4紙。他們看也不看葉子就接過葉子,說等一下再打電話。我從這種消遣中獲得的樂趣無法用經過審查的言語來形容。但至少,這是許多人在旅程開始時必須面對的嚴酷現實。
Разбор типичного тестового задания на позицию разработчика - 4
我真誠地祝福您的訪談有趣且有建設性。明智地選擇你的雇主。祝一切順利!) P.S.:我對 2018 年 4 月(聖彼得堡)用人公司的評論可以 在這裡查看
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION