# 面試準備 ![](https://i.imgur.com/sunPtgV.png =400x) ## Python技術問題 ### 浮點數精確度 - Python 使用的**浮點數運算方式受到硬體存儲方式**所影響,無法精準的算出答案,這時候你可以思考是否使用 ==Decimal module==,但是使用前需要考慮到是否真的需要到如此精準,你的系統會因為小數點17位而受到嚴重的影響嗎?因為原生 Python 所提供浮點數運算相較起來,速度是比較快的,這會影響到在做大資料時運算的速度,所以完全取決於你的應用情形來決定。 ![](https://i.imgur.com/ydC3Jzt.png) - Reference: [精確的浮點數運算 ?](https://medium.com/pyladies-taiwan/%E7%B2%BE%E7%A2%BA%E7%9A%84%E6%B5%AE%E9%BB%9E%E6%95%B8%E9%81%8B%E7%AE%97-28d34e652e51) ## JAVA [參考筆記](https://yubin551.gitbook.io/java-note/) ## OS - Priority Inversion(優先權倒置) - 該種狀態下,一個高優先權任務間接被一個低優先權任務所搶先,使得兩個任務的相對優先權被倒置 - atomic - 最小執行步驟,透過blocking達到syn目的 - memory leak - 計算機程式的記憶體管理失當,因而失去對一段已分配記憶體空間的控制,程式繼續占用已不再使用的記憶體空間,或是記憶體所儲存之物件無法透過執行程式碼而存取,令記憶體資源空耗 - thrashing - virtual memory沒設計好,過多page fault導致運行速度下降或崩潰 ## 趨勢研替 - 兩位RD - 自我介紹 3~5分鐘 - 問專案內容 - 專案發想原因? - 除了準備的投影片也會問履歷上的內容 - 擔任過許多專案組長,要怎麼分工及安排 - 會去Github看專案 - Github的使用情形 - 台積是先上雲在推到地端的K8s? - import API時有發生什麼整合上的困擾嗎 - 專案中有挑戰性的事情 - 專案中讓你有成就感的事情 - 問Codility作答情況 - 第一題100 第二題時間複雜度太高 第三題沒寫出來 - 明年才會知道有哪些部門缺可以選 - 需要二面 ## 群暉研替 網頁軟體應用開發 - 自我介紹+CS background專業問題 (30min) + Coding (30min) - 實習及專案問題 - 怎麼把PDF轉成Json - Docker應用 - command v.s. entrypoint - image是怎麼寫的 - CICD流程 - 用ArgoCD執行K8s - 類似polling的方式3s確認一次pod情況 - 內網到外網能有什麼保護(VPN, Proxy server) - CORS policy會在前後端分離時出現 - DNSSEC解釋 - Session & Cookies的差異 - 在登入頁面時,Server端怎麼透過session確認user身分 - 怎麼驗證batch service有無正確 - CS background - 資料庫 - SQL & NoSQL差別 - 關聯性要怎麼建立 - 多對多關聯可以怎麼設計 - OS - Process & Thread - Fork()之後 Thread之間會有什麼不同 - Thread會有race condition,可以怎麼改善 - Mutux & Semaphore - OOP - OOP特色 - 上機考 - 爛橘子 二維陣列 每次都會往旁邊擴散 - BFS QUEUE - Maximum subarrray - Array rotate 90度 - 分兩步驟,先以斜線反轉,再來鏡像 - 主要還是要找會寫C/C++的 ## 研華研替 軟體研發 - 11/9 Elite100 - ![](https://i.imgur.com/dO7slW0.png) - 總共有66位參與者(稍微統計一下研華的好像就佔2x位?) - 總經理Eric、資深HR、工程師皆有參與 - 團面環節是三位主管對六位candidate - 基本上都還是寫C - DB專案擔任組長有遇到什麼問題 - TSMC為什麼要將C# migration to Java - 要怎麼驗證產品 - New grad進職場時coding能力有差距、跟不上團隊該怎麼辦 - 最失敗的teamwork經驗 - RD基本上會花20%maintain舊有專案、15~20% new product規劃、剩餘的為product開發 - 打電話告知 - 基本上是做Server上firmware的開發,會導入一些開源軟體加速開發流程 - middleware方面會與docker k8s等等雲端相關服務做結合 - 應用層上會透過協定與其他cluster做溝通 以及會需要提供一些restful api或其他規格給其他對接產品 - 強調專案開發的完整流程,時常與德國團隊寫信、開會溝通 - 主要firmware kernel開發是寫c,測試工具會有c++, python,雲端上甚至會碰到rust, golang