---
# System prepended metadata

title: 面試準備

---

# 面試準備
![](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