# 資訊科技產業專案設計課程作業 3
## [履歷](https://drive.google.com/file/d/1jdDAJj0sHgGayVv8-6ju7PX4qsT6pOgt/view?usp=sharing)
## 符合自身興趣/規劃的職務
### [MediaTek: 影像處理演算法工程師](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120240826001?returnUrl=%2FeREC%2FJobSearch%3FsortBy%3D%26order%3D%26page%3D2%26searchKey%3D%26category%3D9002%26workExp%3D0011%26branch%3D%26program%3D)
:::spoiler job description
We are looking for a Camera Development Engineer to join our R&D team. The candidate should possess knowledge ranging from basic to advanced signal processing, as well as expertise in camera algorithm development, and a passion for new technologies.
:::
:::spoiler application requirement
1.熟悉影像處理演算法
2.熟悉電腦視覺演算法
3.熟悉相機功能及演算法
4.熟悉訊號處理
5.熟悉 C/C++ 語言程式設計
:::
### [Novatek: 影像處理演算法工程師](https://www.104.com.tw/job/79ypr?jobsource=index_s_cs)
:::spoiler job description
1. 影像處理演算法及ISP開發
(Digital Signal/Image Processing algorithm development)
2. 與IC designer合作完成演算法之硬體實作及驗證
(Co-work with IC designer for RTL implementaion and verification)
:::
:::spoiler application requirement
1. 良好的溝通能力與團隊合作觀念, 快速的學習能力
2. 熟悉3A/Denoise/Sharpen/3DNR/HDR等數位影像處理演算法與ISP pipeline架構
3. C語言影像處理實作能力
4. 熟悉Matlab
5. 具備影像畫質分析能力, 熟悉Imatest操作
:::
### [Google: Software Engineer](https://www.google.com/about/careers/applications/jobs/results/137721392706527942-software-engineer-university-graduate-2025?q=%22Software%20Engineer%22&location=Taiwan&src=Online/House%20Ads/BKWS_LOC5&gad_source=1&gbraid=0AAAAA-TINRHMhVpqithGicLhpq9lbbtig&gclid=Cj0KCQiAi_G5BhDXARIsAN5SX7qw-1JwBhDZFeR3uXFZabahTNQq6Wu2qDZVBNb5Pb5VIEMbq94RXBIaAv2SEALw_wcB)
:::spoiler job description
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.
:::
:::spoiler application requirement
Bachelor’s degree or equivalent practical experience.
5 years of experience with software development in one or more programming languages, and with data structures/algorithms.
3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
3 years of experience with state of the art GenAI techniques (e.g., LLMs, Multi-Modal, Large Vision Models) or with GenAI-related concepts (language modeling, computer vision).
3 years of experience with ML infrastructure (e.g., model deployment, model evaluation, optimization, data processing, debugging).
:::
## 個人簡歷 & 自我分析
### 學歷背景
* 國立中正大學資訊工程學系
* 國立成功大學資訊工程研究所(就讀中)
### 優勢
:::success
* 擁有電資相關碩士學歷。
* 修習電腦視覺與影像處理課程。
* 具多項產學合作經驗,專注AI模型開發。
* 具AI系統實際應用落地經驗。
* 曾經當任交換學生,具備與外國人溝通的能力。
:::
### 劣勢
:::danger
* 非純血頂大電資。
* 沒有嵌入式系統的經驗。
* 對於 IC Design 較沒有背景
* 對於 Linux Kernel 深入實作較少
:::
### 改善方法
* Linux Kernel: Linux 核心設計
* 嵌入式系統: 修習張大緯老師在下學習的課**嵌入式作業系統分析與實作**
* IC Design: 修習陳培殷老師在下學期的 **DIC** 課程
## 模擬面試問答
Interviewee: 請解釋 C 語言中 call by value 跟 call by reference 的差異
Interviewer: call by value 傳遞的是參數的副本。函式內對參數的修改不會影響原變數。使用時較為安全,因為原始數據不會被改動。而 call by reference 傳遞的是參數的記憶體位址。函式內對參數的修改直接影響原變數。
較為高效,適合處理大量數據,但需小心避免意外更改。
Interviewee: 那請你解釋物件導向程式語言三個最大的特徵。
Interviewer: 多形、繼承、封裝。
Interviewee: 如果說我今天使用多執行緒,潛在危險有甚麼?
Interviewer: 如果不同的執行緒同時 access 同一塊 memory 並修改,可能造成 race condition 的問題。我們可以用 mutex lock 讓其中一個執行緒執行時鎖住,但會消耗較大量的成本,並且可能造成 Thread Starvation 。或者我們也可以用 spinlock 的方式,藉由 while-loop 形成 busy-waiting。