---
###### tags: `資訊科技產業專案設計`
---
# 2022 年 「[資訊科技產業專案設計](https://hackmd.io/@sysprog/info2022/https%3A%2F%2Fhackmd.io%2F%40sysprog%2Finfo2022-homework3)」 課程第 3 次作業
[Resume](https://drive.google.com/drive/folders/1NG-QlEmX3_9263O8xyZWXwNlRfOMTfnq?usp=sharing)
# [Synology Product Developer (分散式系統軟體開發)](https://career.synology.com/zh-tw/HQ/position/19)
## 職務需求
You are expected to have:
- Experience in system or cloud administration
- Familiarity with concurrent programming and debugging in C/C++
- Familiarity with system programming in Linux environments
- Strong understanding of algorithms and data structures
- Strong analytical and problem-solving skills
- Ability to work independently and as part of a team
- Genuine passion for delivering high-performance and reliable systems
We're targeting candidates with:
- Experience in developing at least one distributed storage system, e.g., Swift, Ceph, Gluster, etc
- Familiarity with distributed algorithms, e.g., Paxos, Raft, consistent hash, erasure code, etc
- Familiarity with C++11
- Experience in systems analysis and efficiency improvement tools
## 相關資訊
- https://www.ptt.cc/bbs/Tech_Job/M.1651916094.A.D8E.html
- https://www.dcard.tw/f/tech_job/p/238222963
- https://pttcareer.com/tech_job/M.1588158336.A.1E2.html
## 匹配程度
1. 過去解題的經驗多數都使用c/c++ 以及c++11標準
2. distributed storage system沒有相關經驗需加強
3. 對Linux平台的相關經驗需加強
# [Google Software Engineer, University Graduate, 2023](https://careers.google.com/jobs/results/125320247524631238-software-engineer-university-graduate-2023/?distance=50&location=Taiwan&page=4&q=)
## 職務需求
Minimum qualifications:
- Bachelor's degree in Computer Science, related technical field, or equivalent practical experience.
- Experience in computer science, data structures, algorithms and software design.
- Experience in Software Development and coding in a general purpose programming language (e.g., Java, JavaScript, Python, C/C++, etc.).
-
Preferred qualifications:
- Experience programming in C, C++, Java, and/or Python.
- Experience with Unix/Linux or Windows environments, distributed systems, machine learning, information retrieval, and TCP/IP.
## 相關資訊
- https://www.dcard.tw/f/tech_job/p/238108219
- https://www.dcard.tw/f/tech_job/p/239788094
- https://medium.com/@wingemerald/google-software-engineer-%E9%9D%A2%E8%A9%A6-bef3fbfdd117
## 匹配程度
1. 平常自己多數開發工具以c/c++, java, python為主
2. distributed system以及TCP/IP相關知識需加強
3. 對Linux平台的相關經驗需加強
# [Software Development Engineer Intern, IOT Lab, AWS](https://www.amazon.jobs/en/jobs/2285564/software-development-engineer-intern-iot-lab-aws)
## 職務需求
BASIC QUALIFICATIONS
- Candidates pursuing Bachelors/ Masters in Computer Science or Engineering or related field.
- Graduation in 2023 and 2024 and can work at least 3 month full time.
- Excellent problem solving skills.
- Possess an extremely sound understanding of areas in the basic areas of Computer Science such as Algorithms, Data Structures, Object Oriented Design, Databases.
- Be able to write Amazon quality code in an object oriented language - preferably in C/C++/Java in a Linux environment.
- Candidate must have good written and oral communication skills, be a fast learner and have the ability to adapt quickly to a fast-paced development environment.
PREFERRED QUALIFICATIONS
- Strong, object-oriented design and coding skills (C/C++ and/or Java preferably on a UNIX or Linux platform)
- Knowledge of Perl or other scripting languages a plus
- Experience with distributed (multi-tiered) systems, algorithms, and relational databases
- Experience in optimization mathematics (linear programming, nonlinear optimization)
- Ability to effectively articulate technical challenges and solutions
- Deal well with ambiguous/undefined problems; ability to think abstractly
- Previous technical internship(s) preferred
## 相關資訊
- https://www.1point3acres.com/bbs/thread-936395-1-1.html
- https://easoncao.com/how-am-I-get-into-amazon-before-graduate/
- https://ianyepan.github.io/posts/us-internship/
## 匹配程度
1. 平常自己多數開發工具以c/c++, java, python為主
2. 擁有OR以及數值佳化修課經驗
3. distributed system相關知識需加強
4. 對Linux平台的相關經驗需加強
5. 需加強script language
# 模擬面試
:dog: :interviwer, :cat: :interviewee
:dog:: 給你一個字串 $s$,以及一個整數 $k$,請你設計一個演算法,挑選多個不重疊的子字串,每個子字串的長度不小於 $k$,並且必須是回文字串,請你輸出最多可以形成多少個符合題目描述的不重疊的子字串。
:cat:: 想請問題目中的字串 $s$ 最大長度可以到多少呢?
:dog:: $s$ 的長度最多可以到 $1000$
:cat:: 我想我會先用dp建立所有子字串的回文的表格。$dp[i][j]$ 代表$s[i]...s[j]$是否是回文字串。其中的dp轉移式為 $dp[i][i] = True$ 以及 $dp[i][j] = (s[i] = s[j] \land dp[i+1][j-1])$。
:cat:: 建立完表格之後,依次嘗試以 $s[i]$ 當作子字串的結尾,是否能夠形成不與先前已挑選的子字串重疊且長度大於 $k$ 的子字串。若可以則greedy地挑選這個子字串加入到答案之中。