W16 直播檢討


Posted by Christy on 2021-10-10

Q1:老師可以快速講解提點一下 Week 16 的練習題嗎? 謝謝

A1: Robot 是基本 class 的運用;Debounce 有點像是延遲執行,這些題目都很重要喔。

Q2: 16 週的課程都是以 var 為範例,但現在幾乎都使用 letconst,課程這樣設定的用意是什麼呢?感謝老師回答

A2: 因為語法還是都存在,所以都講,無法避免掉會看到 var 的場合。不過如果有規範的話,都用 let, const 比較好

Q3: 還是不是很懂文章中提到:按鈕監聽事件(迴圈那邊)跟閉包有什麼關係?

A3: 跟作用域有關,迴圈跑完以後,i 就是 5,其實跟閉包沒有關係;接下來要怎麼解決這個狀況才跟閉包有關,解決方式就是在宣告一個函式,回傳另一個函式,把值關在函式裡面,這才是閉包的概念。

Q4: 請問老師,有關非同步的像是 promise 這種在 event loop 機制裡面都會是最後才執行的對嗎?(就是會先執行同步的東西並處理完 stack 裡面的東西後才會執行非同步的程式)

A4: 對,24'47" 有詳細解釋。

Q5: 請問當我寫下 let a = 5; var b = 6; b 會可以利用 window.b 來取得,但是 a 不行,不過 a 沒有被其他 block 包覆那不是應該要生存在 window 內嗎? (有點不太懂為什麼不行用 window 取得 a) 謝謝

A5: const, let 不會在 window 上新增一個屬性,規則就是這樣

Just like const the let does not create properties of the window object when declared globally (in the top-most scope).

Description

Q6: var b ,不給予值,印出會是 undefined ,可以想成如果宣告但是沒有給予值的話,系統會 default 給出 undefined 這個值嗎? 把 undefined 想像成一個值?

A6: 可以把 undefined 想像成一個值,undefined 就是沒有定義的值,記得跟 not defined 的差別。

Q7: 第十五週網站前後端開發基礎測試Q9,不太懂「而小明在網站載入成功後打開 console,發現文字的確有被印出來。」這樣這段程式碼會有問題,可以麻煩老師講解嗎~~之前作業自己好像沒用到 window 也想問像 window 這個 web api 有什麼需要多注意或學習的嗎 謝謝老師

A7: 有用到 window,例如 setTimeout();可以用瀏覽器把 window 印出來看看有哪些東西。有興趣的再去研究。

Q9 搞清楚 fn 跟 fn call 的差別。

setTimeout()

Q8: 老師~想問 closure 跟 prototype 大概要熟到什麼程度

A8: closure 學到老師剛剛講的都聽得懂,第十六週練習題裡面的 Debounce 跟 memoize 可以實作出來就 ok;prototype 的話,知道怎麼用它寫出 Robot 物件導向基本的東西並且知道 prototype 的關係。

第十六週練習題

Q9: 老師,如果對SEO有興趣,在開發網站或是目前的學習上老師有什麼建議的!謝謝老師!

A9: 看 SEO 做的不錯的網站的原始碼,參考現成網站去學習比較快。

Q10: 之前老師在回答 final project 的實用性/規模哪一些是比較需要考量 老師有說實用性不太用考量 是因為面試要以用了什麼技術為主去呈現 final project, 還是因為要做出一個真的可用的產品要考量的層面很深(廣)不是我們現在程度能做到的 老師才說不太用考量實用性

A10: 以現在的功力做出來,可能也沒有其他市場上的那麼好用,如果以後沒有要把它當作產品來經營,其實一開始不太需要實用性。把它當作一個 final project 就可以了。

Q11: final project 建議多人還是個人,自己覺得個人的優點是可以自己掌握所有事情,多人的優點是可以有多人協作溝通的經驗,怎麼選擇會對之後面試影響嗎(不知道面試會不會非常重視多人協作的部分或會不會很加分)

A11: 面試確實非常重視多人協作的經驗,可以練習到 git commit, pr 等等;四五個人左右是不錯的人數。

Q12: 工作碰到部署的機會大嗎?

A12: 不一定,看公司,但通常不會是新人。

Q13: 我們部署直接檔案丟FZ 其實是不太好的做法?對實際工作來說

A13: 對喔,基本上如果是真的部署,會是寫一個腳本,讓腳本幫你去做事,不會碰到要部署的機器。

Q14: 如何決定是否鑽研一個技術(或框架)

A14: 覺得有趣或熱門

Q15: 部署這些是不是其實面前端沒什麼加分?

A15: 不一定,看公司。前端可以擁有後端的知識,其實蠻加分的,是一個前後端都會的網頁工程師,有一個更全面性的考量。

Q16: 老師,我的 this 卡卡的,可以先理解成 'this' just refers to what object it's inside of.嗎

A16: 把 this 想成「在呼叫的時候,由一些規則決定它的值」,那只要去學習那些規則,就知道 this 是什麼了。

Q17: 往後學感覺前面又漸漸模糊了,面試前有哪幾週是必啃的嗎?

A17: 可以看 INT101 這堂課跟面試有關,可以看一下。

Q18: 遇到同學(或同業) 有怎樣的狀況或特質老師會覺得不適合當軟體工程師

A18: 工作態度比較重要。

進度落後的話,17, 18 週可以跳過,日後如果要自己寫東西的話,可能會比較慢,或比較不好維護,但還是寫的出來。這兩週對以後未來有幫助,所以可以學習。會一點後端的話,可以自己搞定一切,蠻不錯的。

W16 非常重要,不要跳過,W12, W13 卡很久的話,挑前端的來看就好了,不要一直卡在那邊。

有些 bug 很難除,在文字編輯器裡面看不出來,可以用 16 進位找,有時候是零寬字元或是奇怪的空格。










Related Posts

N + 1 problem

N + 1 problem

Debounce & Throttle in React - 2

Debounce & Throttle in React - 2

人性較量Day07~共存共榮

人性較量Day07~共存共榮


Comments