---
# System prepended metadata

title: '2023年 [資訊科技產業專案設計](https://hackmd.io/@sysprog/info2023/https%3A%2F%2Fhackmd.io%2F%40sysprog%2FS11ooE4Rh) 作業 2'

---

# 2023年 [資訊科技產業專案設計](https://hackmd.io/@sysprog/info2023/https%3A%2F%2Fhackmd.io%2F%40sysprog%2FS11ooE4Rh) 作業 2
🦸：interviewer 🤵：interviewee 

==[video1(漢)](https://youtu.be/zo6GSuHGTsk)==


## 自評-程式部分
* 後半部有小失誤，臨場滅火的能力也需要多培養。
* 打字速度還是不快，繼續多練習。
## 自評-面試部分
* 相比於第一次作業，覺得自己有小小進步了，看完別人的作業上次真的做得好爛哈哈。
對照組 ==[video1]()== ==[video2]()== ==[video3]()==
* 上次比較偷懶 ?就打程式部分直接用轉場跳過，這次努力嘗試邊打code 邊說話了，雖然說自己事後看了下影片發現有時候會停頓一陣子，果然這真的不是一天兩天能練起來的事情。
* 按鍵盤應該要小聲一點，往後為了面試品質，可以添購好一點的麥克風，避免讓對方聽到過多的環境雜音。
* 上次作業的他評有提到不要用原題，所以稍微對題型做了點變化，恰好這學期有修 Data mining 的課，所以就選了 FP-growth 來延伸，但原題的難易度我覺得高了一點，多了一些限制要求。
## 觀看其他同學得到的收穫
* 針對 interviewer
有些人說英文真的很好聽，就算不開 YT 的翻譯字幕也都能聽懂他在說甚麼，所以英文口說真的得好好加強。
* 針對 interviewee
有些同學在設計問題以及對答流程都做得不錯，這部分我自認還有很大的進步空間。
## 從其他同學得到的評價
* 優點
1.開頭的開場白很好
2.口齒清晰
3.反覆提問確認對題目的掌握
4.對程式的解說清楚易懂
* 缺點
1.隔著口罩與安全帽，收音的清晰度受到嚴重影響
2.沒有對題目做延伸討論
3.英文發音不正確
4.沒有拍出程式過程還是有點可惜


## [Leecode：443. String Compression[Medium]](https://leetcode.com/problems/merge-strings-alternately/?envType=study-plan-v2&envId=leetcode-75)
## [延伸變化參考：FP-growth](https://towardsdatascience.com/fp-growth-frequent-pattern-generation-in-data-mining-with-python-implementation-244e561ab1c3)
![](https://hackmd.io/_uploads/HyaXlepbp.png)

###### REACTO
* Repeat：
part1：🤵確定輸入輸出格式
part2：🤵無
part3：🤵確定每次輸入的data其中包含的資料筆數為何

* Example：題目的目標比較明確，這部分這次沒有做好
* Approach：
part1：🤵以 empty dict 儲存輸出結果，並以兩個for迴圈迭代輸入，比較每次迭代的元素，一但相同就將 count +1
part2：🤵改為只用一個for 迴圈
part3：🤵先用 while True 去進行多次輸入，每次輸入完成去呼叫作計數的 count function
* Code：已呈現在下方
* Test：針對最後動態插入有使用 🦸 提供的 test data 測試。
* Optimization：優化 time complexity，減少做白工。

#### 做很多白工的程式碼(python)
```python=
#part1
data=['apple','apple','orange','orange','lemon']
item_counts={} 
for i in data:
    count = 0 
    for j in data:
        if i == j :
            count +=1
    item_count[i]=count

for item,count in item_count.items():
    print(f"{item}:{count}")
```
#### 針對 time complexity 進行優化

```python=
#part2
item_counts={}
for i in data:
    if i not in item_counts:
        item_count[i]=1
    else:
        item_count[i]+=1

for item,count in item_count.items():
    print(f"{item}:{count}")
```
####  動態插入

```python=
#part3
item_count={}
def count(input_data):
    for i in input_data:
        if i not in item_count:
            item_count[i]=1
        else:
            item_count[i]+=1
    for item,count in item_count.items():
        print(f"{item}:{count}")
while True:
    input_data=input("Enter an item")
    count(input_data.split(','))
    if input_data =='q':
        break
```

# 第二次作業-他評

## 針對 interviewer 的建議:
*
*

## 針對 interviewee 的建議:
*
*

## 第四次作業-他人評論-01
- Interviewer：
    - 優點：
        - [0:43](https://youtu.be/zo6GSuHGTsk?t=43) 先詢問面試者有沒有一些基礎知識
        - [9:55](https://youtu.be/zo6GSuHGTsk?t=595) 深入問題
    - 缺點：
        
- Interviewee：
    - 優點：
        - [1:08](https://youtu.be/zo6GSuHGTsk?t=68) 講解得很好，英文與中文的切換很自然
        - 改進時間複雜度
        - [10:20](https://youtu.be/zo6GSuHGTsk?t=620) 跟面試官提問明確問題輸入
    - 缺點：
        
        
