# 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 - 問對於這份工作的興趣 -