# 資訊科技產業專案設計課程作業 3 ### Google - ****[Software Engineer, Silicon](https://careers.google.com/jobs/results/89995286794904262/)**** ### 職位希望你有的能力 - Compiler Design - 在大學時期有修過compiler,有基本認識 - image/video/speech algorithms - 目前正在修影像處理的課程,算是對image有一點認識,以及實驗室也是做影像相關的 - programming domain-specific accelerators(GPU, TPU, or DSP) - 沒有接觸過的領域 - Android operating system, framework - 沒有接觸過的領域 - machine learning software stack - 有在學習pytorch跟機器學習相關的基礎知識 - system power and performance benchmark, profiling, analysis, and optimization - 沒有接觸過的領域 ### 職位負責內容 - Improve the performance and power of key compute workloads(e.g., Machine Learning, Image Processing, Signal Processing), focusing on observation and Speech use cases. ### 適配程度 跟我目前接觸過的東西老實說沒有那麼速配,包括他希望研究的方向是提升效能的部分,這部分我沒有接觸過,我覺得如果要朝這個職位發展,可以通過學長所說的,進一步增加自己的機器學習知識,以及可能更專注在speech/image process的一些處理方式,因為我目前學得比較多是影像相關的,Google希望的可能是你在某一個方面有較深的了解,所以我可能會更加深自己在image processing / machine learning的部分 ### Amazon - ****[Software Dev Engineer in Test](https://www.amazon.jobs/en/jobs/2125422/software-dev-engineer-in-test)**** Key job responsibilities - Learn Ring Alarm functional software/hardware architecture and details - Regularly interpret results of automation test results and diagnose and resolve failures - Work with design, development, and validation teams to review and develop tests - Develop test frameworks and related tools - Support manual regression test efforts as needed - Work with cross functional teams to debug issues - Create unambiguous bug reports in a timely manner - Influence and drive operational excellence and best practices within the organization - Actively support and mentor junior engineers to enhance skills and improve efficiency ### **BASIC QUALIFICATIONS** - Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Mechatronics Engineering or related field - 3+ years professional experience in software development and related common tools (Git, Gradle, Jenkins, Postman, Wiremock, Intellij, Xcode, Android Studio, etc..) - 1+ years experience with test automation in Continuous Integration setup - 1+ years experience in using REST APIs - Demonstrable proficiency (via live coding) in at least one modern programming language such as Java, C++, or Python - Demonstrated ability to communicate with cross functional development teams, other technical support teams, and product management teams to collect requirements - Persistent and efficient troubleshooting ability - Effective verbal and written communication ### **PREFERRED QUALIFICATIONS** - Proficiency in Software Engineering best practices - Proficiency in Computer Science fundamentals in object-oriented design, data structures, and algorithms - Experience with mobile test automation frameworks using Appium and TestNG - Experience in documentation and tracking tools such as Testrail, Jira, and Confluence - Experience in working with distributed worldwide development teams in an Agile environment - Experience working with embedded Linux platforms (Raspberry Pi, Arduino, or other microcontrollers), and DIY IoT is a plus - Knowledge of hardware practices such as hands-on measurement, soldering, and understanding schematic and layout diagrams - Familiarity with characteristics of components such as R/L/C, relay, motors, servos, sensors, etc ### 職位需要的能力 - 有使用一些工具(Git, Gradle, Jenkins, Postman, Wiremock, Intellij, Xcode, Android Studio)的經驗 - 有使用測試軟體的經驗(Appium, TestNG) - 有使用REST API的經驗 - 敏捷開發的經驗 - 有嵌入式系統的開發 - 硬體相關實作經驗、熟悉R/L/C, relay, motors, servos, sensors ### 適配分析 1. 在基本要求下我應該是都有滿足 2. 在使用工具的經驗下,我還是使用太少工具的經驗,可能只有Eclipse Visual Studio的經驗,要再多了解他所提到的經驗會更好,以及我對Git的熟悉程度要再加強 3. 沒有使用測試軟體的經驗,這個是大硬傷 4. 沒有敏捷開發的經驗 5. 在大學期間有接觸過一些嵌入式系統的實作,像是microprocessor 6. 沒有硬體的實作的經驗 ### 總結 如果真的要申請這個職位,我覺得我還有很多可以加強的部分,包括測試軟體的學習,一些基本軟體的使用,可能還要補充一些硬體的知識 ### 聯發科 - ****[2023校招/研發替代役/應屆預聘正職_軟韌體開發_ AI&Computing Platform (新竹)](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120210823006?langKey=zh-TW)**** ### 職位應具備能力 1. 具AI或機器學習(Reinforcement learning、Machine Learning、Deep Learning、NLP、Image Recognition, …etc)課程實作經驗 1. 算是蠻符合我目前的經驗,我有修影像處理、電腦視覺相關課程,也有在接觸一些AI的東西 2. 或具資料探勘/資料科學/資料分析課程實作經驗 1. 這個接觸的比較少,但基本的SQL語法還算是可以 3. 熟悉Python / JavaScript / Java 語言 1. 這三個都有接觸過,目前最熟悉的應該是Python 4. 具備解決問題的能力,及良好團隊合作與溝通能力 1. 我有過一些專案的經驗,我覺得我具備這樣的能力 ### 適配分析 1. 我覺得這個職位各方面來說都更符合我的要求,包括我學過的東西也跟他有對到 2. 資料分析相關的能力還要再培養 3. Python老實說我還是沒有很熟悉 4. 整體來說,我覺得是適合我的職位 ### 面試模擬 Interviewer : 你好,我是Google的某team的Senior Engineer,這邊想請你先自我介紹一下可以嗎? Me : 好的,我是林智平,畢業於成功大學資訊系,目前就讀於成功大學資訊系碩一,我在學期間透過在課堂上的學習,激發了我對網頁的興趣,也讓我接觸到一些前後端的開發,我這邊舉兩個我餐與過的專案,一個是我在大二期間,與同學一同開發了一個網頁APP,使用到的技術是HTML, CSS, JavaScript,他是一個信用卡推薦系統,並且有著信用卡推薦、比較,以及優惠試算和論壇系統,以及我在大三期間,與我的學姊一同開發的使用者字跡辨識系統,他主要是使用人工智慧來學習使用者的字跡的一個系統,我們透過前端的網頁讓使用者寫字,一定數量後再透過模型去訓練出字跡,我負責的是前後端及資料庫的開發,使用到的技術是前端的VueJS,以及後端的Flask+SQLite Interviewer : 想請問你在專案中遇到困難是怎麼解決的? Me : 我會先自行尋找可解決的方案,或是替代方案,並與我的組員進行討論,以找到一個所有人都可以接受的方案,舉例來說,在我上述提到的字跡訓練中,老師希望產品是一個面向使用者的,可以隨時隨地使用的,這會有兩個問題,一個是開發上我沒有Android跟IOS的開發經驗,但我會希望兩個平台的人都能使用,再來是筆壓問題,寫字要有筆壓才會有特殊性,很明顯不是每個人都隨身惜貸一隻觸控筆,所以我提出第一個,用網頁取代傳統APP,讓平台不在是問題,也可以發揮我的經驗,再來是我在網路上尋找到一個解決方案,即是用速度取代壓力,就可以創造出類似於壓力的手感,老師及我的學姊都能接受這樣的決定,而最後的成果也是讓人接受的 Interviewer : 可能在考專案的相關開發過程..… Me : 回答… 接著Coding Interview