--- tags: info2021 --- # 2021 年「[資訊科技產業專案設計](https://hackmd.io/@sysprog/info2021)」課程第 4 次作業 contributed by <`鄉長 Sausage`> [info2021-hw4](https://hackmd.io/@sysprog/info2021-homework4) ___ ## [MediaTek - Embedded Software engineer](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120170503001?langKey=en-US) ### 工作描述 **Branch:** HsinChu **Job Category:** Software **Experience:** No Work Expe. **Education:** Master's Degree :::info Job Description ::: The Embedded Software Engineer is responsible for SOC Kernel to support MediaTek platform. He or she optimizes or refines Linux Kernel to provide the best performance on Mediatek platform. 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 :::info Requirement ::: 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. ### 分析職缺 首先,這個職缺跟 Linux driver 有關係,所以如果有一些 driver 和相關 modules 的經驗會比較好,當然也要有 C 語言的開發經驗。而從 Requirement 第 4、5 點可以看出來這個職缺可能跟公司的手機產品有關係,這方面是我目前所欠缺的,如果未來要申請這個職缺,需要瞭解這方面的東西。除此之外,可能也要有一些效能分析和改進的經驗,自己過去有相關經驗。 ### 面試題目 :::success 白板題 - 寫 swap,從中去延伸 interrupt、static 等觀念 ::: :::success Bit operation 做 swap ::: ```c void swap(int *a, int *b) { *a ^= *b; *b ^= *a; *a ^= *b; } ``` :::success OS 相關基本題: Interrupt、Process & Thread、Multi-thread、Mutex & Semaphore、 Spin lock、Sync 相關各類問題、volatile、Pipeline ::: :::success C\C++: Overloading、Virtual Function、Funtion Pointer、各種不同 scope 的 Static 用 法、Stack/heap/.bss 架構 ::: :::success 演算法: 特別需要熟悉複習的有 Sorting、Linked list 各種implementation (e.g. reverse)、Stack&heap 的實現 ::: ## [Andes - Compiler Engineer](https://www.104.com.tw/job/5hrwe?jobsource=cs_2018indexpoc) ### 工作描述 **工作經歷:** 不拘 **學歷要求:** 大學以上 **科系要求:** 資訊工程相關、電機電子工程相關 :::info Job Description ::: 1. 開發與維護 RISC-V Compiler (LLVM / GCC) 2. Code size 與 Performance 分析 3. 開發編譯器最佳化演算法 4. 開發 OpenCL framework ### 分析職缺 公司有在設計 RISC-V 晶片,會有 compiler 這方面的需求。需要有 compiler 相關的開發經驗,特別是 backend 的部分。這個職缺也會需要開發 OpenCL framework,所以也要熟悉相關 compiler 的開發、OpenCL 標準之類的。 明年碩一預計會研究 GPGPU 和 OpenCL 相關的,自己也有一些 RISC-V 經驗,往後需要加強 RISC-V extension、compiler optimization 相關的知識。 ## Reference https://www.ptt.cc/man/Tech_Job/DB04/D730/DC84/M.1610633164.A.5B2.html https://www.ptt.cc/bbs/Tech_Job/M.1501843612.A.732.html