在vue中使用深度選擇器修改element-ui的原生樣式
作業0(5分)
修改create.cpp檔案,改成由命令列引數確定生成的資料的資料量。修改readme.md的對應部分。(要求貼出修改之後的程式碼和read.md。)
程式碼:
#include<iostream> #include<stdlib.h> #include<time.h> using namespace std; int main(int argc, char* argv[]){ int t = atoi(argv[1]); srand((unsigned)time(NULL)); for(int i = 0; i < t; i++){ cout<< rand(); if(i != t - 1) cout << "\n"; } cout << endl; return 0; }
readme.md
readme.md |
|
作業1(10分)
對上面兩段老楊寫的程式碼任選其一進行profile,觀察現象(要求有截圖記錄)。
選擇brute.cpp進行profile。
截圖:
1)讀入兩個檔案,一個用控制檯,一個用命令列引數指出檔名。
檔案biggerwhitelist,包含1列整數1M個,隨機生成(要求老楊自己想辦法),通過命令列引數指出檔名。
檔案biggerq,包含1列整數10M個,隨機生成(也要求老楊自己想辦法),通過控制檯讀入。
截圖:
2)在檔案biggerq中查詢所有不在biggerwhitelist中的整數,重定向輸出到一個檔案中。
截圖:
readme:
readme |
1.安裝vs; 2.配置環境變數; 3.編譯2.cpp; 4.執行” 2 1000000>biggerwhitelist",生成biggerwhitelist檔案; 5.用cmd開啟2.exe所在檔案目錄,輸入命令“2 10000000>biggerq"檔案; 6.編譯brute.cpp檔案; 7.執行”brute -w biggerwhitelist < biggerq > output" ,生成output檔案。 |
作業2(10分)
以biggerwhitelist和biggerq作為輸入,對作業1中選擇的程式碼再次進行profile,找到程式碼執行最“慢”的地方,截圖為證並文字說明。
老楊再次profile之後發現了程式碼最慢的地方在哪兒。這時候你說:“既然找到了最慢的地方,那就開始對你的程式碼進行優化吧。”對於這次引導的結果,你很得意。
截圖:
作業3(10分)
根據作業2找到的最慢的地方,優化作業1中你選擇的程式碼,在保證輸出結果正確的前提下,減少老楊程式執行的時間。(優化後的程式碼需要你提交到git上,作為教師的判斷依據。優化後的程式的名字應該是better.cpp或者better.cs。)
老楊在優化了程式碼之後,發現果然程式碼執行“快”了很多,很是得意。這時候你想“好人”做到底,順水推舟一把。你說:“對優化後的程式碼再profile一下吧。”老楊與你意見一致。
bool is_match(int t, int w[], int w_length) { int n, a = 0, b = w_length - 1; while (a < b) { n = (a + b) / 2; if (t == w[n]) return false; else if (t < w[n]) { b = n - 1; } else (t > w[n]) { a = n + 1; } } return true; }
https://github.com/Freddzf/better
作業4(5分)
對作業3優化後的程式碼進行profile,結果與作業2的結果做對比。畫表格並文字說明。
最後,老楊發現了他原本程式碼的不足,並且對於你的引導表達了謝意。
但是,你還是猶豫要不要錄用老楊。因為你覺得老楊的文件(readme),註釋和程式碼風格有很大的問題,並且給老楊指了出來。
做業5(5分)
你覺得老楊的文件(readme),註釋和程式碼風格又哪些問題,該如何改進?
程式碼和readme中有中英文混合,註釋不規範。
在寫註釋和程式碼是應該更加認真謹慎,程式碼完成後,應該再次檢查。
面試結束了,你和老楊握手,對他說出了面試的結果。你說的內容,不是今天的作業題,也許是若干年以後你想對當年教你的教師說的,也許是你希望未來的面試官對你說的。你想說的是什麼呢?
基礎還是比較紮實的,很有潛力,歡迎你的加入,希望你和公司一起成長。