# 資訊科技產業專案設計課程[作業 4](https://hackmd.io/@sysprog/info2021/https%3A%2F%2Fhackmd.io%2F%40sysprog%2Finfo2021-homework4) > 貢獻者: 田豐 tayoto - [ ] interviewing ## 找出較符合自身興趣/規劃的職務描述 ### [MTK Embedded System Software](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120170503001?langKey=zh-TW) :::info 職缺說明 Major responsibilities will be to: 1. Port the last Linux Kernel to MediaTek ARM based SOC. 2. Optimize the Linux Kernel for maximum performance. 3. Upstream MediaTek drivers to Linux 職缺需求 1. At least 4 years of experience with embedded Linux software development preferred. 2. Knowledge and experience with Linux kernel. 3. Strong programming skills in C. 4. Experience with multi-processors programming is a plus. 5. Experience with Android application framework is a plus. ::: * 雖此職缺為較senior之職,但與[MTK校招軟韌體開發](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120210824032?langKey=zh-TW)略為類似,故以此作探討,實際準備內容會以後者為主。 #### 自身能力分析 * 優勢 * LAB 之研究方向目前訂為 PIM* 相關之應用,會有較多的硬體知識。 * 具備 C 語言能力及修 RTOS 相關課程。 * MCU 相關之開發經驗,曾於 PIC 微控制器上實做自走路機器人。 * 劣勢 * 目前無作品集可展示,預計於下學期修 Linux 相關課程,以增加可公開展示之成品。 * 缺乏大型程式之開發經驗。 * 多執行緒程式設計。 :::info **Processing in Memory (PIM) or In-memory processing:** Data movement cost huge present of system energy comsumption in Von-Neumann architecture. In order to address this issue, data processors (DPUs) are placed within the DRAM chips to compute data-intensive operations. ::: #### 面試考題 1. 不另外使用暫存空間,改寫 swap 2. 輸入一個數字及一個array,該array長度為該數字,輸出一個數字,該數字所有子集合中總和的最大值 3. print 出 100 ~ -100 ,請寫兩種截然不同的寫法 4. 請寫一個會發生 memory leak 的程式 5. 請寫一個程式會發生 pointer 失效但是編譯是成功的 ### [Phison PCIe SSD Firmware](https://www.104.com.tw/job/76yx5?jobsource=company_job) :::info 工作內容 1. SSD演算法開發與韌體程式撰寫 2. SSD and NAND flash演算法開發 3. SATA & PCIE Protocol韌體開發及維護 其他條件 1.熟C、C++ 2.具Nand Flash管理經驗者佳 ::: #### 自身能力分析 * 優勢 * LAB 之研究方向目前訂為 PIM 相關之應用,會有較多的硬體知識。 * 具備 C 語言能力及修 RTOS 相關課程。 * MCU 相關之開發經驗,曾於 PIC 微控制器上實做自走路機器人。 * 劣勢 * 目前無作品集可展示,預計於下學期修 Linux 相關課程,以增加可公開展示之成品。 * 缺乏大型程式之開發經驗。 * 尚無 Flash 管理經驗。 #### 面試考題 1. Explain "static" 2. Difference between linked list and array 3. What is "stack" 4. T=1ms求頻率,cos弦波求震幅,給你一個V和A的gain求DB 0~1V 用8 bit去表示,排序演算法,PMOS NMOS電路圖,印出一三角形 5. int a = 0xFAFC; return (a >> 8) & 1; 之第九bit為何 6. 給定 11, 12, 23, 35, 58, ... 之數列,求其中第 n 項之值 7. 以下程式碼之輸出為何 ```cpp= unsigned int a,b; for(b = 2; b >= 0 ; b--) { a++; } cout << a; ``` ### [SMI SSD Firmware](https://www.104.com.tw/job/3q6ot?jobsource=company_job) :::info 工作內容 1.SSD controller firmware design, customization and customer support. 2.SATA/PCIe/NVMe protocol firmware design. 其他條件 1.Familiar with PATA/IDE interface(bridge) or SATA/PCIe interface. 2.Experience in NAND flash related product is a plus. ::: * 此職缺與前者相似 #### 面試題目