---
title: 資訊科技產業專案設計課程作業 3
tags: 資訊科技產業專案設計
---
## 相關工作職缺
> 打勾代表條件符合
## Google
### [Test Engineer, Automation](https://careers.google.com/jobs/results/120616474864689862/)
#### Minimum qualifications:
- [x] Bachelor’s degree in Computer Science, Electrical Engineering, related technical field or equivalent practical experience.
- [x] Experience in developing test automation solutions in Java, C++, or Python.
#### Preferred qualifications:
- [x] Experience in developing automated internal frameworks, building monitor system, or improving testing effectiveness.
- [x] Experience with tools in Android Test Support Library used for UI test automation.
- [x] Experience working with arduino and relay automation.
- [x] Experience with machine learning systems and tools.
- [ ] Knowledge of system components, interfaces, and protocols on mobile devices such as touch, display, camera, audio, cellular, wi-fi, bluetooth, network protocols, power and battery, system performance, multimedia, sensors, touch, NFC, USB, Type-C,SPI, I2C, I2S, UART, etc.
### [Hardware Test Engineer, Devices and Services, Camera](https://careers.google.com/jobs/results/127137631528985286/)
#### Minimum qualifications:
- [x] Bachelor's degree in Computer Science, Optics, Electrical Engineering, Chromatics, Image Analysis, Human Factors Engineering, or equivalent practical experience.
- [ ] 1 year of experience in Quantitative and Objective Camera Image Quality Measurement and Benchmark.
- [x] 1 year of experience in Data Statistics and Analysis Tool Development.
#### Preferred qualifications:
- [ ] 2 years of experience in Quantitative and Objective Camera Image Quality Measurement, Benchmark, Test Plan, Protocol Development, and Cross-Team Testing Collaboration.
- [ ] 2 years of experience in Data Statistics and Analysis Tool Development.
- [ ] 1 year of experience in Camera ISP/3A tuning.
### [Camera Software Engineer, Google Pixel](https://careers.google.com/jobs/results/98848256324182726/)
#### Minimum qualifications:
- [x] Bachelor's degree in Computer Science or equivalent practical experience.
- [ ] 3 years of experience in software engineering/programming.
- [x] Experience in Software development coding C/C++.
#### Preferred qualifications:
- [x] Experience in Camera Hardware Abstraction Layer (HAL) infrastructure.
- [ ] Experience in mobile phone, tablet, or embedded system software development.
- [x] Experience in Unix/Linux platform, preferably Android.
- [x] Experience in Camera Image Signal Processor (ISP).
- [x] Experience in development of drivers.
---
## Self assessment
### Advantage
- Experience in Test automation
- developing automated internal frameworks, building monitor system
- tools in Android Test Support Library used for UI test automation.
- Experience in ISP and ML
- Optics Knowledge (Bachelor of Physics)
- OpenCV, Tensorflow, PyTorch, etc.
### Disadvantage
- NCKU
- Bachelor of Physics
- Lack of Hardware Knowledge
- Knowledge of system components, interfaces, and protocols on mobile devices such as touch, display, camera, audio, cellular, wi-fi, bluetooth, network protocols, power and battery, system
- Lack of Software Knowledge
- Dynamic Programming
## Mock Interview
1. What is the most challenging part of your project? Why do you think that's a challenge?
- Our measurements software, QMeas, I think the priority challenge is to plot millions of data in real-time. We spend near three months dealing with that problem. The second challenge is cross-domain cooperation. When developing QMeas, I often need to ask physics Ph.D. to discuss their measurement habits, because two-dimensional materials are fragile, any pulse will destroy the material, so I need to develop a program that protects devices. Also, I need to ask students who major in computer science how to write clean code. I am glad that I can combine two aspects of knowledge in one product.
- Another software, Graphene Finder, the challenge is the stage on the microscope is inclined, so when I want to scan the whole device, most of the images taken by the microscope were blurry. So, I must make my own autofocus module. This module is very simple. I just let the microscope take pictures at three different focal lengths. Then use Sobel operator to find the clearest position.
2. Please give me more examples. What's the most difficult situation you've ever faced? How do you solve this problem?
- When the program runs over a day, the plot speed becomes slower and slower, then it runs out of memory. In the end, the program crashed. At first, I guess the problem is in the part of writing data in text files because I remember when I open a large file, it took me about ten seconds to open it, so I guess the open file process cause this situation. When I remove the writing data part from the program, the situation still. Then I think the problem is plot effectiveness, we start trying to improve how we store our data, and the situation gets better, however, it still crashes in the end. Until we replace our plot module with a GPU acceleration plot module VisPy, we know that the problem is not caused by plot module efficiency. In the end, we solve this problem by moving data from the backend to the frontend. The Qt’s function emit couldn’t send a lot of data at once.