# 2024 年「[資訊科技產業專案設計](https://hackmd.io/@sysprog/info2024)」課程第 3 次作業 ## 分析 FAANG/MAMAA 的職缺 ### [Google: Software Engineer](https://www.google.com/about/careers/applications/jobs/results/137721392706527942-software-engineer-university-graduate-2025) - JD Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. ### [Amazon: Software Dev Engineer](https://www.linkedin.com/jobs/view/software-dev-engineer-at-amazon-4057712721/) - JD * Support the development of the Ring and Blink FW and work with the SDET team to support the building up of the test framework with the QA team. * Collaborate with experienced cross-disciplinary Amazonians to conceive, design, and bring innovative products and services to market. * Design and build innovative technologies in a large distributed computing environment, and help lead fundamental changes in the industry. * Create solutions to run predictions on distributed systems with exposure to innovative technologies at incredible scale and speed. * Build distributed storage, index, and query systems that are scalable, fault-tolerant, low cost, and easy to manage/use. * Ability to design and code the right solutions starting with broadly defined problems. * Work in an agile environment to deliver high-quality software. ### [Microsoft: Senior Software Engineer-Web API](https://jobs.careers.microsoft.com/global/en/job/1776929/Senior-Software-Engineer-Web-API) - JD * Be responsible for design, implementation, support, testing, and DevOps of global and regional microservices, control plane services and client tools. * Join Take on-call (DRI) rotations, participate in Live-Site activities pertaining to compliance, security, availability, and customer issue intake processes. * Define and measure service level indicators and lead the design of process and technology solutions that enable measurable performance against SLIs and KPIs. * Bring excellent software engineering habits and produce high quality code that is unit tested, code reviewed and checked in regularly for continuous integration and delivery (CI/CD). * Work closely with Microsoft major Cloud Server hardware supplier for onboarding and maintenance of manufacture certificate provisioning process. * Mentor and provide technical guidance to more junior members of the team. ## 我的簡歷 ### Open Source Contribution - [apache/kafka](https://github.com/apache/kafka) A distributed publish-subscribe messaging system ### Experience - Software Backend Engineering Intern: Dcard - Backend Engineer Intern: PAIA 1. Backend system developing, unit testing, performance optimization - Part-time SWE: GLSoft - IT intern LITE-ON Corp ### Projects #### High-Performance Advertisement Backend System - Dcard Intern Assignment [(repo link)](https://github.com/peterxcli/ad-server) - A scalable advertisement management system, backed with replicated advertisement business state machine, replicated log system, and fault recovery mechanism. Guaranteed the consistency and durability of the advertisement operation. #### NCKU Bike-Festival 2024 Website Backend Developer, DevOps, a little bit of Frontend [(code)](https://github.com/gdsc-ncku/bike-festival-2024-backend) / [(site)](https://nckubikefestival.ncku.edu.tw/BikeFestival17th-Frontend/) / [(blog)](https://blog.peterxcli.dev/2024/02/18/BikeFest-2024-Backend/) - Line third party Login, Event Management, Event Notification System Capable of Handling Over 2000 Users Simultaneously Within an Average Processing Time of 100ms - Tech: Go, Redis, PostgresSQL, Asynq, Line API ### Reward - TSMC IT CareerHack - "IT Infrastructure Automation Monitoring and Management - Implementation with Generative AI Technologies" : Second Place, 2024 - The ICPC Asia Regional Programming Contest : Bronze Medal, 2022 & 2023 - Teaching Computer to Watch Badminton Matches - Competition combining AI and sports: Honorable Mention, 2023 ## 自身能力匹配 ### **Google: Software Engineer** 在 Google 的這個職缺中,我的能力與多數要求非常契合: #### **符合部分** 1. **分散式系統與後端經驗** 我在開源專案 Apache Kafka 的貢獻,展現了我對分散式系統的理解,特別是在高效能資料傳遞和儲存領域。此外,我在 Dcard 和 PAIA 的實習中,負責後端系統開發與效能優化,這讓我能處理大規模系統設計的挑戰。 2. **快速適應與團隊合作** 我的多段實習經歷中,參與了不同的技術堆疊與團隊文化,展現了快速適應新環境與跨團隊合作的能力,這非常符合 Google 強調的靈活性。 #### **不符合部分** 1. **人工智慧與自然語言處理經驗不足** 雖然我對分散式系統和後端有紮實的基礎,但對於 JD 中提到的 AI 和 NLP 領域,缺乏直接的專案經驗。這可能是我需要補強的部分。 2. **UI 設計與行動應用開發** Google 產品中的 UI 和行動應用可能超出我的專業範圍,這部分目前未曾涉及。 --- ### **Amazon: Software Dev Engineer** Amazon 的這個職缺強調分散式系統和創新技術的開發,我認為我的背景能與其中多數需求匹配。 #### **符合部分** 1. **分散式計算與創新技術** 在 Apache Kafka 的貢獻,以及我在 Dcard 和 PAIA 的實習經歷中,我參與過後端系統的設計,並且專注於效能優化和分散式架構,能很好地滿足 Amazon 在大規模分散式環境中創新技術開發的需求。 2. **敏捷開發經驗** 我的多段實習都採用了敏捷方法,能快速迭代並提供高品質的軟體。 #### **不符合部分** 1. **測試框架與硬體相關經驗** JD 中提到需要支援測試框架的建構以及與韌體相關的技術,而我目前的經歷尚未直接涉及這些領域。 2. **跨團隊硬體合作經驗** 雖然我有跨團隊合作的經驗,但未涉及硬體相關的產品或韌體的開發流程。 --- ### **Microsoft: Senior Software Engineer-Web API** Microsoft 的這個職缺聚焦於微服務開發和 CI/CD 流程,這部分與我的經歷較為契合,但也有需要補強的地方。 #### **符合部分** 1. **微服務與後端開發經驗** 在 PAIA 和 Dcard 的實習中,我曾設計後端系統並參與效能優化,這與微服務的需求高度相關。 2. **CI/CD 流程實踐** 在 GLSoft,我有過基於持續整合與部署的開發經驗,這讓我熟悉相關工具和流程。 3. **團隊合作與潛在指導能力** 我在多個團隊中協作,並在開源貢獻中與其他開發者溝通合作,這展現了我的協作能力與指導潛力。 #### **不符合部分** 1. **硬體供應鏈整合** 職缺要求與硬體供應商合作處理證書配置,這是我目前尚未接觸的領域。 2. **Live-Site 支援經驗不足** 雖然我在開發過程中解決過技術問題,但對於 Live-Site(即時問題排查)經驗較少。 ## Mock Interview 的前期準備 - 自我介紹 - Leetcode - 面試考古