2022 面試紀錄
2022/7/13
前言
2022 上半年面試了不少間公司,主要記錄一下我的一些心路歷程,所以我就歸類為雜談了,也記錄一下被問到的一些題目,覺得有些還蠻有趣的,想要知道是什麼公司的考題可以私下來密我,我就不放上公司名字了,大部分題目都是我回家自己比對 leetcode 上找的類似題,可能跟實際上有一點點小差別,但差異不大就是了。
發現篇幅有點太長,決定把解題過程搬運到另一篇。
2022/7/15
題目分享
有一些相關知識或解答我會放去2022 面試白板題,有興趣的話可以去看看。
Stack and Queue
225. Implement Stack using Queues
232. Implement Queue using Stacks
忘記是要我用 stack 實作 queue 還是用 queue 實作 stack 了,剛好 leetcode 上都有我就都貼上來,有點像以前修資料結構時的作業。
Linked List
206. Reverse Linked List
印象中是考 linkedlist 的一些簡單操作,其中最難的就是 reverse 而已,我還沒寫完對方就說可以了,然後有問跟 Array 的差別,跟使用時機這樣。
Binary Tree
144. Binary Tree Preorder Traversal
要求建一顆 Binary Tree 跟各種 Traversal
Longest Increasing Subsequence
300. Longest Increasing Subsequence
經典的 DP 問題,相關類型的題目也特別多,這應該算是同類型中較簡單的題目。
Candy
135. Candy
只有用暴力法解出來,這題沒看過真的很難想到,太技巧了,雖然彥吉表示這不就是 easy 題嗎?但對我來說還是太難了 QQ,我就爛。
Median of Two Sorted Arrays
4. Median of Two Sorted Arrays
一開始總感覺有做過類似的題目,但又不太一樣,腦袋一片空白,直到我看到時間複雜度要求是
Merge Intervals
56. Merge Intervals
986. Interval List Intersections
這題也是有點故事的,986 剛好我之前就寫過,面試時被考到幾乎相同的題目,只是給的範例不一樣而已,所以當時被考到心裡是竊喜的,果然我是強運之人,開始演一波假裝從暴力法開始想,然後再做出最佳,過程中也不時跟面試官互動,邊寫邊說我目前的想法,也感覺得出來對方很滿意,56 也是類似題,不過是不同間的面試題,這次我就沒演了,就直接講想法之後寫出來。
問題分享
順手也記錄一些常被問到的問題,而且我大多都答得蠻爛的,比如物件導向的特性,我直接被電爛,有一間的 coding 測驗是線上,寫完送出後才安排面試,面試官第一題就要我解釋物件導向特性,我完全沒有準備就說我不知道,對方就開始說現在線上考程式很多人都會上網抄根本沒有用什麼的,我真的是無言,當我面這樣講就是指我不是嗎,好可憐被嘴爛,後來直接無聲卡。
具體哪幾間公司問了什麼我已經忘了,有列出來的大部分都是有被重複問到我印象比較深刻的。
一些閒聊我就不放了,還有一些很常見的問題比如什麼為什麼想換工作啊,工作上遇到的困難之類的,反正網路上都很多,這種都是個人經驗感覺沒什麼好分享的。
程式類問題
物件導向的特性,stack、queue、linkedlist、array 解釋名詞跟比較差異,call by value call by reference 的差別,問 quick sort 的過程,問 hash 還有如果發生 collision 要怎麼解決,還有問 BFS、DFS 的差別跟使用時機,還有一些給程式碼問輸出結果的,就是考那種會不會改動到值或是先加後加的題目。
C++相關問題
因為有一間針對 C++ 問了特別多,我想說就特別分出一類好了。
virtual function、C++ lambda(好像跟 python 的 lambda 是一樣的東西?!我是直接說我沒用過)、const 位置的差別(好像是什麼const int *p
、 int * const p
、 const int * const p
、int const *p
,我忘記實際題目了,但對方出了四個例子要我解釋差別),還有 STL、Vector 的一些用法區別什麼的。
OS 類問題
有被問到 deadlock、race condition、memory leak、multithread、multiprocess,背名詞解釋感覺都挺卡的,還是要特別準備一下,不然面試官也知道你在背稿,但後來我用工作上的經驗來描述,感覺面試官都比較滿意,比如 multithread 我就說 python 中遇到的GIL的坑,這個之後可以來寫一篇,去年跟哲仰遇到的時候都覺得很有趣。
資料庫跟網路問題
因為我有面後端所以有被問到,但我幾乎都答不出來,零準備哈哈哈哈,大致上就是網路上能 google 到的問題,我印象不深了,我記得我只答出 primary key 跟 foreign key 這種最基礎的名詞,其他問題我全說不知道,然後收到感謝函。
design pattern
我當時只知道 singleton,直接沒救,但面試官好像沒有很在意這塊?不知道是不是因為我太菜他沒有預期我會。
後來公司技術會議子期大大分享了更多相關的知識,感恩子期讚嘆子期,等我真的能夠融會貫通後再來寫幾篇紀錄。
ML 相關問題
具體題目已忘記,但就是給一些情境問你會怎麼做這樣,其實我這邊都回答得蠻爛的,我感覺 ML 的缺很泡沫,一堆大神競爭激烈,根本沒啥好的機會,而且實際工作內容可能也跟想的不太一樣,我本來還想看看有沒有機會去找 NLP 的工作,但根本都沒機會,不過主因也是我自己太爛啦。
總共有 20 題,但我沒有每題都有複製出來,就看看就好,不一定是單選題。
1.假設你正在訓練一個字元辨識的分類器(Classifier), 已知在有限的訓練資料中有 5%的標記錯誤, 下列哪個方法最難提高準確度?
(A)使用更多的訓練資料
(B)使用多個弱分類器, 組合成一個強分類器
(C)加入正規化項(Regularization)
(D)提高分類器模型複雜度
2.在線性回歸(Linear Regression)問題中, 常使用 R 平方(R-Squared)來判斷擬合度。考慮在模型保持不變, 新增一個特徵的情形之下, 下列敘述何者正確?
(A)如果 R 平方增加, 則這個特徵有意義
(B)如果 R 平方減小, 則這個特徵沒有意義
(C)僅看 R 平方單一變量, 無法確定這個特徵是否有意義
(D)以上說法都不對
3.在二元分類問題中, 訓練資料如有嚴重的不平衡狀態, 例如(1:1000), 請問下列哪些方法可能有助於改善?
(A)使用資料增強(Data Augmentation)技術, 增加少數樣本的數量
(B)使用生成對抗網路(GAN, Generative Adversarial Network) 技術, 增加少數樣本的數量
(C)調整訓練資料的抽樣方式, 例如將多數樣本經過隨機抽樣放回程序, 分成 N 份, 搭配相同的少數樣本, 訓練出 N 組模型後取平均或投票
(D)重複 N 次訓練, 每次均由全部資料中隨機抽樣一部分, 訓練出 N 組模型後取平均或投票
神奇的問題
這邊分享一個台積電的面試題,後來上網查發現這好像是非常常問的問題。
面試官:如果你去外縣市旅遊,但系統有 bug 需要維修,你會怎麼做?
我:我可以帶筆電去,這樣就可以遠端修 bug 了。
面試官:是可以,我們有配給工程師遠端用的電腦,但是如果這個一定要你人回來修呢?
我:痾...考量到距離如果我人在墾丁之類的,可能也回不來,我會請有空的同事先幫忙處理一下。
(此時空氣凝結了將近 2 秒吧...因為我有開鏡頭而對方沒有,我對著黑框框完全不知道對方表情...)
我:我人緣應該不至於這麼差吧?應該不會找不到人幫我。
面試官:痾...也可以,那如果隔天還是一定要你本人回來處理呢?你會願意回來嗎?
我:...
我真的覺得超扯的,一直窮追猛打,就是希望我回來,好可怕。
後來跟身在台積電的子睦哥分享這件事
子睦哥:我會說,就算我人在澎湖,游泳也游回來。
真不愧是子睦老大! 子睦哥表示其實這樣聽起來我根本就沒有想去,面試官聽得出來我只是去面試看看的,那這種都不會有機會,真的想去的人應該要積極點,而且要展現出你的奴性熱情。 他還分享他當時適性測驗超高分,他都知道對方想要的答案是什麼,裡面也真的蠻多人是以工作為第一優先的,真是可怕,不愧是台積電。
心得
面試經驗是真的還蠻有趣的,而且會知道不同公司不同職位在意的點是什麼,知道自己職涯該往哪個方向努力,履歷上放什麼會被問後來也都很清楚,還能補足自己不足的地方,我覺得每場面試都是在學習,包含專業技能、表達能力、談判技巧等等的各方面技能,所以我都蠻鼓勵大家就算沒要換工作也去面試看看,而且很多人都是一面試就離職了 XDD,只能說 2021 ~ 2022 上半年景氣是真的很好,到處缺工,薪水都越開越高,這段時間跳槽的人估計都加薪 20%以上吧,但沒想到景氣跟天氣一樣說變就變,從美國開始有人事凍結的消息,前幾天又看到有加密貨幣交易所上半年才在台灣高薪大徵才,現在過不到半年就直接全部裁掉,真的扯,不知道未來會如何,希望我下一次換工作的時候又是一波大缺工的熱潮 XDD
感謝
最後我要特別感謝一下天宇大神,在年初給了我很多面試相關的建議,真的是把他知道的包含薪水都跟我分享了,雖然最後沒有去面他公司,但還是得到非常多有用的資訊,而且在我對新工作面臨選擇困難時也給了我很多鼓勵跟建議,非常感謝天宇大神無私的分享!小羊永遠感謝你~
新登場人物
子睦哥:
是我高中時最要好的同學之一,高中時是擊劍社社長,又帥又強,擁有眾多粉絲,而我是子睦哥後援會的會長,我都會拍子睦哥的生活照傳上FB 粉絲專頁,所以到後來子睦哥就跟哲仰一樣,看到我拿起手機都會反射性的躲開。
以前每次中午都會上演便當爭奪戰,子睦哥只要拿完便當去上廁所再回來,那他的便當可能就只剩下白飯了,因為子睦媽做的便當實在太好吃了,全部被我們搶去吃光,所以後來子睦哥中午到哪都要帶著便當,真是懷念~
天宇大神:
研究所時的學長,也是我問問題(騷擾)的對象之一,因為我很喜歡把我的問題分享給所有的人,讓大家跟我一起煩惱 XDDD,集思廣益嘛~記得我在天宇大神當兵的時候都會在 FB 留言給他,我遇到問題就會去留言,他一放假或是能用手機的時候就會看到我滿滿的留言,應該讓他超級傻眼,我這樣也算是幫他在當兵的時候動點腦,也是不錯的吧?!有幾次他還沒看到訊息我就想到答案了,他還笑說是不是要開個假帳號讓我自己去留言ㄏㄏ。