更新:我被拒了。明年繼續(xù)努力褐鸥!
被大神refer后居然拿到了intern面試機會线脚。
第一輪:
從口音來看是個印度人大叔,tension很高。
Q1:給你一個data arr浑侥,要你在out arr里put數(shù)組和姊舵。
ie data: 1 2 3 4 5
? ? out: ? ? ?1 3 6 10 15
這個很簡單,就一個for loop搞定寓落。秒速寫完括丁,對面來個good。
Q2:給你一個2d的 data arr伶选,要你輸出同樣道理的out arr史飞。
ie: data: 1 2 3
? ? ? ? ? ? ? ? 2 5 6
? ? ? ? ? ? ? ?7 8 9
? ? ? ?out: ?1 3 6
? ? ? ? ? ? ? ? 3 10 19
? ? ? ? ? ? ? ?10 31 66
我的回答是先是橫著加,然后再豎著加仰税。idea沒問題构资,他讓我寫。然后我就卡了陨簇。主要是太久2d arr沒做過了吐绵。他建議我按照我的想法,把步驟的公式列一下然后再寫塞帐。我列完后立刻就寫了出來... code就不寫了拦赠,就是兩個 n方的loop巍沙。
Q3:他給了我這個interface葵姥,讓我implement
public interface tables {
? ? ? ? ? ? void set(int x, int y, int val);
? ? ? ? ? ?int sum(int x, int y);
}
后來被陳趴趴教育說這是個online algor,set和sum之間有個trade off句携。理論上來說榔幸,有個兩個都是log n的算法,但他也想不出矮嫉。
休息了十五分鐘削咆。其實也算不上休息,就是喝了些水蠢笋。大腦已經(jīng)進入了興奮狀態(tài)拨齐,坐了一會兒然后第二個面試官就打來了電話。
聽聲音有點懷疑是中國人昨寞,聲音感覺很嚴肅瞻惋?就是一點語調(diào)都沒有。
上來就來句“I am from Google.” 我硬生生地回了句援岩,然后那哥們就開始出題了歼狼。
Q1 BST Level Order Traversal
幾乎是leetcode原題。leetcode的是讓你return一個list的list享怀,這個是直接print羽峰。我先是按照原題把它存進了list里然后最后print。我一開始忘記在console里打空格了,但是后來終于改好了梅屉。然后哥們問我說值纱,好,你這個O(n)是多少坯汤。我說计雌,先traverse每個node,就是O(n)玫霎,最后print也是O(n)啊凿滤。他說,嗯對其實是O(2n)庶近,你可不可以improve一下翁脆。我看了下,感覺result的那個list的list并不需要就把它刪了鼻种。他說行反番,然后我又盯了一會,因為我覺得還有地方不夠好叉钥。這個時候我想起了陳趴趴以前跟我說space complexity的問題罢缸,我就立刻反應過來說還有個improve的方法。然后面試官說投队,that sounds good to me枫疆。然后進入了下一題。
Q2 BST Level Order Reverse
題就是reverse敷鸦,基本就是把code粘過去改了一下console息楔。
這次面試結(jié)束我個人感覺還可以,然而第二天recruiter給我發(fā)郵件說要加面扒披。
祝我好運吧值依。