owned this note
owned this note
Published
Linked with GitHub
---
tags: info2023-homework1
---
# 2023 年「[資訊科技產業專案設計](https://hackmd.io/@sysprog/info2023)」作業 3
## 相關職缺
### ◈ [Nvidia Job](https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite)
#### [Software Engineer - Omniverse Developer Platform](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/Taiwan-Taipei/Software-Engineer---Omniverse-Developer-Platform_JR1975090?locationHierarchy1=2fcb99c455831013ea52ed162d4932c0)
:::spoiler More details
**Minimum qualifications:**
* Bachelor's degree or higher in Computer Science, Software Engineering, or a related field.
* 3+ years of experience with large and complex software development environments. Experience with large code bases (300k+ LoC) is a plus
* Expert knowledge of the C++ and/or Python programming language and the Linux environment
* Experience creating and maintaining distributed, scalable systems that are fault tolerant and reliable
* Proficiency with popular CI/CD tools (e.g., Jenkins, GitLab CI, Travis CI, CircleCI), build systems (e.g., CMake, Bazel, Gradle), and version control systems (e.g., Git, Perforce).
* Experience with containerization technologies (e.g., Docker, Kubernetes) and cloud platforms (e.g., AWS, GCP, Azure).
* Excellent problem-solving and debugging abilities, with strong attention to detail.
* Strong communication and collaboration skills, with the ability to work effectively in a fast-paced, cross-functional team.
**Preferred qualifications:**
* Experience with GPU-accelerated applications or technologies.
* Knowledge of C++ and Python build and packaging systems
* Experience developing web applications using CSS, Javascript and the React framework
:::
#### [AI Algorithms SW Engineer - New College Graduate](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/Taiwan-Taipei/AI-Algorithms-SW-Engineer---New-College-Graduate_JR1973032?q=learning&locationHierarchy1=2fcb99c455831013ea52ed162d4932c0)
:::spoiler More details
**Minimum qualifications:**
* MS or PhD in Computer Science, Computer Engineering or Electrical Engineering or related field in Deep Learning, Machine Learning and Computer Vision.
* Algorithm development experience data analytics, especially with LLM’s and Multi-Modal Foundation models
* Experience working with deep learning frameworks like TensorFlow and pyTorch.
* Strong communication skills.
:::
#### [Developer Technology Engineer - AI](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/Taiwan-Taipei/Developer-Technology-Engineer---AI_JR1966721?q=learning&locationHierarchy1=2fcb99c455831013ea52ed162d4932c0)
:::spoiler More details
**Minimum qualifications:**
* A good degree from a leading university or equivalent experience in an engineering or computer science related discipline (MS or PhD preferred).
* 1-3+ years related experience.
* Experience with parallel programming, ideally CUDA, OpenCL and OpenACC.
* Confident knowledge of C/C++ and/or Fortran.
* Solid knowledge of software design, programming techniques, and algorithms.
* Strong mathematical fundamentals, including linear algebra and numerical methods.
* Good communication and organization skills, with a logical approach to problem solving, good time management, and task prioritization skills.
* Knowledge in a specific domain is a plus, such as Deep Learning, Machine Learning.
:::
#### [AI Computing Software Development Engineer, TensorRT](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/Taiwan-Taipei/AI-Computing-Software-Development-Engineer--TensorRT_JR1970700?q=software&locationHierarchy1=2fcb99c455831013ea52ed162d4932c0&workerSubType=0c40f6bd1d8f10adf6dae161b1844a15)
:::spoiler More details
**Minimum qualifications:**
* Masters or higher degree in Computer Engineering, Computer Science, Applied Mathematics or related computing focused degree (or equivalent experience)
* 3+ years of relevant software development experience.
* Excellent C/C++ programming and software design skills, including debugging, performance analysis, and test design.
* Strong curiosity about artificial intelligence, awareness of the latest developments in deep learning like LLMs, generative and recommender models
* Experience working with deep learning frameworks like TensorFlow and PyTorch
* Proactive and able to work without supervision
* Excellent written and oral communication skills in English
:::
### ◈ [MediaTel Job](https://careers.mediatek.com/eREC/JobSearch?sortBy=&order=&page=1&searchKey=&category=&workExp=&branch=&program=)
#### [Research Engineer](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MRTW20200311000?returnUrl=%2FeREC%2FJobSearch%3FsortBy%3D%26order%3D%26page%3D1%26searchKey%3Dml%26category%3D%26workExp%3D%26branch%3D0000009255%26program%3D)
:::spoiler More details
**Minimum qualifications:**
* Advanced degrees (MSc or above) in Mathematics, Computer Science, Electrical Engineering, or an equivalent degree in a related field.
* Participated in applying DL/ML to real world problems in a non-black box fashion.
* (Optional for fresh grads) Publications in the main portion of DL/ML conference as the main authors
:::
#### [AI&Computing Platform](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120230901006?returnUrl=%2FeREC%2FJobSearch%3FsortBy%3D%26order%3D%26page%3D2%26searchKey%3D%26category%3D9020%26workExp%3D%26branch%3D0000009256%26program%3D)
:::spoiler More details
**Minimum qualifications:**
* 具AI或機器學習(Reinforcement learning、Machine Learning、Deep Learning、NLP、Image Recognition, …etc)課程實作經驗
* 或具資料探勘/資料科學/資料分析課程實作經驗
* 熟悉Python / JavaScript / Java 語言;4. 具備解決問題的能力,及良好團隊合作與溝通能力
:::
## 自身專業評估
* 學歷
* 國立成功大學 資訊工程學系 碩士
* 國立台灣大學 土木工程學系 學士
* 具備 Internet Architecture & Deep Learning 相關背景
* 曾撰寫C++程式,實踐基礎網路IP Lookup algorithm (binary trie, Tree Bitmap...)。
* 曾用pyTorch撰寫Python程式,應用DL進行網路封包分類。
* 具備 前後端開發相關能力
* 曾利用React框架,搭配Node.js,撰寫JavaScript程式,自行設計並架設網站於AWS的EC2上,同時建構MySQL資料庫保存相關資料。
* 缺乏 相關經驗與能力
* 缺乏IC design相關經驗。
* 工作上沒有應用在網路層面的DL職缺,大部分與CV/NLP相關,而我缺乏這些領域的實作。
* 缺乏與作業系統相關的開發經歷(Linux)。
## 模擬面試
Q: 說明HTTP request methods中,GET和POST有什麼差別
A: GET 用於從 HTTP webserver檢索數據,回傳碼是 200。該請求是透過 URL 發送查詢字串來完成的。
POST 用於將資料傳送至 HTTP webserver,傳回碼是 201。該請求是透過在訊息正文中發送資料來完成的。
總結來說,GET 檢索遠端數據,而 POST 更新遠端資料。舉例來說,搜尋頁面使用 GET 來取得數據,而更改密碼的表單使用 POST。
Q: 解釋什麼是深度學習,以及它與傳統機器學習的區別是什麼。
A: 深度學習是機器學習的一個分支,它強調使用深層神經網絡來學習和表示。與傳統機器學習相比,深度學習能夠自動學習更高層次的特徵表示。
Q: 解釋卷積神經網絡 (CNN) 和遞歸神經網絡 (RNN) 的運作原理,以及它們在什麼應用場景中比較適用。
A: CNN 主要用於處理圖像數據,利用卷積層和池化層來擷取特徵。RNN 則適用於處理序列數據,具有記憶單元,能夠捕捉上下文信息。近幾年逐漸被Transformer 取代。
Q: 列舉幾個常見的深度學習框架,並根據自己的使用經驗說明它們的優缺點。
A: 常見的框架 TensorFlow、PyTorch。PyTorch相對於TensorFlow較為靈活和易用。我只使用過PyTorch所以無法實際從經驗比較。
Q: 解釋梯度消失 (Gradient Vanishing) 和梯度膨脹 (Gradient Exploding),並說明如何解決。
A: 在反向傳播中,梯度在經過多層的神經網絡時可能變得非常小,趨近於零。導致權重不會更新。而與梯度消失相反,梯度膨脹發生在梯度變得非常大的情況下。導致權重更新變得極端,模型不穩定。
解決方法有加入激活函數,Batch Normalization。
## 參考資料
1. [Nvidia Interview Questions and Answers for 2023](https://www.simplilearn.com/nvidia-interview-questions-article)