各位前輩好 我想我跟原PO一樣也需要幫助
文長且有點抱怨文 請見諒
我可能運氣比較差 上個月因為家裡有事回台灣一趟
回來以後公司就叫我不用來上班了
明明放假前經理也批假了 唉 簡而言之我就是失業了
其實我自認coding應該是還可以
leetcode一直都有在寫 版上很多人強調的不要背題
多問問題我自認都有做到 都能夠用推理的去把一個新題解出
再看別人的解去改進 自己手寫都有做到
但我不知道是不是真的流年不利 總是在面試最後一關拿不到自己真的想要去的offer
目前面過的大廠:
VMWare / MagicLeap
有過但是當時因為家庭因素decline...
Google
on-site後沒過目前冷凍中
Amazon
失業後面的 面SDE後HR打來說原則上?過了但感覺JAVA經驗不夠
問我能不能轉system engineer
我答應後也是無聲卡
當然還有很多大小公司族繁不及備載
但昨天也剛面完一間on-site 我想是我主要發這篇的原因
面完HR告訴我一切都很好 但coding這關bar真的還差一點
叫我先練一下兩個月後再跟他連絡一次
題目確實不難 但我不知道是我跟面試官不對盤還是我自己問題比較大
因為如果不對盤那就算了 我覺得我也沒辦法改變什麼
但如果我自己問題大 我想上來真心尋求版友建議
以下強調我絕對沒有背題 但因為發文所以我盡可能簡化
第一題:
給定一個array 建造一個complete binary tree
ex: [1, 2, 3, 4, 5, 6]
1
/ \
2 3
/\ /
4 5 6
先清楚地把binary樹原理等等解釋清楚 有問條件等等
當然我用BFS可以解完了沒問題
面試官問那如果有給定一棵樹 輸出inorder的順序
我用遞迴也解出來也沒問題
但他這時候的問題變成是 如果給定原本的array怎麼直接output inorder
老實說我聽了問題楞了一下 我問他不就兩個functions在這裡了
我們為何不能直接叫這兩個function就好?
他覺得有其他辦法 想知道我會怎麼做
我就說我會有一個大function去包這兩個小的function這樣
(後來HR跟我說面試官覺得我用暴力解... 不願意去思考有沒有其他方法...)
其實我回來還有檢討一下 但真的有其他更好的辦法嗎?
第二題:
給定一個array 找出第二大的數字
我知道版友看到一定會笑掉大牙 這麼簡單也不會過...
但沒關係 我知道leetcode有類似的 但我們不能背題 對吧
我開始問主考官問題 確認到底要什麼
是否可以保證答案一定存在? 不保證 size可能小於2 要throw error
是否可以保證每個數字都是唯一的? 不保證 可能有重複的數字
數字是否有特定範圍? 不知道 這都隨機的
ex:
[1, 1, 2, 2, 3, 3] 答案2
一開始我先用hash map去把重複的數字過濾掉
先看數量夠不夠 夠的話用sort找出倒數第二個
結果面試官問複雜度(N log N) 他說他不喜歡這個
因為要用額外的memory 想問有沒有N的方法
我說可以記錄說最大跟大二大同時是什麼
我有先寫大概的想法跟code 但我提醒覺得這樣會有問題
面試官一直覺得沒問題 搞不清楚為什麼我說會有問題 叫我先寫出來
好的我們寫差不多跟這個幾乎一樣的
https://www.geeksforgeeks.org/find-second-largest-element-array/
他覺得ok 其實我當下閉嘴就好 但我可能自己假會 一直跟他說我覺得這樣會有問題
因為如果[3, 3] 跟 [3, INT32_MIN] 這個function會丟出一樣的結果
但是事實上第一個陣列沒有正確答案 第二個卻是有的
照他當初自己說的任何數字可能性都有 那他要求的這種方法不就死了...
我才告訴他這樣的方法會有問題 原本的優點在哪等等
但反正他可能不是很喜歡我原本的方法跟答案
但HR跟我說面試官覺得我在這邊卡住 而且他給了提示我卻沒辦法完成他的要求
我心裡才OS這樣明顯就有問題了...最後他自己才發現要至少兩個不一樣的元素才可以用
這樣的演算法吧...
自我檢討:
我自己很常糾結一些為什麼一定要照面試官的答案才是標準答案這樣的思維去跟他們討論
我自認應該很和善的去了解跟題出自己的想法
可能他們就會覺得我在硬凹還是沒有理解的透徹
加上我自己心態可能也有點崩了(以下開玩笑請不要太認真)
現在整天躺在床上
心裡都OS面試官都是智障嗎
例如第一題如果他有好的辦法 是不是可以提出來我們兩個討論
分析優缺點 這才是討論問題的本質不是嗎?
第二題我就給test case就打臉了 還一直叫我先寫出來
然後又說我卡住
就跟妹子一樣要什麼不講清楚 要別人去猜他到底要什麼
猜不到就說別人不合格 我是要應徵軟體工程師還是算命師?
還是我其實就閉嘴乖乖把戲演好就好 也不要自作聰明提出很多想法去質疑面試官?
反正把offer拿到才是最重要的?
之前有類似這樣做 這樣又會被說我們要可以互相討論的team player 不是單純解題機器
真的搞的心很累...
加上其實剛畢業一年又失業 當初能夠申請new grad的優勢又沒了
真的處在一個很尷尬的時間點 才會上來求助
如果版友們有覺得適合的軟體工作能夠內推的請讓我知道
(如果是華盛頓 加州 或是德州 那會更好!)
或是如果能只針對我的問題給予建議我也會很感激
最近覺得廢到笑所以如果知道我是誰的請不要認親
謝謝