暑期實習4:時刻科技面試過程|2022


 

一、時程:APP實習

  1. 2022/04/02 投遞時刻科技實習
  2. 2022/05/03 完成一面
  3. 2022/05/06 收到感謝信

二、面試過程

  • 面試時間:2022/5/3(二) 17:30~18:15
  • 面試形式:單人線上面試


(一)3分鐘自我介紹

以四個理由說明為什麼我該被錄取,並用一些例子佐證我的理由。


(二)說明一下Deepfake Detection LINE Robot

講一下目的、起因、群眾,並點出重要性、新穎性、可行性,最後說明一下目前的進度,由於組員不全都有機器學習背景,所以一開始是探索與學習階段,現在已經到要測試套件的階段。


(三)說明一下Schedule Z的分工

我負責『演算法和資料結構』,組員A負責『輸出介面、功能整合』,組員B負責『UI設計、輸入介面、串Google map API』。


(四)Schedule Z有遇到什麼困難

原本我們想要串Google calendar API當作我們日曆的部分,因為Schedule Z的賣點是排程,而非強大的日曆功能,所以如果能從Google日曆抓到舊行程,然後再將新行程導回Google日曆,顯然是很不錯的想法。

但組員B反應串不起來,所以我們必須想一個能夠滿足最小需求的功能,因此原本想要在Google日曆上呈現排程結果,最後變成條列呈現就好,然後要有回顧功能。


(五)我有安裝你的Voronoi Diagram使用過,你要怎麼告知使用者目前還在執行?

使用狀態列的功能,我在輸入或輸出檔案時,除了畫面會更新外,我在狀態列上也會顯示是否有執行成功。


(六)除了將應用程式關閉外,你要怎麼停掉演算法?

我在處理輸入或輸出檔案時,會檢查回傳值,以判別是否有成功,但這方法是寫死在程式中,非常不具有互動性。因此如果利用此概念,我應該會去判斷演算法運作時間或圈數,避免陷入無限迴圈。


(七)Program, Process, Thread是什麼?

Program是為執行的程式碼,Process是執行中的Program,而Thread像是Process的小弟,因此一個Process會有多個Thread。


(八)因此你知道該如何停掉演算法?

喔XD知道了!所以演算法就是Program,而在執行中的演算法就是Process,只要把Process停掉,演算法就會中斷,至於要怎麼拿到Process id就是比較細節的部分。


(九)物件導向的多型是什麼?

我會說多型是反向繼承,首先多型是要處理switch的問題,有時候想要在同一個函式中,執行不同功能,我們就會傳入一個flag,然後透過switch去判斷flag要執行哪一個功能。

如果繼承的功能是要讓兒子有權利存取父親的函式,那麼多型則是要讓父親有權利存取兒子的函式,以達到同一個函式中,執行不同功能,所以我才會說多型是反向繼承。

關於多型,可以參考 [筆記]多型與繼承的關係|C++


(十)多型的應用場景為何?

當父親想要存取兒子的函式時,就可以使用多型。例如:JAVA的print(),我猜就是用多型機制,這和C++的cout是不同的,C++的cout是利用operator overloading,可是JAVA不支援operator overloading,且我們在寫JAVA類別的print()時,會寫override,因此我認為JAVA的print()之所以能辨識使用者定義的類別,應該是利用多型機制以達到此功能。

所以如果我今天是開發者,我開發出父親的部分,可是我不知道未來兒子的部分會長怎樣,但我希望父親能存取兒子的函式,故就可以使用多型。


(十一)你想要在實習中獲得什麼?

  1. 除了累積實務經驗外,我想要拿到貴公司正職的職缺
  2. 我想要能夠預判使用者的新需求,並且將之實做出來,這肯定很酷!


