# 資訊科技產業專案設計課程作業 3 [Resume](https://www.canva.com/design/DAG4iXtWY-E/A40j1UtN4cQA6tC3xuCHdQ/edit?utm_content=DAG4iXtWY-E&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton) ## 1. Job Description #### Amazon ##### [Data Scientist, Data and Machine Learning](https://amazon.jobs/en/jobs/3091169/data-scientist-data-and-machine-learning-wwps-us-federal) Are you excited to help the US Intelligence Community design, build, and implement artificial intelligence (AI) algorithms, including advanced Generative AI solutions, to augment decision making while meeting the highest standards for reliability, transparency, and scalability? The Amazon Web Services (AWS) US Federal Professional Services team works directly with US Intelligence Community agencies and other public sector entities to achieve their mission goals through the adoption of Machine Learning (ML) and Generative AI (GenAI) methods. We build models and Machine Learning Operations pipelines for text, image, video, audio, and multi-modal use cases, leveraging both traditional ML approaches and state-of-the-art generative models including Large Language Models (LLMs). Our team collaborates across the entire AWS organization to bring access to product and service teams, to get the right solution delivered and drive feature innovation based on customer needs. At AWS, we're hiring experienced Data Scientists with a background in both traditional and generative AI who understand the unique challenges of the Signals Intelligence (SIGINT) and Cyber Operations domains, with experience applying data science and machine learning to transform Intelligence Community production chains. In this role, you will work at the intersection of SIGINT, Cyber Operations, and cloud computing, helping customers understand the opportunities their data presents, applying the full suite of AWS's AI/ML services to transform missions, and building solutions that earn the customer trust needed for deployment to production systems. You will work closely with customers to deeply understand their data challenges and requirements, and design tailored solutions that best fit their use cases. You should have broad experience building models using all kinds of data sources, and building data-intensive applications at scale. You should possess excellent business acumen and communication skills to collaborate effectively with stakeholders, develop key business questions, and translate requirements into actionable solutions. You will provide guidance and support to other engineers, sharing industry best practices and driving innovation in the field of data science and AI. #### NVIDIA ##### [High Performance AI Engineer](https://nvidia.eightfold.ai/careers/job/893391850548?domain=nvidia.com&hl=zh-TW) We are looking for outstanding High Performance AI Engineer to build groundbreaking multi-agent systems for the CUDA ecosystem. We build innovative agentic runtimes and compiler-integrated orchestration that work together with NVIDIA's software stack to provide comprehensive acceleration for modern agent workloads powered by foundational models. As a member of the team, you will develop new agent abstractions, GPU-centric runtimes, and compiler- or runtime-driven system solutions to accelerate agent planning, tool-use, code generation, and other high-impact AI workloads. You will collaborate closely with internal NVIDIA software and hardware teams to push the latest developments into NVIDIA products. What you'll be doing: * Design, build and optimize agentic AI systems for the CUDA ecosystem. * Co-design agentic system solutions with software, hardware and algorithm teams; influence and adopt new capabilities as they become available. * Develop reproducible, high-fidelity evaluation frameworks covering performance, quality and developer productivity. * Collaborate across the AI stack—from hardware through compilers/toolchains, kernels/libraries, frameworks, distributed training, and inference/serving—and with model/agent teams. #### Google ##### [Security Engineer, Enterprise Security](https://www.google.com/about/careers/applications/jobs/results/122745952178971334-security-engineer-enterprise-security) Security is at the core of Google's design and development process: it is built into the DNA of our products. The same is true of our offices. You're an expert who shares our seriousness about security and our commitment to confidentiality. You'll collaborate with our Facilities Management team to create innovative security strategies, investigate breaches and create risk assessment plans for the future. You believe that providing effective security doesn't come at the expense of customer service - you will be our bodyguard (and our long lost pal). As a Security Engineer on this team, you will be responsible for securing Google’s enterprise usage of third-party SaaS platforms and products. This includes performing technical security assessments across infrastructure and application security domains and developing remediation plans. In this role, you will be responsible for developing new security controls to help scale security across multiple SaaS platforms. The Core team builds the technical foundation behind Google’s flagship products. We are owners and advocates for the underlying design elements, developer platforms, product components, and infrastructure at Google. These are the essential building blocks for excellent, safe, and coherent experiences for our users and drive the pace of innovation for every developer. We look across Google’s products to build central solutions, break down technical barriers and strengthen existing systems. As the Core team, we have a mandate and a unique opportunity to impact important technical decisions across the company. ##### [Software Engineering Intern, Summer 2026](https://www.google.com/about/careers/applications/jobs/results/95392037762671302-software-engineering-intern-summer-2026) Software Engineering Interns at Google are researchers and developers who yearn to create and implement complex computer science solutions. Our engineers develop massively scalable, distributed software systems and also collaborate on multitudes of smaller projects that have universal appeal this requires research, awareness, interactivity and the ability to ask the right questions. You'll develop effective competencies in data structures and algorithms, along with a technical fascination for how stuff fits together. You'll also have a solid foundation in computer science, allowing you to come up with new ideas, as well as to strive for a deep understanding of our products and services in order to continually improve upon them. We focus on being a collaborative, global organization consisting of engineers with the highest levels of technical depth, programming skills, and a keen attention for quality. In this role, you will work on our core products and services as well as those which support critical functions of our engineering operations. Google is and always will be an engineering company. We hire people with a broad set of technical skills who are ready to address some of technology's greatest challenges and make an impact on millions, if not billions, of users. At Google, engineers not only revolutionize search, they routinely work on massive scalability and storage solutions, large-scale applications and entirely new platforms for developers around the world. From Google Ads to Chrome, Android to YouTube, Social to Local, Google engineers are changing the world one technological achievement after another. ## 2. 所需能力與匹配程度 ### Data Scientist, Amazon #### 所需能力 Academic Background - Bachelor's degree in Computer Science, Engineering, related field, or equivalent experience. - Masters or PhD Degree in computer science, engineering, mathematics, operations research, or in a highly quantitative field. (Preferred) Experience - 3+ years of experience in: migrating and transforming legacy SIGINT/Cyber capabilities through data science and machine learning approaches; and building models within SIGINT/Cyber operational constraints. - Professional experience applying data science within Intelligence Community production chains. - Experience with algorithms, data structures, parsing, numerical optimization, data mining, parallel and distributed computing, high-performance computing, neural deep learning methods and/or machine learning. - Experience using Python and hands on experience building models with deep learning frameworks (i.e., Tensorflow, Keras, PyTorch, MXNet). (Preferred) - Experience building applications leveraging GenAI. (Preferred) Others - Current, active US government Security Clearance of TS/SCI with Polygraph. #### 匹配程度 - 學歷部分匹配程度99%,大學就讀 Computer Science,現正就讀 Cyber Security 碩士學位。 - 經歷部分匹配程度40%,僅第2及第4點 neural deep learning 及 machine learning 的實作經驗符合 - 至於那個 Others,達成的難度應該很高 ### High Performance AI Engineer, NVIDIA #### 所需能力 Academic Background * Bachelor’s degree in Computer Science, Electrical Engineering, or related field (or equivalent experience); MS or PhD preferred. Experience: * 3 years+ industry or academia experience with AI systems development; exposure to building foundational models, agents or orchestration frameworks; hands-on experience with deep learning frameworks and modern inference stacks. * Strong C/C++ and Python programming skills; solid software engineering fundamentals. * Experience with GPU programming and performance optimization (CUDA or equivalent). * Strong experience in building/evaluating deep learning models, coding agents and developer tooling. (Preferred) * Demonstrated ability to optimize and deploy high-performance models, including on resource-constrained platforms. (Preferred) * Demonstrated ability in GPU performance optimizations, evidenced by benchmark wins or published results. (Preferred) * Publications or open-source leadership in deep learning, multi-agent systems, reinforcement learning, or AI systems; contributions to widely used repos or standards. (Preferred) #### 匹配程度 - 學歷部分匹配程度99%,大學就讀 Computer Science,現正就讀 Cyber Security 碩士學位。 - 經歷部分匹配程度30%,我具備 C/C++ 和 Python 程式設計技能。針對第5點,我也曾經實作過模型壓縮的各種方法,諸如 Pruning, Model Quantization, Knowledge Distillation的背景。但是更進階的 orchestration frameworks 或是 multi-agent systems的發表著作或開源領導地位...等經驗,就較為缺乏。 ### Security Engineer, Google #### 所需能力 Academic Background * Bachelor's degree or equivalent practical experience. Experience * 1 year of experience in responding to security alerts and incidents. * Experience programming in Go, Python, C/C++, or Java. * Experience in coding, security assessment, and networking protocols. * Experience coding in one or more languages (e.g., SQL, Javascript, etc.). (Preferred) * Understanding of federated AuthN/AuthZ technologies (SAML, SCIM, OIDC). (Preferred) * Understanding of networking concepts (e.g., protocols, topologies, encryption). (Preferred) * Ability to perform technical security assessments of large complex systems. (Preferred) * Ability to design and develop new security control implementations. (Preferred) #### 匹配程度 - 學歷部分匹配程度100%,他沒有限定大學、研究所就讀什麼系所。 - 經歷部分匹配程度50%,儘管我是資安學程的學生,但我沒有 responding to security alerts and incidents 的經驗。我有 C/C++, Python 以及 SQL 程式設計的經驗。我也了解網路相關的概念(protocols, topologies, encryption)。至於後兩項 Ability,在未來可以藉由選課獲得相關的能力。 ### Software Engineering Intern, Google #### 所需能力 Academic Background * Currently pursuing a Bachelor’s, Master's, or PhD degree in Computer Science, or a related technical field. Experience: * Experience in software development and coding in at least one general purpose programming language (e.g., Java, C, C++, Python, JavaScript, C#, Go, etc.). * Knowledge of Unix/Linux environments, Machine Learning, Tensorflow, or embedded systems. (Preferred) * Ability to showcase tech projects and participate in computer science-related extracurricular activities. (Preferred) Other * Available to work full time for 10-12 weeks outside of university term time and to return to a degree program after completion of the internship. (Preferred) #### 匹配程度 - 學歷部分匹配程度100%,大學就讀 Computer Science,現正就讀 Cyber Security 碩士學位。 - 經歷部分匹配程度100%,我有用 Java, C/C++, Python 開發專案的經驗,也了解 Machine Learning, Tensorflow。至於 Unix/Linux environments, embedded systems 我打算下學期修。我也曾在校外參加實習,像是2024年在中研院資訊所實習。 ## 3. 模擬面試題目 🧔:面試官 👶:面試者 ### 技術問題 🧔:假設你在建造一個進行圖像分類任務的神經網路。請描述你會如何選擇模型?訓練完成後發現 Accuracy 未能達到你的要求,可能是什麼原因?你要怎樣處理? 👶:首先,我會基於數據集的特徵和大小選擇一個適合的深度學習模型,如卷積神經網絡(CNN)或是殘差神經網路(ResNet)。至於 Accuracy 未能達到要求可能是因為 Epoch 或是 Learning Rate 參數設計不良,這可以藉由試試看多個參數組合來找到最好的表現,或是藉由 Learning Rate Scheduler 來調整 Learning Rate;或是也有可能是因為 Loss Function 設計有問題,這也可以藉由嘗試多個不同 Loss Function 方案(像是MSE、MAE、Cross-Entropy Loss)。 此外,也要排除是 Overfitting 的問題,而這可以藉由 Data Augmentation 以及 Normalization 解決。 🧔:假設你完成神經網路的建造,你想要將他的尺寸壓縮。請描述你會使用哪些方法? 👶:模型壓縮的方法有剪枝(Pruning)、量化(Quantization)、知識蒸餾(Knowledge Distillation)...等。模型剪枝原理就是每個 Channel 都會計算 mini-batch 的 mean 和 variance,並以此來做 normalization,normalization 後的結果還會再乘上 γ 並加上 β 作為 BN 的輸出,這兩個參數允許模型自己學習最合適的縮放和平移,將重要的 Channel 放大,不重要的縮小,因此當某個通道的 γ ≈ 0 ,就表示該通道對輸出幾乎沒貢獻,是可以刪掉的;量化就是降低模型中數值(主要是權重)的精度,將浮點數FP32轉成整數INT8,從而減少模型的體積、記憶體佔用和計算量;知識蒸餾就是將大型且表現卓越的教師模型中蘊含的知識轉移至體積更小、計算成本更低的學生模型中。 --- ### 邏輯思維問題 🧔:給長度為n的整數一維陣列 nums,你要怎樣找出總和最大的子陣列? 👶:一開始令2個變數 Ans 和 maxSum 都為 nums[0],接著從 nums[1] 開始遍歷,若maxSum + nums[i] < nums[i],則重設 maxSum 為nums[i],代表接下來可能的子陣列從 nums[i] 開始,否則代表加入 nums[i] 的子陣列總和(maxSum)有機會變大。比較完之後,若 maxSum > Ans,代表現在找到的子陣列是目前最佳解,則更新 Ans 為 maxSum。遍歷完成後,Ans 為全局最佳解。 🧔:給點的數量為 k,及點的相鄰關係 conditions 資料結構為 list[list[$int_1, int_2$]],[$int_1, int_2$]表示$node_1會指向node_2$。舉例來說: k = 5, conditions = [[0, 1], [1, 4], [1, 2], [2, 3], [3, 4]]。請你判斷這張圖是不是acyclic,是的話回傳 topological sort,不是的話回傳空陣列。 👶:Topological sort 核心概念就是每次都取出 indegree 為 0 的點,若有環則沒辦法取出所有點。 ``` Python def topologicalSort(self,k , conditions): child = defaultdict(list) indegree = {i: 0 for i in range(k)} for a, b in conditions: child[a].append(b) indegree[b] += 1 ``` 這邊是在建立 indegree 以及 child 的 dictionary,`child[a].append(b)`表示 b 是 a 的 child,且因為 a 指到 b,所以 b 的 indegree 要 +1。 ```Python queue = [node for node in indegree if indegree[node] == 0] order = [] ``` 這邊挑選每個 indegree 為 0 的 node 當作要來遍歷的點,order 就是 topological sort 的結果。 ```Python while queue: node = queue.pop(0) order.append(node) for nei in child[node]: indegree[nei] -= 1 if indegree[nei] == 0: queue.append(nei) # 如果長度不等於 k,代表有環,回傳 [] return order if len(order) == k else [] ``` 將 while loop 的條件設為 queue 非空是因為只要 queue 裡面還有東西,就代表還有點還沒遊歷到。把 queue 的點 node pop 出來當作我們看過的點,並且將 node 的所有小孩的 indegree 都減少 1,畢竟 node 都被移除了當然少了一個 indegree 的貢獻者。若小孩的 indegree 為 0 則代表他接下來要被移除,因此加入 queue。 若 sort 出來的結果等於 k,表示每個點都在裡面,為 acyclic;若有點不在裡面,表示存在 cycle 使得在某個時刻不存在 indegree 為 0 的點,回傳 [] 就好。 ---