# 2023 年「[資訊科技產業專案設計](https://hackmd.io/@sysprog/info2023)」作業 3: ## 符合自身興趣/規劃的職務: ### ***MEDIATEK* 資訊(Information Technology)工程師:** :::spoiler <font color=blue>詳細內容</font><br> #### **Job Description:** 資工/資管/電子/電機/電信/通訊/電控相關研究所背景,對行動通訊、無線及寛頻連結、家庭娛樂晶片解決方案有濃厚興趣的2024年應屆畢業生。 勇於表達意見,以團隊成功為目標,面對困難不輕易放棄,總是在想更好的做法,擁有創新及不斷學習的精神。 聯發科技邀請您,與全球最頂尖的菁英一同合作,彼此激盪最新的創意與解法,共同挑戰每一個不可能。 #### **Requirement:** * 具程式語言開發能力 (C / C++ / Java / Java Script / Shell Script / Python 擇一) * 有意願深入學習資訊相關領域科技 * 電機資訊相關等工程系所尤佳 * 具備解決問題的能力,及良好團隊合作與溝通能力 ::: ---- ### ***GOOGLE* Software Engineer, Computational Photography, Machine Learning :** :::spoiler <font color=blue>詳細內容</font><br> #### **Job Description:** Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward. The Creative Camera team's mission is to imagine and build the future of photography and videography. Our team is reinventing digital imagery from new algorithms for creating the highest-quality images and videos possible on mobile devices, to creating entirely new ways of capturing and reliving our experiences. We use machine learning to produce new kinds of pictures, and photographic experiences. Our goal is to make pictures and videos with very high quality that are also engaging, fun, or magical images that astonish people. Our technologies typically combine classical vision and graphics with deep learning. We then optimize our algorithms to run fast on mobile devices, where hardware capabilities are limited. We work with several product teams, including the Google Camera App team and Google Photos. Google Research is building the next generation of intelligent systems for all Google products. To achieve this, we’re working on projects that utilize the latest computer science techniques developed by skilled software engineers and research scientists. Google Research teams collaborate closely with other teams across Google, maintaining the flexibility and versatility required to adapt new projects and foci that meet the demands of the world's fast-paced business needs. ##### **Responsibilities:** * Work on research and implementation/optimization to revolutionize the representation, editing, and creation of visual media. * Invent and develop amazing experiences for the users of Pixel phones, based on a clean-slate, software-defined, learning-based camera stack for future Pixel phones and Google Photos. #### **Requirement:** ##### **Minimum qualifications:** * Bachelor’s degree or equivalent practical experience. * Typically 5 years of experience with software development in one or more programming languages, and with data structures/algorithms. * Typically 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture. ##### **Preferred qualifications:** * Master's degree in Computer Science, Electrical Engineering, a related technical field, or equivalent practical experience. * Experience in one of the following areas such as Machine Learning, Computer Vision, Computer Graphics. * Experience in a technical leadership role. ::: ---- ### ***REALTEK* 影像處理系統設計工程師:** :::spoiler <font color=blue>詳細內容</font><br> #### **Job Description:** 視訊處理演算法開發, AI演算法開發, 演算法韌體實現。 #### **Requirement:** * 碩士以上; 電機工程、電信工程、電控工程、資訊工程相關科系畢業為主。 * 熟悉 C++, python, matlab. * 熟悉 image processing, machine learning, computer vision. * 熟悉 SOC/embedded system演算法開發。 ::: ---- ## 上述職缺所需能力: * 電機工程、電信工程、電控工程、資訊工程相關科系碩士畢業。(台商較會注重這一塊、外商除此之外有相關實作經驗也行) * 程式能力: ** 具有 5 年使用一種或多種程式語言以及資料結構/演算法進行軟體開發的經驗。(資料結構/演算法課程相當重要) ** 具程式語言開發能力 (C / C++ / Java / Java Script / Shell Script / Python 擇一) ** 熟悉 C++, python, matlab(與訊號相關,包括圖片等會需要matlab) * 具有 3 年測試、維護或發佈軟體產品的經驗,以及 1 年軟體設計和架構的經驗。 * 熟悉 image processing, machine learning, computer vision。 * 熟悉SOC/embedded system演算法開發。 * 有意願深入學習資訊相關領域科技。 * 具備解決問題的能力,及良好團隊合作與溝通能力。 ## 與職缺所需符合程度: * 電資相關科系碩士畢業。 * 習修過演算法/資料結構等相關課程。 * 熟悉python、C++。 * 修過電腦視覺、機器學習等相關課程,並且有相關開發經驗。 * 習修過嵌入式系統相關課程。 ## 缺乏之處: * 缺乏軟體維護、測試、實作的相關經驗。 * 影像處理相關領域不夠熟悉。 * 有使用過matlab不過不夠熟悉。 * 雖有習修過嵌入式系統相關課程,不過並未有演算法開發經驗。 ## 模擬面試: >😀interviewer >🤡interviewee ### 背景詢問 🤡: 詢問電腦視覺、機器學習相關開發經驗為何? 😀: 主要是利用深度學習中CNN Base的Unet結合ResNet的架構實作一個血栓檢測系統。 [補充:what is Unet](https://en.wikipedia.org/wiki/U-Net) [補充:what is Resnet](https://en.wikipedia.org/wiki/Residual_neural_network) 🤡: 詢問研究所實驗室主軸? 😀: 實驗室主要在做XXX,而我負責的部分為XXX... ...。 ### 背景知識 **影像處理、電腦視覺** 🤡: 請說出一種邊緣偵測的方法並講解步驟? 😀: "Canny edge detector" 步驟: 1. 高斯濾波 2. 找梯度大小及方向 3. 非極大值抑制 4. Linking and thresholding **SW engineerin (OS)** 🤡: 什麼是Multithreaded Programming?什麼是deadlock? 😀: Multithreaded Programming是指在computer的process中使用多個threads的程式設計技術,舉一個例子當client端提出了一個request要求server做一個動作,這時如果有Multithreaded Programming的話,process就會去產生一個thread即可實現Parallelism,提升效率。 deadlock 死結最簡單的說法就是process A 擁有一個資源 A 並且他還需要另一個資源 B才能執行,而process B 擁有一個資源 B 並且他還需要資源 A ,兩邊都不放資源所以導致雙方都無法執行。 達成死結的四個條件: * 禁止搶占(no preemption)系統資源不能被強制從一個行程中退出。 * 持有和等待(hold and wait)一個行程可以在等待時持有系統資源。 * 互斥(mutual exclusion)資源只能同時分配給一個行程,無法多個行程共享。 * 循環等待(circular waiting)一系列行程互相持有其他行程所需要的資源。 **AI** 🤡: 什麼時候會使用BatchNormalization? 😀: 主要是在每一層輸出前(activation layer前)會使用到,為了避免經過activation function時分布往飽和區跑進而導致梯度消失或爆炸的問題。 ## 延伸閱讀及參考資料 * [140 Google Interview Questions](https://www.impactinterview.com/2020/04/140-google-interview-questions/) * [關於梯度消失與梯度爆炸](https://qifong04.medium.com/%E9%97%9C%E6%96%BC%E6%A2%AF%E5%BA%A6%E6%B6%88%E5%A4%B1%E8%88%87%E6%A2%AF%E5%BA%A6%E7%88%86%E7%82%B8-287f4e039633) * [Batch Normalization 介紹](https://medium.com/ching-i/batch-normalization-%E4%BB%8B%E7%B4%B9-135a24928f12) * [BatchNormalization:AcceleratingDeepNetworkTrainingby ReducingInternalCovariateShift](chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://arxiv.org/pdf/1502.03167.pdf%E7%9A%84paper%E9%80%82%E5%90%88%E6%83%B3%E6%B7%B1%E5%85%A5%E4%BA%86%E8%A7%A3%E5%8E%9F%E7%90%86%EF%BC%8C%E8%BF%99%E4%B8%AA%E8%A7%86%E9%A2%91%E5%BE%88%E6%B8%85%E6%A5%9A%E7%9A%84%E8%AE%B2%E4%BA%86bn%E8%B5%B7%E5%88%B0%E7%9A%84%E4%BD%9C%E7%94%A8%E3%80%82) * [工作 & 面試分享 — Machine Learning Engineer](https://come880412.medium.com/%E5%B7%A5%E4%BD%9C-%E9%9D%A2%E8%A9%A6%E5%88%86%E4%BA%AB-machine-learning-engineer-a4c453647fdd#6520)