(十二)你會如何學習寫APP?

  1. 首先貴公司是Kotlin,而我學的是JAVA,所以我會先去學Kotlin的基本語法。我想這部分網路上教學很多。
  2. 當學會Kotlin語法後,我會想要去學一些套件,這時候就是看官方的文件和範例。
  3. 最後如果不幸的有些功能沒有套件,那就必須要自己刻出來。因此我會去看一些相關的討論、想法或論文,先看看別人是怎麼解決這問題或時做此功能。


(十三)你說你有豐富的領導經驗,那你對領導者的想像是什麼?

我認為領導者最主要就是要『推動整個團隊的運作』,因此領導者不一定是實力最厲害的,或是做最多貢獻的,而是一定要讓帶領團隊繼續走下去。因此像是溝通能力就很重要,因為領導者一定要知道團隊的進度如何?並且出現問題,要立馬去討論或處理。

在一個團隊中,能力不足、消極被動、時間不足、⋯⋯等,都不是最可怕的,最可怕的是有問題卻不馬上提出,這才是最可怕。因為如果連問題都不知道是什麼?是要要怎麼解決問題?因此溝通非常重要。

當知道問題是什麼後,就要能提出來被大家一起討論,要如何解決?我認為生氣是不能解決問題,唯有理性討論,才有可能改善問題。例如:我之前就遇到大家都很消極被動,但我後來才知道,有些人是因為被老師打槍多次才消極,有些人是因為時間不多而消極。

因此我就針對前者說,讓我們在多看一些不同的論文或是出去外面走走,或許可以想到一個具有可行性的題目;而我針對後者說,如果你很忙,你要先說,我不會生氣的,但是往後你比較有空,我會在分派多一點工作給你,所以你現在就先裡你的私事。

以上說明我對於領者的想像,以及當問題出來後,我會如何繼續領導整個團隊的前進。


(十四)你可以說明一下,你覺得不好的APP使用經驗嗎?

先撇除美術設計這部分,就單純功能與使用部分,我之前使用過一個整點報時的APP,但不知道為什麼有時候會報時,有時候不會報時,這就讓我很生氣。還有之前使用過按鍵精靈,我照著說明使用,但我最後還是無法使用。因此功能不穩定以及操作過於複雜,都會讓使用者有不好的經驗。


(十五)報時失靈你會如何改善?

坦白說,我真的不知道為什麼會報時失靈,所以我不也知道該如何改善這問題XD。


三、相關文章

  1. 暑期實習0:背景、面試、結果|趨勢、默克、時刻
  2. 暑期實習1:趨勢科技面試過程|2022
  3. 暑期實習2:默克集團一面過程|2022
  4. 暑期實習3:默克集團二面過程|2022
  5. 暑期實習4:時刻科技面試過程|2022
  6. 暑期實習5:租屋、銀行帳戶、托運機車、健身房|前置作業
  7. 暑期實習6-1:寧夏夜市、給力健身、傳品牛排、趨勢報到|實習日記
  8. 暑期實習6-2:AI機器人、遼寧夜市、饒河夜市|實習日記
  9. 暑期實習6-3:金魚腦、暖心借錢、不要加班、code review|實習日記
  10. 暑期實習6-4:DISC有禮貌、人資會議、薪資微調|實習日記
  11. 暑期實習6-5:內推、旭集、瓦城、畢業典禮|實習日記
  12. 暑期實習7-1:變數|Robot Framework筆記
  13. 暑期實習7-2:控制、迴圈、關鍵字|Robot Framework筆記
  14. 暑期實習7-3:Git筆記
  15. 暑期實習8-0:美食地圖|總目錄
  16. 暑期實習8-1:美食地圖|大安區
  17. 暑期實習8-2:美食地圖|大安區
  18. 暑期實習8-3:美食地圖|中山區
  19. 暑期實習8-4:美食地圖|中山區
  20. 暑期實習8-5:美食地圖|中正區
  21. 暑期實習8-6:美食地圖|松山區
  22. 暑期實習∞|工作、薪資福利、心得|2022趨勢科技

留言