面試問答
1.現在有一個檔案,紀錄排序過的數字1~N,其中有一個數字重複了,請找到它 BigO是多少?
直覺回答,使用一個迴...
第一次電話訪問HR會先講公司大致狀況,還有面試流程,還有問一些選工作怎麼選,以及對工作有什麼要求之類的基本問題,然後約面
試時間,我面試的時候好像安排不少人,所以電話訪問和面試時間相隔2個星期
到場面試會先寫題目,時間是一小時,題目難度偏高,後端的範圍包含DBA、資安、Server、API(與前端交互)、基本的網路基礎(TCP Http之類的),DBA占比稍微高一點,偏向做大量讀寫而且是百萬筆資料的情況
題目做完後會由主管面試,會先問背景、工作經驗,工作上遇到的問題,主要著重在和上面題目相關,在後半段也會問自己覺得有什麼問題,或者是希望往什麼方向做,或是在前面有可能發生問題的地方要怎麼處理,像是用前公司架構,但遇到DB效能瓶頸可以怎麼處理,如何改善,有沒有想法之類的。
主管面試在我面試過的公司裡後端主管應該是有條理的前幾名,問問題能問得確切,而且會配合面試者能力,像我自己是DBA較弱,所以在問這部分的時候明顯有感覺到會用配合我能理解的敘述來問,前工作是用C++,問相關問題的時候就比較犀利。
後半會跟你說明公司開發流程、以及使用語言狀況,因為是一條龍、所以會包含不同程式語言使用;以一周為一個小開發週期,不確定狀況,但聽起來是會需要加班配合,部門是有確實拆分前後端,但我自己沒有經驗所以不是很確定怎麼分
最後會由HR來說明公司福利,基本上薪資看能力,14個月,每半年評估,特休、全薪病假都是優於勞基法不少,福利不差,該有的都有,後半會問一些電話訪談的內容,但會記錄,像是對自己未來的期望、選工作的標準等等
總體面試時間2.5小時,如果題目能做得完整應該會減少不少時間
工作環境在市政府站附近的大樓,有門禁、但電梯不多
辦公室內感覺很友善沒有隔間,經過時可以聽到溝通聲,但整體燈光偏暗
面試問答
1.現在有一個檔案,紀錄排序過的數字1~N,其中有一個數字重複了,請找到它 BigO是多少?
直覺回答,使用一個迴圈找[i] == [i+1]時就能找到重複的數字,O(n)
回答完後主管問最近有在刷題(leetcode)嗎?
然後問有沒有更快的方法
直覺回答,因為是有序排列,所以哪個位置要是什麼數字是可以確定的,先拆成M分,然後對頭尾判斷,可以快速篩出重複數字在哪個片段。面試時只說到這,然後我忘記bigO怎麼算
應該可以用Binary Search 這樣是O(log n),或者是結合我的拆M分,M-tree 這樣在資料量大的情況下可以減少縱深
面試建議
職缺是後端,投履歷時可以看到使用語言,但使用上要配合DBA,而且程式偏向大量讀寫,所以DBA準備一定不能少,基本SQL語法要熟悉,可以加快讀寫操作的也要了解,像是join、index的使用
行業類別應該google都知道,公司狀況是多種語言都有機會使用到,聽起來是要能接受加班,而且願意扛壓