2024 年「資訊科技產業專案設計」作業 3
Resume
職缺探索
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.
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等的相關知識及經驗.
JD
Responsible for designing, developing, troubleshooting, or debugging software programs. Develops software tools including data structures, algorithms, compilers, utilities, and databases etc. tools, etc.
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.
面試題目
- pass by value跟pass by reference的差別跟優劣
- 一些STL容器的使用時機
- 物件導向
- constructor、destructor的呼叫機制、virtual function、dynamic memory的一些觀念
評估:
- 優:
- familiarity with C/C++ coding
- 缺:
- 沒有接觸過unix,CAD tool和job control languages
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
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
評估:
模擬面試(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 來的有效率,因為它省去了複製變數的額外空間,且可以直接對原變數操作。
參考資料