# 資訊科技產業專案設計課程作業 3 ## 作業要求 * 分析 IC 設計公司和 FAANG/MAMAA 的職缺(至少 3 份) * 分析職缺所需要能力,探討自己的匹配程度 * 嘗試列出職缺 (或類似的職缺) 的面試題目 * 對面試題目進行問答,文字紀錄即可 * 撰寫 resume ### 撰寫 resume --- [Resume](https://drive.google.com/file/d/1g7689yq5vTvr9-XRipsCfQtfJYYtZ9Kr/view?usp=sharing) [Github : DivaGabriel](https://github.com/DivaGabriel) ### 分析 IC 設計公司和 FAANG/MAMAA 的職缺,並分析職缺所需要能力,探討自己的匹配程度 --- [Associate Customer Engineer, Generative AI, gReach Program for People with Disabilities](https://www.linkedin.com/jobs/view/4053524628/?refId=51cca1a1-003b-420f-9cef-c6b06f2b9d8d&trackingId=UVPtfjvGRsCZbRYGr4V9Ew%3D%3D&trk=flagship3_job_home_savedjobs) :::spoiler Minimum qualifications: Bachelor's degree or equivalent practical experience. 1 year of experience in technical troubleshooting and writing code in one or more programming languages(e.g., Python, JavaScript). Ability to communicate in Japanese fluently, in order to interact with internal and external stakeholders. Preferred qualifications: Experience with developing scalable architectures using API management, microservice frameworks, and PaaS. Experience with LLM and Generative AI. Familiarity with cloud computing concepts and technologies. Ability to quickly learn, understand, and work with new emerging technologies, methodologies, and solutions in the Cloud/IT technology space. Excellent problem-solving skills. Ability to communicate in English fluently in order to interact with internal and external stakeholders. ::: #### 自身評估 符合部分: * 有熟悉Python、C++等程式語言使用經驗。 * 做過多項專案經驗。 不符合部分: * 缺少生成式AI和LLM的經驗。 * 缺少日語溝通能力。 [AI Algorithms Software Engineer (RDSS Intern) ](https://www.linkedin.com/jobs/view/4057881298/?refId=51cca1a1-003b-420f-9cef-c6b06f2b9d8d&trackingId=U3e7e%2FFQQH6KBdEZiHzcqA%3D%3D&trk=flagship3_job_home_savedjobs) :::spoiler What We Need To See MS or PhD candidate graduating in 2025, with expertise in Computer Science, Computer Engineering, Electrical Engineering, or a related field with a focus on Deep Learning, Machine Learning, and Computer Vision. Strong algorithm development experience, particularly in data analytics, with a focus on large language models (LLMs) and multi-modal foundation models. Experience with advanced algorithms, including zero/few-shot learning, self-supervised and unsupervised learning, as well as domain adaptation methods like PEFT (Parameter-Efficient Fine-Tuning) and generative AI models for synthetic data creation. Expertise in deep learning model optimization techniques, such as model distillation, quantization, pruning, and other methods that improve computational efficiency.. Hands-on experience with deep learning frameworks like TensorFlow and PyTorch. Strong communication skills. ::: #### 自身評估 符合部分: * 有熟悉Python、C++等程式語言使用經驗。 * 參與過一些學術研討會並獲得國科會補助。 * 有做過人臉與行人辨識系統等專案。 不符合部分: * 缺少生成式AI和LLM的經驗。 * 缺少日語溝通能力。 [Senior Applied Scientist, Generative Artificial Intelligence (AI) Innovation Center](https://www.linkedin.com/jobs/view/4085582537/?alternateChannel=search&refId=Kb%2F9Qw0Qc7ti2JCDC1bXEQ%3D%3D&trackingId=wq%2FQfGVJE1hx4x9Z6nlRDg%3D%3D) :::spoiler Basic Qualifications 5+ years of building machine learning models or developing algorithms for business application experience Master's degree in engineering, technology, computer science, machine learning, robotics, operations research, statistics, mathematics or equivalent quantitative field Knowledge of programming languages such as C/C++, Python, Java or Perl Proven knowledge of deep learning and experience hosting and deploying ML solutions (e.g., for training, tuning, and inferences) Preferred Qualifications PhD in engineering, technology, computer science, machine learning, robotics, operations research, statistics, mathematics or equivalent quantitative field Working knowledge of generative AI and hands on experience in prompt engineering, deploying and hosting Large Foundational Models Hands on experience building models with deep learning frameworks like Tensorflow, PyTorch, or MXNet ::: #### 自身評估 符合部分: * 有熟悉Python、C++等程式語言使用經驗。 * 有做過預測與其他機器學習專案。 不符合部分: * 尚未有至少5年的機器學習或算法開發經驗。 * 缺少生成式AI經驗和大模型的部署經驗。 * 缺少雲端平台部署經驗。 ### 嘗試列出職缺 (或類似的職缺) 的面試題目 #### 對面試題目進行問答,文字紀錄即可 --- 公司名稱:群暉 1. 講解一下 Process 及 Thread 的差別跟比較: > Process 是一個獨立的程式單位,每個Process都有自己的記憶體空間,資源互不干擾。資源分配與切換的成本較高。 > Thread 是Process中的執行單位。多個Thread可以共享同一個Process的記憶體資源。資源分配與切換的成本較低。適合需要大量運算的環境,並行性較高。 2. Stack 跟 Heap 的差別: > Stack 是LIFO後進先出的結構,由系統自動分配和釋放,有固定的大小,速度快但不適合長期存在的資料。 > Heap 是動態記憶體分配的區域,需要手動管理分配與釋放,空間由系統管理,速度慢但是和長期存在且大小不定的資料。 3. 請解釋一下 Virtual Function: > Virtual Function是C++實現多態性的機制 > 在基類用virtual來聲明函數,可以讓派生類複寫該函數。再調用此函數時,實際調用的會是派生類的複寫版本而非機類版本。 4. 請解釋一下 Synchronous call 跟 Asynchronous call 的差別: >Synchronous call: >* 執行順序為線性,函數呼叫後會等待結果返回,執行後才能繼續。 > >Asynchronous call: > * 執行順序非線性,函數呼叫後不會阻塞程序執行,結果通過回調函數或其他機制返回。 5. 比較 Stack 跟 Queue 的差別 => 實作一下 Stack。 > Stack是LIFO 後進先出,常用於函式的呼叫與回朔,插入與刪除在同一端進行。 > Queue是FIFO 先進先出,常用於排程與dataflow的處理,插入在尾端,刪除在頭端進行 ```C++= class Stack { private: int* arr; // 指向陣列的指標 int top; // 目前頂部索引 int capacity; // 堆疊的最大容量 public: // 建構子 初始化大小 Stack(int size) { arr = new int[size]; capacity = size; top = -1; } // 解構子 釋放記憶體 ~Stack() { delete[] arr; } // Push 將Data加入stack void push(int value) { if (isFull()) { cout << "Stack overflow" << value << endl; return; } arr[++top] = value; } // Pop從stack頂部移除data void pop() { if (isEmpty()) { cout << "Stack underflow!" << endl; return; } top--; } // Top查看stack頂部的data int peek() { if (isEmpty()) { cout << "Stack is empty!" << endl; return -1; } return arr[top]; } // 判斷堆疊是否為空 bool isEmpty() { return top == -1; } // 判斷堆疊是否已滿 bool isFull() { return top == capacity - 1; } }; ```