Try   HackMD

2024 年「資訊科技產業專案設計」作業 3

Resume

職缺探索

Google: Software Engineer II, Diagnostics, Tools, Google Cloud Platform

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等的相關知識及經驗.

Synopsys: Software RD Engineer

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

Microsoft: AI R&D Data Intern (Computer Vision/Visual Document Intelligence)

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

評估:

  • 優:
    • 為有興趣且有自主學習的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 來的有效率,因為它省去了複製變數的額外空間,且可以直接對原變數操作。

參考資料