# leetcode Hi {{nickname}}, 在開學式時,課程設計師 Ellen 有與同學們提到目標設定的重要,而參與 LeetCode Camp 的同學們,或多或少是希望在未來面對面試時,能取得更好的成績,並以面試表現作為 LeetCode 練功的終點目標。 然而,所謂「練功」相當個人化,每個人預計達成目標的時間點相當不同,因此,本次 **「全員動起來」** 專注在「幫助不同狀態的同學」都能運用本次機會學習,進行有目的的練功。 #### 「模擬面試」在幹嘛? 本次模擬面試將於 8/3 (二) 晚間舉辦,我們邀請到 iCook 的 CTO 與共同創辦人 Richard 作為面試官。 在入門導論的影片【學習演算法/資料結構的意義?】中,Richard 曾提到一個好的產品要考慮擴充性、可用性、效能,而作為開發者,要能夠思考這三件事,並且持續進步,就需要有資料結構與演算法的功底。 然而非本科生,會因為在體制教育內沒有學過這些就無法進步嗎?Richard 認為非本科出身的同學確實一開始會因為過往沒接觸過而遇到一些挑戰。也希望透過這次模擬面試的機會,鼓勵、幫助同學理解,這些素養是開發者需要重視、培養的。 Richard 預告了本次面試的出題邏輯: <table> <tr> <td id="kata-th">組別</td> <td id="kata-th">說明</td> </tr> <tr> <td id="kata-support">新人組:邏輯思維的驗收</td> <td id="kata-detail"> <ul> <li>重點不在於資料結構或演算法,而是著重在 computational thinking,也就是聽到題目後,能不能釐清問題、拆解問題,找到模式。過程中是否能清晰表達你的思維。</li> <li>可能對應的情境:面試前端工程師時,除了透過作品集可知道框架、工具應用經驗,可能會特別安排白板題來驗收邏輯、程式方面的水準。</li> </ul> </td> </tr> <tr> <td id="kata-support">資深組:演算法 & 資料結構素養的驗收</td> <td id="kata-detail"> <ul> <li>如果工作上會需要「自行開創功能的邏輯」,那麼就會期待你具備比較完整的「素養」,而不單是邏輯思維。例如對後端工程師特別有這種期待。</li> <li>要選擇哪些「關鍵素養」來驗收呢?Richard 考慮的是「如果沒練過,就真的在實戰中會沒有意識到」的主題,在這個方向下他選擇了 backtracking, tree, dynamic programming 做為驗收重點。「在工作上,可能會遇到某些情境是可以導入這些 solution 的,但如果你沒有這方面的素養,你就連想都不會想到」。</li> <li>至於其他的面試熱戰區如 searching & recursion,Richard 也認同這類題目能驗收出面試者的程式水平,但相比於上面三點,在實務上都能用函式庫或其他技巧解決。對他來說不是最關鍵的驗收重點。</li> </ul> </td> </tr> </table> #### 如何參與模擬面試? 針對本次活動,我們設計了: `面試選手` 與 `觀摩者` 的兩種參與方式。 ##### 1. 面試選手 考量到模擬面試的成效,選手需「進入準備面試的狀態」才能最大化運用實戰回饋進行提升,因此本次面試選手名額有限,並採取甄選制。 <table> <tr> <td>申請條件</td> <td>於 7/4 (日) 23:50 前完成<a href="https://ac-bootcamp.typeform.com/to/Ml9qhrUF" target="_blank">甄選報名表</a></td> </tr> <tr> <td>甄選方式與結果公告</td> <td>7/3 - 7/26 為徵選準備期間,教練團隊會依據同學以下三個面向: <ol> <li><b>基本門檻的完成程度</b></li> <table> <tr> <td>新人組</td> <td>Cycle 1 - Cycle 7 每個 Cycle 需提交至少 2 題</td> </tr> <tr> <td>資深組</td> <td>完成以下題目提交:<br> Cycle 10: A42, A43, A44<br> Cycle 12: A50, A51, A52 </td> </tr> </table> <li><b>準備程度</b><br> 確定報名後,教練團隊會與報名的同學定期 catch up,請同學提交準備過程的相關資訊、紀錄文件,作為評估參考</li> <li><b>與考官出題的情境符合程度</b><br> 確定報名後,教練團隊會與同學收集履歷、面試求職意向等,作為評估參考</li> </ol> </td> </tr> </table> ##### 2. 觀摩者 除了刷題練技術,如何「準備」也是一門重要的學問。AC 的焦點是協助你透過作為觀摩者的過程,讓你看懂門道、理解考官的出題思維、怎麼準備,近一步了解如何規劃自己的練習。 對此 AC 設定了一系列的行準準備清單,並開放同學索票觀摩: <table> <tr> <td>建議行前準備</td> <td> 為消化 <code>新手組</code>考題做準備: <ul> <li>Cycle 0: <a href="https://lighthouse.alphacamp.co/courses/48/units/8290" target="_blank">U11 學習演算法/資料結構的意義?如何刷 Leetcode 變強?</a></li> <li>Cycle 0: <a href="https://lighthouse.alphacamp.co/courses/48/units/8384" target="_blank">U12 演算法應用場景與面試心法</a></li> <li>完成 Cycle 1: A3, A4, A5</li> <li>完成 Cycle 2: A7, A8, A9</li> </ul> 為消化 <code>資深組</code>考題做準備: <ul> <li>Cycle 0: <a href="https://lighthouse.alphacamp.co/courses/48/units/8408" target="_blank">Cycle 6 : U43 Tree 觀念入門</a></li> <li>Cycle 0: <a href="https://lighthouse.alphacamp.co/courses/48/units/8447" target="_blank">Cycle 7 : U52 回溯法 (Backtracking</a></li> <li>Cycle 0: <a href="https://lighthouse.alphacamp.co/courses/48/units/8200" target="_blank">Cycle 12 : U60 觀念澄清:Dynamic Programming</a></li> </ul> </td> </tr> <tr> <td>索票條件</td> <td> <ul> <li>於 6/25 ~ 8/2 期間,提交至少一篇 ORID 學習心得</li> <li>於 8/2 (一) 23:59 前完成 <a href="https://ac-bootcamp.typeform.com/to/TFY7dodJ" target="_blank">報名表</a> 填寫</li> </ul> </td> </tr> </table> #### 報名表連結 - 面試選手:[https://ac-bootcamp.typeform.com/to/Ml9qhrUF](https://ac-bootcamp.typeform.com/to/Ml9qhrUF) - 觀摩索票登記:[https://ac-bootcamp.typeform.com/to/TFY7dodJ](https://ac-bootcamp.typeform.com/to/TFY7dodJ) <style> #kata-th{ background-color:#66666680; color: #fff; text-align: center; font-size: 0.9rem; } #kata-support{ width:100px; text-align: center; color: #666; font-size: 0.9rem; } #kata-detail{ color: #666; font-size: 0.9rem; } </style> {%hackmd uS_8Mq7ERo-PyOuAcCzYPA %}