# 實習面試 ## 被問爆問題集 - Compiler主要做的事情 流程介紹 - flex bison:語法分析的生成器 - 原始碼(source code)→ 預處理器(preprocessor)→ 編譯器(compiler)→ 組譯程式(assembler)→ 目的碼(object code)→ 連結器(linker)→ 執行檔(executables) - ![](https://i.imgur.com/awXs0vT.png =400x450) - Lexer做詞彙分析生成token、Syntax產生語法樹、語意分析產生AST - ![](https://i.imgur.com/ttgeRU4.png) - MVC架構介紹一下 - Model(邏輯層):負責與資料庫溝通 - View(呈現層): 負責管理畫面的呈現 - Controller(action層): 掌握使用者互動的邏輯,也是收發request/response的核心 - MVC好處: 重複使用程式碼、好維護、便於團隊合作 - Process thread差別在哪裡及個別介紹 記憶體部分長怎樣 有共用的空間嗎 如果同步的話 這兩者分別會怎麼處理 - Program(程式): 尚未load入記憶體的 code - Process 意旨已經執行並且 load 到記憶體中的 Program - Process 是電腦中已執行 Program 的實體。 - 每一個 Process 是互相獨立的。 - Process 本身不是基本執行單位,而是 Thread (執行緒)的容器。 - Process 需要一些資源才能完成工作,如 CPU、記憶體、檔案以及I/O裝置。 - Thread 就是工廠內的工人,確保工廠的每項功能,並且共享工廠內的每一項資源 - 同一個 Process 會同時存在多個 Thread。 - 同一個 Process 底下的 Thread 共享資源,如 記憶體、變數等,不同的Process 則否。 - Stack:紀錄從某個起始點開始 (例如main),到目前為止所有函數的呼叫路徑,以及在這些呼叫路徑上所用到的區域變數。 - 紀錄 CPU 內部的暫存器 (如 Program Counter, Stack Pointer, Program Status Word 等) 的狀態。 - 電腦網路 TCP/UDP介紹 - ![](https://i.imgur.com/VKlJQbF.png) - Java - 為什麼不需要delete 他是在哪裡哪個時候自動delete 這樣的優點和缺點是什麼 - 封包繼承多型介紹一下 - Abstract class /method差在哪 分別舉例 - Static final用法 - Java/C++ - C/C++的static 差別在哪 - 資料結構 - Array list 個別介紹 然後描述優缺點 - 這兩者在找BST 的時間複雜度 - 白板 實作一個linklist &Stack ## 軟體測試工程師 ### 觀念 - 軟體測試是評估待測試的程式,用以 - 發現程式的錯誤(bug) - 測試和除錯(debugging)不同 - 評估程式的品質(quality) - 與需求或規格一致(conformance to requirements) - 符合使用的目的(fitness for purpose) - 功能、效能、安全性、使用者經驗… - 建立程式符合使用者需求的信心 ![](https://i.imgur.com/EWMBb0z.png) ![](https://i.imgur.com/lomXkh4.png) ![](https://i.imgur.com/26b9irZ.png) ![](https://i.imgur.com/mYIUEBp.png) ![](https://i.imgur.com/bo5n5Ww.png) ### 文章 [自動化測試框架HttpRunner](https://kknews.cc/code/99peab5.html) [程式API測試](https://kknews.cc/code/mrye2kg.html) [Smoke testing](https://kknews.cc/code/mrye2kg.html) ### 問題集 - https://kknews.cc/career/5re6ge3.html - 您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。 - 您認為做好測試用例設計工作的關鍵是什麼? - 您在從事效能測試工作時,是否使用過一些測試工具?如果有,請試述該工具的工作原理,並以一個具體的工作中的例子描述該工具是如何在實際工作中應用的。 - 在您以往的工作中,一條軟體缺陷(或者叫bug)記錄都包含了哪些內容?如何提交高質量的軟體缺陷(bug)記錄? - 測試活動中,如果發現需要文件不完善或者不準確,怎麼處理? - 你認為做好測試計劃工作的關鍵是什麼? - 你覺得軟體測試通過的標準應該是什麼樣的? - 軟體測試的風險主要體現在**? - 開發人員老是犯一些低階錯誤怎麼解決? - 輸入URL到頁面完成的過程為何? - 輸入URL-DNS解析-建立TCP連接-客戶端發送HTTP請求-伺服器處理請求-伺服器響應請求返回HTTP報文-瀏覽器展示HTML 解析渲染頁面-瀏覽器發送請求獲取HTML上的其他資源-結束 - 請求接口url是否正確 - 如果請求的接口url錯誤,為前端的bug - 傳參是否正確 - 如果傳參不正確,為前端的bug - 請求接口url和傳參都正確,查看響應是否正確 - 如果響應內容不正確,為後端bug - 也可以在瀏覽器控制台輸入js代碼調試進行分析 - 可以按F12查看network的http請求資訊 ## TSMC IT - https://hackmd.io/@alan25sprout/S1Yjq9RUO - https://medium.com/cubemail88/%E5%8F%B0%E7%A9%8D%E9%9B%BBit%E9%9D%A2%E8%A9%A6%E5%BF%83%E5%BE%97-d3fa5c62bd43 - Hackerrank 題目 - 第一題 - 判斷字串裡能不能全部都轉變成<>pair的形式,其中>可以變成<> - ex. <<><<>、<><<>、<>>><,沒配對完,輸出0 - ex. <<>>>、<<>>、<><><>,配對成功,輸出1 - 第二題 - 質數不能相鄰,排序完後取==最小==的懲罰分數和 - ex. 2 4 5 7 8,質數不能相鄰,所以可以排成2 4 5 8 7,懲罰分數為0 - ex. 2 3 5 8 9,可以排成3 8 5 9,懲罰分數為2 - 第三題 - ![](https://i.imgur.com/ck6Udcy.png) - 先建樹再算DP求最大子序列和 - BSID-CAPD 黃石欽 - 自我介紹 - 你平常使用哪種程式語言開發 你喜歡ML還是WEB/Mobile app開發 - 你對mongodb的了解 - ESG專案資料怎麼標籤 - 你會哪些前端技術嗎 - TSID 蔡幸城 - 自我介紹 - 平常用那些語言開發 - 每個專案在做的事情 - 簡單講解一下MVC架構 - 為什麼你們會選擇MongoDB - 主管面談 - 自我介紹 - 為何想來台積 - 台積對實習生的安排非常完整,透過專題製作甚至競賽來加強自身能力 有挑戰 - 認為抗壓性強嗎 - HackerRank考試狀況 - 你為什麼來台積,不去其他公司? - 如果錄取你會來嗎? - 有沒有甚麼失敗或挫折的經驗? - HR問問題 - 你在課業及課外,分別遇過甚麼挫折,你怎麼解決的? - 你覺得甚麼工作會給你帶來成就感? - 團隊合作碰到的爭執怎麼化解、==自己調適壓力的方式==、覺得自己的個性還有什麼需要改善的、碰到不同任務同時撞在一起怎麼辦 - 文涵大佬 1. 可以說一下面試的兩個部門的工作內容,還有你對哪一個比較有興趣嗎 2. 研究所期間有沒有過時間壓力很大的事情,又是怎麼處理的,舉例說明 3. 工作上的壓力大部分來自哪裡 4. ==有沒有過被上司或是老師潑冷水的經歷,大概說明一下== 5. 分享最近的==團隊合作經驗== 6. 學一個新事物大概需要多久 - Me 1. 可以說一下面試的兩個部門的工作內容,還有你對哪一個比較有興趣嗎 2. 怎麼會選賽德克語言領域題目做專題 3. 在大學期間有遇過什麼困難嗎 4. 團隊合作上會遇到什麼問題 5. ==如果團隊裡有一個人很強勢不配合怎麼辦== 6. 實驗室事情多嗎、怎麼分工的 - 求職者提問 - 職缺是哪一廠 IT的哪個單位 - 工作內容 - 進公司後一整天行程 ## 台達電-後端工程師 - 前人心得 - https://andreashih.github.io/blog/journal/intern.html - 工作內容 1. 網站後端服務的開發、設計與維護 2. 流程自動化機器人(RPA)的流程設計、開發與測試 3. 協助規劃系統架構與模組設計 - 須具備技能 1. 資訊相關科系尤佳,需具備自主開發的能力 2. 精通至少一種後端語言,例如:Java、.NET 3. 具備至少一種資料庫的使用經驗,例如:MySQL、PostgreSQL 4. 精通英文書寫及溝通能力 5. 主動積極,能快速適應各種變動,並勇於面對未知的挑戰 6. 良好的分析與解決問題能力,具團隊合作精神,善於溝通 - 面試心得 - 兩個主管 企業系統架構部 以Java開發為主,有需求溝通訪談及軟體系統開發 - 需要進行一些文書行政工作,都是一起meeting - 自我介紹(邊問邊報的那種) - 實習經驗、比賽經歷細問(技術使用那些?發想過程?) - 以往的作品有沒有哪些是沒做完,後續又有把它更完整甚至是上線的 - 你在學習一個新的事物,像是react.js,會怎麼開始,為什麼會想學這個框架 - 你需要花幾天決定主管給你的任務要使用哪些技術及方法 - 使用flask框架主要是使用哪個component - 為什麼想應徵後端實習生 - 你希望主管給你task漸進式完成工作,還是給予你發揮空間 - 為什麼想用python寫程式 - 有什麼事情遇到很大的挫折及有沒有很有成就感的事 - 社團、興趣、對厭惡的人的看法 ## 緯穎 - 問題 ![](https://i.imgur.com/M2RTc0p.png) - How to monitor the cpu/memory usage of a process? - How to run a process on 50 servers? - List some common port and its usage. - How to rename 200 files in a directory? - Do you know CI (continuous integration) and CD (continuous delivery)? - 工作內容 1. 現有系統評比以及差異 - 使用ubuntu, python安裝benchmarking - 目前影像最熱門,再來就是語言 2. Block chain應用面(Web3.0),找能合作的廠商企業, - 系統架構師要很資深,因為底下分工很細,需要什麼都懂 - Ash主管 (部門在總經理底下) - 自我介紹 - 賽德克語言問題 - 你對實習有什麼要求嗎 - 團隊裡面要怎麼避免不公平的分工 - 你為什麼會想來應徵系統架構實習生 - 會有兩個人進到第二輪(要做Server產業分析)