Try   HackMD

2021 年「資訊科技產業專案設計」課程第 4 次作業

contributed by <鄉長 Sausage>
info2021-hw4


MediaTek - Embedded Software engineer

工作描述

Branch: HsinChu
Job Category: Software
Experience: No Work Expe.
Education: Master's Degree

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

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 點可以看出來這個職缺可能跟公司的手機產品有關係,這方面是我目前所欠缺的,如果未來要申請這個職缺,需要瞭解這方面的東西。除此之外,可能也要有一些效能分析和改進的經驗,自己過去有相關經驗。

面試題目

白板題 - 寫 swap,從中去延伸 interrupt、static 等觀念

Bit operation 做 swap

void swap(int *a, int *b)
{
    *a ^= *b;
    *b ^= *a;
    *a ^= *b;
}

OS 相關基本題: Interrupt、Process & Thread、Multi-thread、Mutex & Semaphore、
Spin lock、Sync 相關各類問題、volatile、Pipeline

C\C++: Overloading、Virtual Function、Funtion Pointer、各種不同 scope 的 Static 用
法、Stack/heap/.bss 架構

演算法: 特別需要熟悉複習的有 Sorting、Linked list 各種implementation (e.g.
reverse)、Stack&heap 的實現

Andes - Compiler Engineer

工作描述

工作經歷: 不拘
學歷要求: 大學以上
科系要求: 資訊工程相關、電機電子工程相關

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