# 資訊科技產業專案設計課程作業 3 ## 職缺規劃 & 評估 ### [Google, Software Engineer, Storage Technologies](https://www.google.com/about/careers/applications/jobs/results/120458778561651398-software-engineer-storage-technologies) :::spoiler Job Description **Minimum qualifications:** - Bachelor's degree in Computer Science, a related technical field, or equivalent practical experience. - 5 years of experience in system software development (e.g., firmware, BIOS, BSP, Linux kernel, BMC, device drivers, and system libraries). - Experience in Unix/Linux environments. - Experience coding in C/C++. **Preferred qualifications:** - Master's degree or PhD in Computer Science, or a related technical field. - Experience in Solid-State Drive (SSD)/NAND or Hard Disk Drive (HDD) based storage technologies, interfaces (e.g., NVMe, SATA/SAS), and security standards (TCG). - Experience in developer operations, release management, integration testing, and open source development. - Experience in storage software stack with Linux or firmware in storage controllers (e.g., RAID/AFA/NAS). - Experience in large-scale and secure fleet management of servers and components. - Experience in Python and scripting languages (e.g., shell). **Responsibilities** - Design and implement the system software for storage systems to maximize the performance, reliability, security, and capacity. - Create and implement tools for automating diagnostics, performance evaluation, and reliability assurance for storage components and systems. - Develop and implement solutions for collecting and analyzing metrics for storage products in the cloud infrastructure to derive actionable insights. - Collaborate with internal and external partners to plan and execute the engineering programs, including product development and productivity improvements. - Contribute innovative ideas and skills to the team. ::: #### 自身評估 - 符合條件 - 相關學歷 - 於Linux環境撰寫C/C++以及script的開發經驗 - RAID & LVM (storage middleware)相關經驗 - 不足 - 缺乏storage底層/device drivers相關經驗 - 大型伺服器開發經驗不足 ### [Amazon, Software Dev Engineer](https://www.amazon.jobs/en/jobs/2813491/software-dev-engineer) :::spoiler Job Description **BASIC QUALIFICATIONS** - Speak, write, and read fluently in Mandarin - Master or Bachelor Degree in Computer Science, Computer Engineering, Electrical Engineering, or related fields. - Will graduate between 2024/08 to 2025/08. - Proficiency in the C/C++/Python programming language. - Knowledge of Computer Science fundamentals such as algorithm design, data structures, problem solving, and complexity analysis. **PREFERRED QUALIFICATIONS** - Good English listening and speaking skills. - Experiences with Linux or other embedded systems is a plus. - Understanding in computer network and/or wireless network is a plus. **Key job responsibilities** - 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. #auta-twn ::: #### 自身評估 - 符合條件 - 相關學歷 - 於Linux環境撰寫C/C++以及script的開發經驗 - 不足 - 缺乏嵌入系系統相關經驗 - 對網路或無線網路的開發經驗不足 ### [Cadence, Software Engineer II](https://www.linkedin.com/jobs/search/?currentJobId=4067689653) :::spoiler Job Description **Requirements** - Master's degree or PhD in Computer Science, Electrical Engineering or relevant field - Familiar with Linux developing environment - Ability to develop software in C/C++ - Experience developing software under Unix/Linux environment **Preferred qualifications** - Experience developing physical design tool or applications - Experience with IC implementation tools - Proficiency in software engineering tools - Knowledge of software developing flow **Key responsibilities** - Develop routing engine and relevant applications - Maintain functionality - Troubleshoot and debug ::: #### 自身評估 - 符合條件 - 相關學歷 - 於Linux環境撰寫C/C++以及script的開發經驗 - 不足 - 缺乏EDA相關知識及經驗 ## 面試資料整理 - [年薪三百萬軟體工程師的歷程 第一集 白板面試](https://www.dcard.tw/f/job/p/236764787) - [年薪三百萬軟體工程師的歷程 第二集 物件導向面試](https://www.dcard.tw/f/job/p/236780509) - [年薪三百萬軟體工程師的歷程 第三集 系統設計面試](https://www.dcard.tw/f/job/p/236880383) ### 模擬面試 R: 如何確保資料在儲存系統的完整性? E: 確認儲存系統是否有備份或冗餘機制並且使用checksums來檢查檔案是否毀損 例如使用RAID1來儲存資料避免硬碟損壞導致資料遺失,但相對應的代價是可儲存容量的減半。