# 2023 年「[資訊科技產業專案設計](https://hackmd.io/@sysprog/info2023-homework1)」作業 2 >貢獻者: 朱舞花-Flowey 🧔:interviewer 👶:interviewee >[模擬面試錄影(漢)](https://youtu.be/tMQazGz56X8) ## [643. Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/?envType=study-plan-v2&envId=leetcode-75) #### 面試過程 🧔:同學妳好,本公司的主要業務是旅遊行程安排,最近將推出一日由南到北旅遊景點規劃,有多個旅遊景點可供選擇,客戶會需要決定今日要參訪幾個景點,這些景點必須符合由南到北順路且相鄰,請寫程式計算並回傳這幾個景點的民眾平均最多次參訪次數,請妳在事先分享的 Google Docs 上答覆,過程中若有任何想法就直接寫下,便於後續討論。 👶:請問您的意思是假設要求要參訪k個景點,例如k=3,那麼我在這些景點中選出大眾的平均參訪次數最多的三個景點並符合由南到北順路且要相鄰,最後計算出這三個景點大眾的平均參訪次數回傳嗎? 🧔:沒錯。 ``` double finf_Max(int* num,int numSize,int k){ if(k>numSize) return -1 int sum=0; for(int i=0;i<k;i++) sum+=num[i]; double maxSum=sum; for(int i=k;i<numSize;i++){ sum=sum-num[i-k]+num[i]; if(sum>maxSum)maxSum=sum; } return maxSum/k; } ``` ## 初步檢討 * 忘記提及延伸問題及Optimize和時間複雜度的說明。 * 寫程式時多善用註解,讓interviwer更便於理解。 ## 改善方法 * 可將思考方向先當作註解寫在程式上,減少混淆也能解釋程式。 * 當撰寫完程式記得提一下時間複雜度並解釋。 * 要提出可供改善的方法。 ## 對其他同學的批評和意見 我主要評價了這幾位同學的模擬面試影片: * [美生菜-Murphy](https://hackmd.io/@sysprog/HJzPbOaya) * [半條悟-satoru](https://hackmd.io/@sysprog/HyktWdpyT) * [呆呆獸-Slowpoke](https://hackmd.io/@sysprog/Sy2E1d6yp) * [喬喬-JOJO](https://hackmd.io/@sysprog/HJnFk8akp) * [黑瑟甘-Hei](https://hackmd.io/@sysprog/Bk12JOTJp) 我覺得同學們的語速和咬字基本上都算清晰可辨,少數幾位同學的聲音聽起來比較有氣無力,我覺得這可能會影響到給interviwer的觀感所以有特別指出來;還有關於時間複雜度的部分我覺得也可以在寫完程式的結尾簡單地交代一下。 同學們的優點是interviwee也有適當地跟interviwer互動來確認自己沒有誤解題意,但是要注意程式碼在影片上的呈現,畫面太小會導致難以閱讀程式碼,讓其他人無法解讀。我想在影片的編輯上解析度和畫面一致性也是需要留意的地方。 我自己在這次的模擬面試中缺漏了對interviwer舉例說明的部分。在之前的模擬面試中的部分稱呼不恰當和程式碼說明可能沒有很清楚,這是我主要學習到並且需要改善的地方。