# 2017Homework1-整理面試題目
###### tags: `jeff60907`
[ptt salary 轉職面試心得 - 歐美、中國、台灣工作](https://www.ptt.cc/bbs/Salary/M.1501726432.A.4C3.html)
一篇很棒的分享在面試中感受到國外公司、台灣的外商和台企的區別,薪資以及求職管道獵人頭等等
[程式語言面試考題集錦](https://softnshare.wordpress.com/2016/02/21/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%E9%9D%A2%E8%A9%A6%E8%80%83%E9%A1%8C%E9%9B%86%E9%8C%A6/)
這個作者整理一些在不同社群所看到各式流傳程式語言的面試考題並進行分類,讓不同程式語言可以藉這些考古題測試一下自己是否有不懂的地方
# 面試題目
:::info
公司名稱:普安科技
職務說明:軟韌體工程師 研替
面試題目:
```
1.data size
2.struct and union
3.利用c語言,將字串*str2接序在*str1後
4.解釋deadlock、Race conidtion
5.write a program :copy 4,5,6,7bits of 0x1234567 to 0x145678f 1,2,3,4 bits
6.stack point跳轉到function需要哪些暫存器
```
流程:NA
出處:去年學長面試心得
:::
:::info
公司名稱:群暉Synology Inc
職務說明:研替
面試題目:
```
1.實做f(n) = 1-2+3-4...+/-n
2.實做矩陣相乘,如[3*4] * [4*2] = [3*2]的矩陣
3.給你一binary tree,求樹高、節點數
4.解釋const、static、volatile、程式在記憶體中的配置->stack與heap
```
流程:NA
出處:去年學長面試心得
:::
:::info
公司名稱:群暉及聯發科
職務說明:研替
面試題目:
```
1.什麼是OS
2.講解一下 Process 及 Thread 的差別跟比較
3.講解一下如何避免 Race Condition
4.講解一下什麼是 Hazard
```
流程:NA
出處:[群暉及聯發科研替面試分享 ](https://npes87184.github.io/%E9%9B%9C%E8%A8%98/2015/09/05/interviewShare.html#section-1)
:::
:::info
公司名稱:群暉科技Synology Inc
職務說明:研替
面試題目:
```
OS相關的問題:
1.process, thread的差異
2.shared memory
3.mutex, semophore
4.paging
5.dll如何運作
data structure/algorithm相關的問題:
1.(不用寫code)
給兩個set A,B. 想輸出A - B要怎麼做?複雜度呢?
2.(不用寫code)
描述一下經典算法LCS怎麼做的
3.
講一下array, linked list, tree的優缺點, 以及使用時機
Coding 題:
1.給你一個BST的struct 結構,寫出insert操作
2.給你一個N bit的數字,輸出他有幾的bit是1
3.給你一張圖,寫一個function參數是起點跟終點,找出最短路的長度
4.追加問題:那如果我想印出這條path有辦法嗎?
"你要不要描述一下你印象最深刻的project是什麼?"
"為什麼是這個?"
"那你們怎麼分工的?"
"這個project裡最有印象的是哪一份code?是做什麼的?"
"你寫過的code以來,最難debug的code是怎樣的?"
```
流程:
```
第一關:
進來一位RD, 看起來很活潑可愛XD
首先請我簡單自我介紹一下
聊聊我的論文寫了些什麼
第二關:
進來一位主管,笑容滿面XDD
問了我最近有沒有什麼興趣,我說我最近喜歡在coursera上看ML的課程
然後就開始跟我聊ML了! <-- 自爆的下場XD
聊到paper的部分也是讓我介紹一下,為什麼會找這個題目,
跟別人有什麼不一樣,複雜度部分好了多少之類的
第三關: (第二天的面試)
進來的是人資姊姊
這是我覺得面試到現在最煎熬的一關XD
人資姊姊的問題都是偏向個性,人格特質相關的問題
真 - 第三關:
進來的是一位RD
跟我聊聊履歷上project的內容
做的過程是如何分工的
有沒有遇到什麼樣的困難
第四關:
(之前跟別人聊過,這一關通常是講一下你有沒有offer
薪水,公司狀況,給你問問題之類的)
進來的人遞了張名片給我,是位經理
然後,他就開始問我問題了XDDDDD
最後面試結束後閒聊及介紹公司
```
出處:[來源ptt Tech_Job](https://www.ptt.cc/bbs/Tech_Job/M.1444375205.A.EB3.html)
:::
:::info
公司名稱:瑞昱(Realtek)
職務說明:NA
面試題目:
```
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.
```
流程:NA
出處:[學長留下的考古題](https://chun-ikuo.hackpad.com/-Prepare-RsOrTLMnkXQ)
:::
:::info
公司名稱:Google
職務說明:Software Engineer in Test
面試題目:
```
1.Efficiently implement 3 stacks in a single array.
2.Given an array of integers which is circularly sorted, how do you find a given integer.
3.Write a program to find depth of binary search tree without using recursion.
4.Find the maximum rectangle (in terms of area) under a histogram in linear time.
5.Describe recursive mergesort and its runtime. Write an iterative version in C++/Java/Python.
6.How would you determine if someone has won a game of tic-tac-toe on a board of any size?
7.Given an array of numbers, replace each number with the product of all the numbers in the array except the number itself *without* using division.
8.Create a cache with fast look up that only stores the N most recently accessed items.
9.How to design a search engine? If each document contains a set of keywords, and is associated with a numeric attribute, how to build indices?
10.Given two files that has list of words (one per line), write a program to show the intersection.
11.What kind of data structure would you use to index annagrams of words? e.g. if there exists the word “top” in the database, the query for “pot” should list that.
```
流程:NA
出處:[140 Google Interview Questions](https://www.impactinterview.com/2009/10/140-google-interview-questions/)
:::
## 目標規劃
* 要求:
1. 列出鎖定之目標產業(如:IC、手機、傳產...)並找出相對應公司,並報告該公司的營運項目。
* 沒有明確目標者至少列出心目中的公司(例如:我就想去聯發科技,並報告該公司的營運項目)
2. 列出該類型職缺(付上連結)
3. 列出生涯規劃(如:我35歲不想再寫程式,想做管理階層)
4. 列出你目前的競爭能力
5. 三分鐘自我介紹逐字稿(HR可以理解的版本)
## 目標產業
電腦/機器人視覺、機器人產業、多軸飛行器、無人駕駛、IC軟韌體設計
## 職缺
* 聯發科技
* [影像與視訊處理演算法工程師](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120170606004?langKey=zh-TW)
1. Camera and display image processing.
2. HDR (high dynamic range) image processing.
3. Multi-frame motion image alignment and blending algorithm.
4. 需求背景:
熟悉影像與視訊處理演算法
熟悉電腦視覺演算法
熟悉 C/C++ 及相關開發工具 (如Matlab)
* [電腦視覺與機器學習技術研發工程師](https://careers.mediatek.com/eREC/JobSearch/JobDetail/AG4214070701?langKey=zh-TW)
Knowledge in image processing, computer vision, and machine learning. Excellent programming skills (C/C++). Education or experience include:
1. Architecture design and implementation of computer vision algorithms;
2. Image processing/feature extraction;
3. Object detection/tracking;
4. Pattern recognition/machine learning;
5. Computational photography;
6. Multiview geometry /3D reconstruction.
* [2018研發替代役/應屆預聘正職_多媒體演算法開發](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120170717008?langKey=zh-TW)
1. 數位影像處理
2. 電腦視覺演算法開發
3. 顯示技術演算法開發
4. 機器學習演算法開發
5. 精熟常用程式語言如C/C++/Java/Matlab
* 瑞昱
* 安霸
* [Computer vision engineer](https://www.104.com.tw/job/?jobno=4gp20&jobsource=)
The job is to design/verify/improve the algorithm for computer vision running on embedded system.
1.Strong background of image processing /computer vision.
2.Knowledge of C/C++ performance fine tune will be a plus.
3.Familiar with embedded system programming will be a plus.
4.Familiar with multimedia standards (JPEG,MPEG 1/2/4, H.264, VC-1) will be a plus
* [Image and calibration Engineer](https://www.104.com.tw/job/?jobno=2eu8f&jobsource=)
Maintain and develop camera calibration algorithm.
Maintain and develop simulation tool.
1. Experience in embedded system and C programming.
2. Familiar with algorithm optimization will be a plus.
* [System Application Engineer](https://www.104.com.tw/job/?jobno=5mjjr&jobsource=)
Development application for camera system, such as system framework design and camera flow, such as ADAS, integration.
1.Familiar with C programing language.
2.Familiar with embedded system programming (ThreadX, Linux) will be a plus
3.Familiar with camera system will be a plus
4.Familiar with ADAS will be a plus
* 原相
* 立普思
主要商品/服務項目
3D SENSING TOTAL SOLUTION
Focused on Time-of-Flight (ToF) and Stereo Vision technology for consumer and industrial products.
Provide hardware and middleware for 3D Scanning, 3D Surveillance, Gaming, Smart TVs, Biometric Systems, Robotics, etc
* [機器人軟體研發工程師](https://www.104.com.tw/job/?jobno=56vit&jobsource=n104bank1)
1. PCL, OpenCV 與 ROS 開發經驗者佳
2. 具SLAM and Navigation、path learning、automatic navigation者佳
3. 熟平行處理CUDA、OpenCL尤佳
* [軟體工程師](https://www.104.com.tw/job/?jobno=4ppzt&jobsource=n104bank1)
1. 熟練C/C++。
2. 熟悉OpenCV、OpenNI及MatLab尤佳。
3. 熟悉平行處理NEON、OpenCL或CUDA尤佳。
* 廣明光電股份有限公司_廣達關係企業
* [機器人--電腦視覺演算法工程師](https://www.104.com.tw/job/?jobno=4t23e&jobsource=)
1. Design and implement Computer vision/ Machine learning algorithm for industrial robot;
2. Cooperate with a cross-function team to develop smart features in robot applications;
3. Maintain, debug and document developed codes.
4. 其他條件:
Basic Requirements:1.Enthusiasm for building state-of-the-art robots with smart vision;2.Strong coding skills in C and C++;3.Experience in developing computer vision/machine learning algorithmsPlus:1.Experience with algorithms on 3-D point cloud;2.Strong knowledge on camera calibration, camera geometry and robot's hand/eye system;3.Experience with system integration of robot and vision
* 台達電子
* [AOI影像處理工程師(中壢)](https://www.104.com.tw/job/?jobno=3s2dh&jobsource=)
1. AOI 檢測軟體開發
2. 影像處理演算法開發
3. 影像處理相關應用研究
4. 其他條件:
1. 具影像處理相關背景知識,熟相關演算法
2. 熟悉C++、VB. NET、Matrox Mil(或類似影像處理函式庫Halcon等),有2-3年影像處理演算設計經驗者佳
* [研發資深工程師_台達研究院(台北)](https://www.104.com.tw/job/?jobno=5ps39&jobsource=)
1. New technologies surveying and investigation.
2. Develop Sensing technology and sensor fusion algorism
3. Develop Lidar based positioning and navigation algorism
4. System integration
5. Keep good track and share new technology developments and market trends; topics of focus include robotics, software systems
6. Hand-on development of robotics platform, software systems for controlling robotics and related applications
7. 其他條件:
- 1+ years of working experience preferred
- Familiar with Linux and ROS
- Familiar with C++, Python, Matlab and PLC language
- Experience with system integration preferred
- Demonstrate strong systematic and logical thinking
- Interested in newest technology development and entrepreneurship
- Maker mentality, enthusiastic for getting your hands dirty to try out new ideas
* 香港商女媧創造台灣分公司
主要商品/服務項目
主要產品:研發家用人工智能機器人
* [深度學習工程師(Deep Learning)]()
-碩士以上,計算機及相關科系優先
-良好的邏輯思維能力,良好的程式開發能力
-熟悉 CNN, RNN, TensorFlow framework, 會Keras尤佳
-熟悉 Python, C/C++
-具有Android系統開發方面的項目經驗者優先
-優秀的分析問題和解決問題的能力,且能夠把解決方法具體實現
* [Umbocv](https://angel.co/umbocv/jobs)
* [新加坡 OTSAW]()
* [新加坡nuTonomy自動車](http://www.nutonomy.com/careers/#472297)
* 大疆
* irobot
* Dyson robotics
## 生涯規劃
希望碩士剛畢業的時候能找有挑戰性高的工作,如果有機會就到國外的公司拼看看,了解國外公司的文化,工作10年左右的經歷能轉成管理階層,希望除了工作外還可以參與有趣的專案,在閒暇之餘還可以分享工作心得
## 競爭能力
C/C++、python、Verilog
2017年智慧聯網創新機器人設計與應用大賽 - 第三名
2017第22屆全國大專校院資訊應用服務創新競賽 - 第二名
2016年APICTA Awards 台灣代表隊
2016年產學合作計畫-無人機相關
2015大學院校積體電路設計競賽設計完整獎
2015年第39次ITSA線上程式設計競賽-傑出團隊
研究所-網路嵌入式系統應用課程教學助教
研究所-嵌入式異質多核心課程教學助教
計畫中使用 Linux與C語言進行嵌入式系統開發
使用 Robotic Operation System(ROS)機器人作業系統,多軸無人機應用開發
使用 OpenCV 開發 電腦視覺、影像處理
使用 Tenserflow/keras 進行深度學習辨識蟲害專案開發
## 三分鐘自我介紹(HR可以理解的版本)
您好,我是JEFF來自台南,目前就讀成功大學工程科學所的碩士生,預計明年畢業,實驗室主要在嵌入式系統上進行網路多媒體的整合和應用,近期導入機器學習相關技術。目前碩士論文研究主題的方向為基於生成對抗網路將稀疏3D點雲重建至稠密點雲,目前是透過autoencoder方式將稀疏的點雲資料當作生成資料,並使用選擇判別器檢驗生成的資料是否為想要的結果,最後預期訓練結果可以有效的將稀疏點雲生成至稠密點雲。大學專題為影像隨機脈衝雜訊濾除的電路設計與實現,使用雜訊檢測方法檢察像素是否被雜訊所污染,如果像素為雜訊值,則使用邊緣保留濾波的方式將受汙染的雜訊像素點取代掉,最後將軟體演算法應用至Verilog硬體描述語言實現。
在大三兩學期間都獲得學校的書卷獎,主要修課的部分有影像處理,作業系統,大四也有修數位視訊處理的課程了解串流的畫面處理如影像追蹤、光流法等等,以及一些影像壓縮的概念。在研究所也修了機器學習的課程以及額外線上相關課程,比賽中也使用了深度學習的相關技術,使用 Tenserflow/keras 的CNN架構去有效的辨識農作物病蟲的影像,選擇5種常見的蟲害辨識率高達95%,最後應用至嵌入式開發板上定時監控,讓使用者可以遠端監測進行後續處理,這個比賽也獲得大專院校第二名。
除了在技術上面的研究,大學期間一至三年級有參加系學會,並有舉辦一些大型活動擔任執秘,在期間也學到了團隊之間的溝通協調,除了自己系也跟外系討論如何籌辦整個活動,以及跟教授行政單位接洽的能力,最後就是,因為貴公司這次開出的職缺非常吸引並適合我,希望能有機會加入貴公司成為一份子,以上大概就是我的自我介紹,謝謝
## 完成個人履歷表
### 中文版
Name:Jeff
Address:Tainan City, Taiwan
phone:09123456789
E-mail:jeff60907@gmail.com
### Summary
### Education
2012/9/1-2016/6/30學士:國立高雄應用科技大學電子工程系資訊組
2016/9/1-2018(預計)碩士:國立成功大學工程科學所資訊工程與應用組 多媒體網路實驗室嵌入式系統組
### Experience
成大工程科學所網路嵌入式系統應用課程教學助教
成大工程科學所嵌入式異質多核心課程教學助教
2016年產學合作計畫-無人機相關
### Project
影像隨機脈衝雜訊濾除之電路的設計與實現的專題
* 影像雜訊偵測
* 影像邊緣保留修正錯誤雜訊
* 硬體描述語言狀態機之設計
電腦視覺特徵點匹配與追蹤移動物體
* 尺度縮放以及旋轉的特徵點偵測演算法比較
* 物件匹配與追蹤
Robotic Operation System(ROS)機器人作業系統,多軸無人機應用開發
* MAVROS控制無人機不同模式的狀態
* 設定任務模式自動飛行及工作
Tenserflow/keras 進行深度學習辨識蟲害專案開發
* 資料擴增訓練資料量
* 了解 Vgg16/19 各層的架構
* 調整結構參數避免 Overfiting問題
### Awards
2017智慧聯網創新機器人設計與應用大賽 - 第三名(3/62)
2017第22屆全國大專校院資訊應用服務創新競賽 - 第二名
2016年APICTA Awards 台灣代表隊
2015大學院校積體電路設計競賽設計完整獎
2015年第39次ITSA線上程式設計競賽-傑出團隊 (63/383)
103學年度第一學期書卷獎
103學年度第二學期書卷獎
### Skill
C/C++、Python、Verilog
嵌入式軟硬體整合應用
影像處理
Experience in TensorFlow/Keras
### Course
嵌入式系統概論 A Introduction To Embedded System
網路嵌入式系統應用 A+ Network Embedded System And ITS Applications
嵌入式異質多核心系統 A+ Implementation of Heterogeneous Multicore Embedded System
作業系統 A+ Operating Systems
資料結構 A+ Data Structures
計算機結構 A+ Computer Architecture
處理器設計與實作 A+ Processor Design and Implementation
影像處理實務 A+ Image Processing Implementation
數位視訊處理 A Digital Video Processing
機器學習專論 A+ Advanced Machine Learing
---
### 英文版
Name:Jeff
Address:Tainan City, Taiwan
phone:09123456789
E-mail:jeff60907@gmail.com
### Summary
### Education
2012 – 2016 B.S., Electronic Engineering - Information group
National Kaushing University of Applied Sciences, Taiwan
2016 - 2018(expected)M.S, Engineering Science - Information Engineering and Application group
National Cheng Kung University, Taiwan
### Experience
Teaching assistant of Network Embedded System And ITS Applications
Teaching assistant of Implementation of Heterogeneous Multicore Embedded System
2016 Industry-university cooperative research project - Application of drone
### Project
Denoising Approach for Random-Valued Impulse Noise in Digital Images with Circuit Design and Implementation
### Awards
2017
2017 InnoServe Awards for university and college - Second
2016 APICTA Awards - Taiwan team
2015 Integrated Circuit Design Contest - FPGA Design Complete Award
2015 39th ITSA online programming design competition – outstanding team(63/383)
Outstanding student for the academic achievement in the first semester of junior year.
Outstanding student for the academic achievement in the second semester of junior year.
### Skill
C/C++、Python、Verilog
Image processing
Embedded hardware and software applications
Experience in TensorFlow/Keras
### Course
Introduction To Embedded System A
Network Embedded System And ITS Applications A+
Implementation of Heterogeneous Multicore Embedded System A+
Operating Systems A+
Data Structures A+
Computer Architecture A+
Processor Design and Implementation A+
Image Processing Implementation A+
Digital Video Processing A
Advanced Machine Learing A+