---
title: Info2021 Homework 4
tags: 資訊科技產業專案設計, interview
---
# 資訊科技產業專案設計課程作業 4
> 貢獻者: 曲明梓 Lucky
## 符合自身規劃的工作
### MediaTek
- [AI algorithm engineer for computer vision & image processing](https://careers.mediatek.com/eREC/JobSearch/JobDetail/AG4214070701)
- [CV/NN SDK Developer](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120200723001)
- [AI researcher for computer vision and multimedia](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120210813002)
### RealTek
- [影像處理系統設計工程師](https://recruit.realtek.com/zh/index.php?option=com_content&view=article&id=10274)
- [Camera系統設計工程師P1](https://recruit.realtek.com/zh/index.php?option=com_content&view=article&id=10422)
## 需要能力以及自身專業匹配度
### MediaTek
[AI algorithm engineer for computer vision & image processing](https://careers.mediatek.com/eREC/JobSearch/JobDetail/AG4214070701)
#### Requirement:
* Experience in deep learning (supervised learning, unsupervised learning, or reinforcement learning)
> 碩士目前研究有涉及Deep learning,預計碩士論文題目是image processing結合deep learning
* Experience in computer vision or image processing algorithm development
> 碩士目前研究有涉及computer vision 跟image processing,預計碩士論文題目是image processing結合deep learning
* Experience in deep learning frameworks (Caffe, TensorFlow, or PyTorch)
> 碩士目前研究有涉及deep learning,過程中有用到TensorFlow跟Pytorch
* Familiar with C/C++, Matlab or Python programming
> 經常使用C/C++以及Python,Matlab有稍微接觸
[CV/NN SDK Developer](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120200723001)
#### Requirement:
##### Minimum Requirements:
* MS in Computer Science or related fields
> 符合
* Fluency in C/C++
> 經常使用C/C++
##### Preferred Requirements:
* Familiar with OpenCV/OpenVX is a plus
> 經常使用OpenCV,OpenVX沒怎麼接觸過
* Familiar with OpenCL/Halide programming language is a plus
> 沒有接觸過
* Familiar with other AI SDK is a plus
> 碩士目前研究有涉及deep learning,時常測試不同的AI
* Familiar with Neural Network framework
> 碩士目前研究有涉及deep learning,有用過CNN以及GNN等不同類型的Neural Network
* Familiar with DSP HW architecture
> 對DSP了解不深
* Experience working with computer-vision solutions or machine-learning solutions
> 碩士目前研究有涉及computer vision 跟deep learning,預計碩士論文題目是computer vision結合deep learning,對machine learning演算法也有了解
[AI researcher for computer vision and multimedia](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120210813002)
#### Requirement
* Programming language: C/C++ or Python
> 經常使用C/C++以及Python
* Deep learning tools: tensorflow or pytorch
> 經常使用tensorflow以及pytorch
### RealTek
[影像處理系統設計工程師](https://recruit.realtek.com/zh/index.php?option=com_content&view=article&id=10274)
#### Requirement
* 碩士以上; 電機工程、電信工程、電控工程、資訊工程相關科系畢業為主。
> 符合
* 熟悉 C++, python, matlab.
> 經常使用C++以及python,對matlab僅有粗淺了解
* 熟悉 image processing, machine learning, computer vision.
> 碩士目前研究有涉及computer vision 跟deep learning,預計碩士論文題目是computer vision結合deep learning,對machine learning演算法也有了解
* 熟悉 SOC/embedded system演算法開發。
> 僅有粗淺了解
[Camera系統設計工程師P1](https://recruit.realtek.com/zh/index.php?option=com_content&view=article&id=10422)
#### Requirement
* 碩士以上;電機工程、電信工程、電控工程、電子工程、資訊工程、資訊科學、動力機械、自動控制、通訊工程、其他[數學/物理相關科系]相關科系畢業為主。
> 符合
* 熟悉 C/C++, Matlab, python.
> 經常使用C/C++以及python,對matlab僅有粗淺了解
* 了解"影像處理原理"和"相機相關知識和原理"為佳。
> 碩士目前研究有涉及computer vision 跟image processing,預計碩士論文題目是computer vision結合deep learning,對影像處理跟相機知識有所了解
* 經常要研讀 paper, 故需精通英文閱讀。
> 平時經常閱讀computer vision跟deep learning的相關paper
## 面試題目
### MediaTek
1.什麼是OS
2.講解一下 Process 及 Thread 的差別跟比較
3.講解一下如何避免 Race Condition
4.講解一下什麼是 Hazard
[C test]
1.Explain "#error"
2.Explain "struct" and "union"
3.Explain "volatile".Can we use "const" and "volatile" in the same variable? Can we use "volatile" in a pointer?
4.unsigned long v1 = 0x00001111;
unsigned long v1 = 0x00001202;
unsigned long v;
v=v1&(~v2)
v=v|v2
ask:the value of v
5.int a[5]={1,2,3,4,5}
int *p = (int*)(&a+1);
ask:the value of *(a+1) ,(*p-1)?
6.write a code
(a) set the specific bit
(b) clear the specific bit
(c) inverse the specific bit (0->1;1->
7.Re-write void(*(*papf)[3])(char*)
typedef____________;
pf(*papf)[3];
8.write a code that check the input is amultiple of 3 or not without using division or mod
9.Explain lvalue and rvalue.
一面一開始先簡單自介,接著就是用投影片報自己做過的東西,面試官會針對投影片內容做提問,接著面試官就會介紹自己部門在做哪些事,然後問你有沒有什麼問題
HR電訪:主要就是針對履歷上一些經驗提問,還有一些人格特質的問題,像是外務和學業我要怎麼取得平衡,英文和程式是如何自學的,以目前的offer而言會怎麼做抉擇等等
### [RealTek](https://ptt-politics.com/Tech_Job/l/POLITICS.M.1625414794.A.C93)
```
Q1: 不能用if 和 switch case , 請用你認為最快的方法實作main
extern void func1(void);
extern void func2(void);
extern void func3(void);
extern void func4(void);
extern void func5(void);
void main(int n)
{
if n==1 execute func1;
if n==2 execute func2;
if n==3 execute func3;
if n==4 execute func4;
if n==5 execute func5;
}
Q2: 不使用if, 請用你認為最快的方法實作main
extern void func1(void);
extern void func2(void);
extern void func3(void);
extern void func4(void);
extern void func5(void);
void main(int n)
{
if n==33 execute func1;
if n==67 execute func2;
if n==324 execute func3;
if n==231 execute func4;
if n==687 execute func5;
}
Q3: Explain "#error"
Q4: Explain "struct" and "union"
Q5: Explain "volatile".
Q6: the value of v?
unsigned long v1 = 0x00001111;
unsigned long v2 = 0x00001212;
unsigned long v;
v = v1 & (~v2);
v = v | v2;
Q7: the value of *(a+1), (*p-1)?
int a[5] = {1, 2, 3, 4, 5};
int *p = (int*)(&a+1);
Q8: write a code
a) set the specific bit
b) clear the specific bit
c) inverse the specific bit (0->1; 1->0);
Q9: Re-write typedef _____;
void(*(*papf)[3](char *);
pf(*papf)[3];
Q10: write a code that check the input is a multiple of 3 or not without using division or mod
Q11: Explain lvalue and rvalue
Q12: 寫一個 function 可傳入正整數參數 N,回傳 1 + 2 + 3 +…+N 的和
Q13: reverse a string
Q14: reverse a linked list
Q15: 下面是一個 union ,請問要參考 ival 的值語法為何 ?
Q16: 寫一個“標準”巨集MIN ,這個巨集輸入兩個參數並返回較小的一個。
Q17: Write a code to swap integer a, b, without temporary variable.
Q18: Write a MARCO to calculate the square of integer a.
```