# 2024 年「資訊科技產業專案設計」作業 3
[Resume](https://drive.google.com/file/d/1lEQDYikGf9ihkFd_9t3U1PqCcf7gqrA3/view?usp=drive_link)
## 職缺探索
### [Google: Software Engineer II, Diagnostics, Tools, Google Cloud Platform](https://www.google.com/about/careers/applications/jobs/results/93255956128768710-software-engineer-ii-diagnostics-tools-google-cloud-platform)
:::spoiler JD
- Develop tools and diagnostics in support of system health verification, performance characterization, and on-going reliability of machine learning and AI acceleration platforms.
- Develop software that executes in multiple systems in parallel, and develop dashboards to analyze the results.
- Enable the testing and decision making on hardware and software design and deployment.
- Enhance the quality, performance processes, or coverage of the diagnostic tool or utility of the Google Cloud platform.
- Collaborate with Google Software, Firmware, and Hardware teams to design, plan, implement and debug.
:::
:::spoiler Requirements
- Bachelor’s degree or equivalent practical experience.
- 1 year of experience with software development in one or more programming languages (e.g., Python, C, C++, Java, JavaScript).
- 1 year of experience with data structures or algorithms.
Preferred qualifications:
• Experience in software development experience with performance, systems data analysis, diagnostics tools, and debugging.
• Experience in developing on Linux.
• Experience with C/C++, Python and Golang.
• Experience in system health, diagnosis and resolution, and software test engineering.
:::
評估:
* 優:
* Experience with C/C++, Python and data structures or algorithms
* 缺:
* 對於Linux知識不夠深入
* 缺乏system health和software test engineering等的相關知識及經驗.
### [Synopsys: Software RD Engineer](https://www.104.com.tw/job/5xqxf?jobsource=google)
:::spoiler JD
Responsible for designing, developing, troubleshooting, or debugging software programs. Develops software tools including data structures, algorithms, compilers, utilities, and databases etc. tools, etc.
:::
:::spoiler Requirements
Experience in programming software for algorithms, unix operating system, and/or job control languages, and some knowledge of software capabilities. Designs algorithms and data structures. Experience on development of complex software projects, familiarity with C/C++ coding, and a strong background in data structures and algorithms. Has strong desires to learn and explore new technologies and demonstrates good analysis and problem-solving skills. Prior knowledge and experience of CAD tool development are required.
:::
:::spoiler 面試題目
- pass by value跟pass by reference的差別跟優劣
- 一些STL容器的使用時機
- 物件導向
- constructor、destructor的呼叫機制、virtual function、dynamic memory的一些觀念
:::
評估:
* 優:
* familiarity with C/C++ coding
* 缺:
* 沒有接觸過unix,CAD tool和job control languages
### [Microsoft: AI R&D Data Intern (Computer Vision/Visual Document Intelligence)](https://g.co/kgs/W6QytA3)
:::spoiler JD
- Interface between engineering and data-vendors across geographic regions to ensure we provide clear and actionable guidance on data collection and labeling, and also validate data quality after delivery
- Assist on data labeling tool end-to-end release tests
- Participant in data tool development for analysis, demo and visualization
:::
:::spoiler Requirements
- Experience in data analysis and visualization
- Experience in developing Modern Websites using React.
- Pursuing B.S. degree or higher in Computer Science, Engineering or related fields, or recently graduated within one year (military service time excluded).
- Team player, effectiveness both in independent and collaborative work, drive for
results.
- Detail-oriented, conscientious, and thorough
:::
評估:
* 優:
* 為有興趣且有自主學習的CV方面
* 缺:
* 沒有使用過React,但有其他前端框架經驗
## 模擬面試(Synopsys)
Interviewee:請你解釋並說明pass by value跟pass by reference的差別跟優劣。
Interviewer:當一個變數pass by value時,他會create一份變數的copy到memory供function使用,因此所有對該變數的改動都是再該copy上不會影響原變數;而pass by reference則是將指向變數的位置的指標變數傳給function做使用,所以再對其操作時會直接影響原變數。
而我認為pass by reference會較pass by value 來的有效率,因為它省去了複製變數的額外空間,且可以直接對原變數操作。
## 參考資料
- [新思面試題目](https://medium.com/@dynamic_lazuli_squirrel_12/2022-synopsys-software-r-d-%E9%9D%A2%E8%A9%A6%E5%BF%83%E5%BE%97-8e6511bf85aa)
- [0 到 100 的軟體工程師面試之路](https://ithelp.ithome.com.tw/articles/10288192)
- [IC 產業結構和軟體工程師的機會](https://hackmd.io/@sysprog/BkE4X5vvF)