0:00 可以再跟面試者閒聊一下,讓彼此更多互動
8:15 沒有解釋為甚麼%2的n次方
程式碼的部分會讓人看得很亂,因為把次方都寫成1>>n跟2>>n
我覺得可以在for迴圈中間宣告像是
會讓程式碼可讀性更高,加上for迴圈變成兩半,看得不太舒服
9:47 在講解直接找到開頭就是start的解的部分,我第一次聽的時候沒聽懂,可能是我理解力差,但是我覺得跳過太多東西了,包括怎麼會有這個想法,以及透過檢查start的2^i的bit去決定前半後半,來讓開頭是start,兩個聽起來就會很跳,沒有解釋為甚麼這樣做,start就會是開頭,只是把解法講出來而已
聲音很炸
14:13 問的問題我覺得有點怪,因為p不管指向哪個我覺得差異只是實作方式,即使用兩個指標去操作我覺得問題也不大
17:57 我覺得問題有點沒有必要,因為說node更改會增加記憶體空間,但整個code也只有用到2個node,如果要改進的話,挑這個地方我覺得有更好的選擇,但在看完後面後,才了解到因為是遞迴會用到很大量的空間,這時候我覺得才會是合理的修改
在Follow up的部分,我是聽了下面的YT連結才了解
我覺得解釋部分可以再加強,包括畫圖的部分,在解釋想法時,圖上已經有之前畫過的線,變成你講的跟圖上的不一樣,看的就不是很明白,以及為甚麼要用遞迴,遞迴的作用是甚麼,我覺得都沒有很清楚的解釋到
並在bstFromPreorder填入0會比較好
因為這樣就把index給包進這個function,而不用去宣告一個全域變數,我覺得會是比較好的寫法
15:20 string 拼成sting
18:22 children 拼成chrildren,如果怕拼錯,可以寫child就好
拼錯很多字會讓人觀感不太好,覺得你可能英文不好(?,並且也沒有及時發現錯誤
19:30 感覺對自己的答案也沒有很肯定(有在被答案得感覺)
Helper函數那段我有點沒聽懂,包括index那一段為甚麼要設-1跟回傳值,覺得可以先介紹你這段程式碼要做甚麼再來寫程式,否則一邊寫又一邊講解,會讓人很Confuse你現在寫的東西到底是甚麼作用
24:05 interviewer在說明題目的時候沒有提到input跟output的格式,interviewee也沒有問,跟上面的討論一樣,直接以傳進TreeNode為假設去實作,並且res的部分也沒有提到如果今天沒有common prefix是要回傳null嗎,還是怎麼樣的
在這幾名同學中,我有遇到幾個程式碼寫完,聽他解釋完,但還是很難理解他在做甚麼,我就得還要去查相關的題目,自己算一遍,等自己懂了再回去看,會發現同學的講解跳過了很多步驟,像是可能使用了遞迴,但沒有跟你說使用的原因,要用在哪,如何作用,你就會聽得霧煞煞,所以自己也要避免這種會自己省略一些步驟的講解方法,講解應該要是清楚,淺顯易懂的
其實從寫程式中就可以看到一個人是不是在背答案,像是可以很順的寫完整串判斷式,邊界甚麼的都一氣呵成就寫好,或是用一些很簡略的寫法,都會讓人感覺在背答案,觀感就會不好,所以還是要注意一下
我發現這種習慣真的很難短時間改變,我看了老師檢討,以及同學們的檢討,但真的下去寫,又會忘記要記得寫註解,講到一半發現自己的滑鼠又再亂晃,所以可能要通過更多的練習,或是寫個小抄來提醒自己不要犯那些不該做的事情