Try   HackMD

2022面試紀錄

tags: 雜談

Marsgoat Jul 13, 2022

前言

2022上半年面試了不少間公司,主要記錄一下我的一些心路歷程,所以我就歸類為雜談了,也記錄一下被問到的一些題目,覺得有些還蠻有趣的,想要知道是什麼公司的考題可以私下來密我,我就不放上公司名字了,大部分題目都是我回家自己比對leetcode上找的類似題,可能跟實際上有一點點小差別,但差異不大就是了。

發現篇幅有點太長,決定把解題過程搬運到另一篇。
Marsgoat Jul 15, 2022

題目分享

有一些相關知識或解答我會放去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

一開始總感覺有做過類似的題目,但又不太一樣,腦袋一片空白,直到我看到時間複雜度要求是

O(log(m+n)) 才有靈感。

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 *pint * const pconst int * const pint 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秒吧因為我有開鏡頭而對方沒有,我對著黑框框完全不知道對方表情)
我:我人緣應該不至於這麼差吧?應該不會找不到人幫我。
面試官:痾也可以,那如果隔天還是一定要你本人回來處理呢?你會願意回來嗎?
我:

我真的覺得超扯的,一直窮追猛打,就是希望我回來,好可怕。
後來跟身在台積電的子睦哥分享這件事

子睦哥:我會說,就算我人在澎湖,游泳也游回來。

真不愧是子睦老大!
子睦哥表示其實這樣聽起來我根本就沒有想去,面試官聽得出來我只是去面試看看的,那這種都不會有機會,真的想去的人應該要積極點,而且要展現出你的奴性熱情。
他還分享他當時適性測驗超高分,他都知道對方想要的答案是什麼,裡面也真的蠻多人是以工作為第一優先的,真是可怕,不愧是台積電。
阿不過你們最近股價跌有點慘,上班請加油,救救2330。

心得

面試經驗是真的還蠻有趣的,而且會知道不同公司不同職位在意的點是什麼,知道自己職涯該往哪個方向努力,履歷上放什麼會被問後來也都很清楚,還能補足自己不足的地方,我覺得每場面試都是在學習,包含專業技能、表達能力、談判技巧等等的各方面技能,所以我都蠻鼓勵大家就算沒要換工作也去面試看看,而且很多人都是一面試就離職了XDD,只能說2021~2022上半年景氣是真的很好,到處缺工,薪水都越開越高,這段時間跳槽的人估計都加薪20%以上吧,但沒想到景氣跟天氣一樣說變就變,從美國開始有人事凍結的消息,前幾天又看到有加密貨幣交易所上半年才在台灣高薪大徵才,現在過不到半年就直接全部裁掉,真的扯,不知道未來會如何,希望我下一次換工作的時候又是一波大缺工的熱潮XDD

最後我要特別感謝一下天宇大神,在年初給了我很多面試相關的建議,真的是把他知道的包含薪水都跟我分享了,雖然最後沒有去面他公司,但還是得到非常多有用的資訊,而且在我對新工作面臨選擇困難時也給了我很多鼓勵跟建議,非常感謝天宇大神無私的分享!小羊永遠感謝你~

新登場人物

子睦哥:
是我高中時最要好的同學之一,高中時是擊劍社社長,又帥又強,擁有眾多粉絲,而我是子睦哥後援會的會長,我都會拍子睦哥的生活照傳上FB粉絲專頁,所以到後來子睦哥就跟哲仰一樣,看到我拿起手機都會反射性的躲開。
以前每次中午都會上演便當爭奪戰,子睦哥只要拿完便當去上廁所再回來,那他的便當可能就只剩下白飯了,因為子睦媽做的便當實在太好吃了,全部被我們搶去吃光,所以後來子睦哥中午到哪都要帶著便當,真是懷念~

天宇大神:
研究所時的學長,也是我問問題(騷擾)的對象之一,因為我很喜歡把我的問題分享給所有的人,讓大家跟我一起煩惱XDDD,集思廣益嘛~記得我在天宇大神當兵的時候都會在FB留言給他,我遇到問題就會去留言,他一放假或是能用手機的時候就會看到我滿滿的留言,應該讓他超級傻眼,我這樣也算是幫他在當兵的時候動點腦,也是不錯的吧?!有幾次他還沒看到訊息我就想到答案了,他還笑說是不是要開個假帳號讓我自己去留言ㄏㄏ。

回小羊筆記首頁