# Interview
-----
# Preparation
* C++ review: [link](https://hackmd.io/@pwhuang/cppreview)
* Useful links
* C++: https://mropengate.blogspot.com/2017/08/cc-c.html
* data structrure: http://alrightchiu.github.io/SecondRound/
* interview: https://medium.com/y-pointer/interview-4-302d53e81999
* google interview: https://github.com/jwasham/coding-interview-university
* Self-intro
Self-intro slides (optional)
<!-- 1. Education (MS, BS)
2. Course works (EDA-based, CS-based)
3. Research interest (ML for EDA)
4. Specical project (formal verification, RL, ICCAD contest, academia sinica)
5. Thesis
6. Skill sets -->
* Prepared questions
1. 薪資福利
2. 可以形下在這部門中,你印象最深刻的同仁嗎?
3. 一天的工作內容
4. 職缺怎麼產生的
* Salary
* https://www.ptt.cc/man/Tech_Job/D376/M.1473060696.A.4F9.html
# Company
## Synopsys
### Internal referral
1. 準備履歷請人內推
2. HR聯絡,曝光履歷在內部系統,可選擇要面哪些單位
3. 用人單位發面試流程,正值職缺也可轉成研替
RDSS: ICC2, ICV, DFT
正職: VCS, verdi, router, primetime
### PrimeWave team (site: NCTU office)
1. **1/20 phone interview** 一面
* 介紹職缺: analog simulation (library setup, GUI)
算是back-end中比較前段的部分
* 問polymophism, virtual function
* Given a base number & target number
avaible operation +1, -1, *2
use minimum step from base to target?
2. **2/3 on-site interview** 二面
* 1hr 筆試
1. size of() data type, class, pointer,繼承, c++ vs c
2. c code 抓錯
access after freeing pointer
return local pointer
3. linked list creation & reversion
4. Dynamic programming
5. 應用題,(設計一些class 和一些function)
* 1hr HsinChu (RD*3)
先自介,有些部分會停下來再問一下,有問一下碩論的部分,整體氣氛滿愉快的
接下來問一下第一題,我有地方寫錯他們還有點驚訝是不是看錯題目
問第四五題思路
memory alignment
derived class destructor
* 1hr Shanhai (RD*2)
一樣先自介,碩論有問到memory相關的問題,後面開始看作答的狀況
1.2. 題原本有寫錯有些,算是引導回答出真正解答
第四題怎麼樣能更好
詳細問第五題
virtual function怎麼運作的
process & thread
process間溝通
* 1hr ShanHai manager
線路狀況有點不太好,前面講碩論可能和他們team作的內容差比較多,或是一些用詞上不太一樣,感覺他聽到有點不耐
問資料結構hash
兩個list中的元素都不重複,將兩個list合併並且最後的list也沒有重複元素
給兩個詞,詞語接龍 如何用最少詞? (graph?)
3. **2/4 phone sync-up x2**
* positive feedback
### ICC2 team (site: Taipei)
1. **1/28 打電話決定面試日期**
2. **2/8 onsite 一面 1.5hr**
- taipei site (RD+manager * 6)
- 有準備一份投影片,大概快20頁,涵蓋學經歷
- 前面花大概30min go through後來他們有問一些project的細節,碩論也有問蠻多問題的
- 後續都是問一些behavioral questions,沒有問道太多程式相關的technical問題
3. **2/9 online 二面 1.5hr**
* 美國site manager,一個台灣人,一個美國人
* 前面也是先自我介紹,他對於我做過的一些ml project都蠻有興趣的,也說到近期也有在做一些predict routability相關的project
* 後續是美國site一個更大的manager(管大概~4x人),前面介紹他們在做的事(GR DR track assignment),後續有問一些做過的project
* technical questions
* multithread race condition?
* deep recursive call problem?
* Q&A 整理
- Z-route engine, a maze router, integrated into other flow
- route million of nets concurrently while handling design rules
- better scalability, 今晚放下去跑明早可以看到結果
- 這個team 日常工作
重構一些程式的部分,更加可平行化,每個release performance進步
- How if congestion?
more iterations
check if there are dirty data (result from other flow)
## Nvidia
1. 1/29 online interview
2. 2/4,5 phone sync-up
### Physical design team (site: Hsinchu RDSS)
1. **1/29 phone interview**
10幾個人面試前面接電話有點遲到,後來用zoom 分享畫面又有點問題
- 1.5hr technical interview (前半段問碩論,後面問C++, python)
1. c++ (operator associativity)
```
int a = 3, b = 2 , c = 1
a > b >c
```
2. python
```
3 > 2 = ?
3 > 2 > 1 = ?
2 ** 2 ** 3 = ? // associativity is right to left
```
3. 表示法 & 浮點數
```
binary representation: 17, 0.9
8 + 9 == 17?
0.8 + 0.9 == 1.7?
```
怎麼避免0.8 + 0.9 != 1.7 的問題?
4. stack & heap & global
哪個比較快?
為什麼要heap?
5. 0 的比較
怎麼比較bool, int, float, ptr和0
6. 一個dummy fill的題目 (有點像ICCAD 2018 problem B)
- 0.5hr 聊天,問為什麼投他們公司
1. Phyiscal design team
有負責實體設計(parition, APR, clock)
也有負責CAD, in-house tool
2. nv Pd team 有美國santa clara, bangalore, 上海
新竹掛在上海下 2020.02才成立
3. Required skills
RTL, EDA, algorithm, software, process
4. tape-out時會很忙壓力大,9-12月一次
2. **2/4,5 phone sync-up**
- positive feed back
- 問對於這份工作的興趣
-