# 資訊科技產業專案設計課程作業 3
### [聯發科 2024校招預聘_軟韌體開發_Camera/ Smart Display /Multimedia/Audio/Video (台北)](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120230901000?returnUrl=%2FeREC%2FJobSearch%3FsortBy%3D%26order%3D%26page%3D1%26searchKey%3D%25E7%25A0%2594%25E7%2599%25BC%25E6%259B%25BF%25E4%25BB%25A3%25E5%25BD%25B9%26category%3D%26workExp%3D%26branch%3D%26program%3D)
::: spoiler
#### 職務說明
參考 [Camera、TV、CPU/GPU](https://careers.mediatek.com/eREC/Content/PDF/Software.pdf)
#### 職務需求(Camera、TV、CPU/GPU)
* 基本學科要求: Multi-Media、Multi-Thread Programming Skill、Linux programming、Android programming、Object Oriented Programming、Computer Graphics、Computer Vision、Software Engineering、Data Structure、Algorithm、Operation system、Computer Architecture、Image Processing
* 會使用的工具/軟體: Git/Gerrit, GNU Toolchain & Makefile, Linux system, Android system, C/C++, Python, OpenGL/OpenGL|ES, GLSL/CUDA, Vulkan, Android Grapphics System, Perl, bash, batch, Android Studio, jenkins
* 有 Linux kernel driver 開發或 Linux kernel/open source upstream 經驗者佳
:::
#### 自身評估
* 不足
* 沒有 Android 的開發經驗,對 Android 系統不了解
* Linux kernel driver 開發相關經驗及知識要再加強
* 沒修過多媒體相關課程也不具備相關知識
* 沒用過 jenkins
* 尚可
* 大部分基本學科都有學過,但部分學科可能要稍微加強 e.g. 影像處理、電腦視覺、電腦圖學
* 大部分開發工具及軟體有使用經驗
### [瑞昱 113年度研發替代役&預聘_應屆畢業人才-數位IC驗證工程師](https://recruit.realtek.com/Job/JobDetail?jobid=1817)
::: spoiler
#### 職務說明
網站上沒寫,參考 [IC驗證工程師工作經驗分享](https://www.ptt.cc/bbs/Tech_Job/M.1477695484.A.74C.html)
#### 職務需求
* 熟悉C/C++、硬體描述語言(Verilog)和驗證語言(Vera/systemVerilog)。
* 具IC設計經驗者佳。
* 對晶片設計驗證或程式設計有濃厚興趣者。
* [工作相關技能](https://www.ptt.cc/bbs/Tech_Job/M.1477695484.A.74C.html)
* Linux + shell script
* scipt language (Perl, Python, Tcl, ...)
* simulator (IUS, VCS, ModelSim)
* debugger (通常是Verdi)
* SystemVerilog/VMM/UVM
* FPGA
* 各種Protocal(AMBA, SPI, I2C, SDIO, ...)
:::
#### 自身評估
* 不足
* IC 設計相關課程掌握度不高 e.g. 電子/電路、數位訊號處理
* 對 FPGA 不熟悉
* 沒寫過 SystemVerilog , tb 撰寫經驗不多
* 相關工作技能要在多了解
* 尚可
* 懂得基本電路設計相關知識,對 verilog、modelsim熟悉,知道如何透過波形圖 debug,寫過 LZ77 encoder decoder,也跟同學合作一起寫過 AI 加速器,使用 design compiler 合成並透過自己產生得測資驗證正確性
### [群暉 Product Developer (雲端桌面應用軟體開發)](https://career.synology.com/zh-tw/HQ/position/28)
::: spoiler
#### 職務說明
職務說明
You will be developing easy-to-use and robust applications running natively on mainstream operating systems that connect with our cloud platform, Synology C2. Key to your team's success will be the creation and maintenance of important APIs across all our products and services, used to ensure a user-friendly and cohesive customer experience. Projects you work on will directly impact our end users across tens of thousands of businesses and their employees.
#### 職務需求
You are expected to have:
- Proficiency with C/C++
- Proficiency with one of the following: Golang, Python, Shell Script
- Experience in concurrent programming/multithreading skills and debugging
- Familiarity with Unix/Linux software development environments
We're targeting candidates with:
- Experience in modern C++
- Experience in native OS programming in Windows/Linux/Mac
- Experience in TCP/IP network socket programming
- Experience in cross-platform application frameworks, such as QT
- Strong ability to diagnose performance problems and leverage debugging tools
:::
#### 自身評估
* 不足
* 沒有 native OS programming 經驗,找時間了解 native OS programming 有什麼實際例子
* 對 TCP/IP network socket programming 不熟,對網路相關知識也不熟
* 強化自身分析問題的能力
* 尚可
* 有 C/C++、Python、Shell Script 使用經驗
* 有做過 concurrent programming/multithreading 相關研究 e.g. RCU、concurency linked list
* 熟悉 linux 相關介面及開發,會使用一些 debuggin tools
### 模擬面試
> interviewer : 🐱
interviewee : 🐭
🐱: 請簡單介紹一下自己
🐭: 我是 XXX 就讀於成大資訊所,碩論研究領域為生成模型的應用,像是影片生成及編輯技術,如何將擴散模型運用在上述問題是我主要想解決的問題,另外,在學期間做過的研究中,並行程式設計及 AI 加速器的實作及分析是我自己最有心得的,此外我也有 opensource 專案的探討與貢獻經驗,總結來說,我認為自己大的長處就是專案分析及改進的能力。
🐱: 有與他人合作過的經驗嗎? 具體如何分工的?
🐭: 我有跟同學一起實作過 AI 加速器的經驗,這個專案可以簡單分為軟體端(pytorch)、硬體端(verilog),因為我主要研究領域是深度學習,我主要做軟體端部分,不過我也有數位電路設計的相關經驗,所以硬體端也會跟同學互相討論幫忙,簡單舉個我解決的困難,因為 pytorch 文件並未說明 PTQ 具體是如何做到的,所以無法得知如何將資料從 Float32 轉成 INT8,這就導致我們硬體實作上的困難,後來我在 pytorch 社群看到相關討論,並實際在軟體端取出 input/weight scaling factor 及 zero point 進行運算並驗證,我們終於了解它背後的原理,這也讓我可以在軟體端先做數值愈處理,再將 INT8 資料傳給我們的硬體。
🐱: 請你簡單解釋擴散模型
🐭:假設我們有一個資料集分布,我們可以透過已知的前向過程對資料加上噪聲,加噪的步數夠多的話,資料最後會變高斯噪聲,此時我們可以透過反向過程來將高斯噪聲去噪,但我們並不知道如何對她去噪,這時候我們便透過深度學行模型來學習並去噪的過程。最後,我們就可以通過此模型從高斯噪聲中產生新的資料。
### 簡歷
[resume](https://drive.google.com/file/d/19Uq_1W2cSAdk7ihxTBM7APOSw0T05tlB/view?usp=sharing)
### 參考面試心得分享
* [[心得] 新鮮人軟軔面試心得](https://www.ptt.cc/bbs/Tech_Job/M.1624807427.A.A08.html)
* [2023 年後面試分享(聯發科、群聯、群暉、知微科技)](https://www.dcard.tw/f/tech_job/p/241606966)
* [軟韌體研替面試(一線IC/大陸公司)](https://www.dcard.tw/f/tech_job/p/237635868)
* [[心得] 大 M 面試心得](https://www.ptt.cc/bbs/Soft_Job/M.1648960733.A.313.html)