日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Google、MS和BAT教给我的面试真谛

發布時間:2024/7/5 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Google、MS和BAT教给我的面试真谛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好呀,我是「小鹿鹿鹿」,我又來啦~~趁大家還有依稀印象趕緊乘熱打鐵~~這次聊一聊關于面試的一些小想法,希望和大家交流交流~~

雖然資歷尚淺,但是也面過不少試,有Google、微軟等外企大佬,也有BAT等國內巨頭,工作的這幾年也有幸當過幾次面試官,小鹿這里呢就結合自己的親身經歷,聊一聊我對面試的一些小想法(*^▽^*)

我們面試是在面什么?


  • technology?

  • thinking

  • communication

這是小鹿自己總(意)結(淫)地面試的主要考核內容。首先呢,毋庸置疑,我們面試肯定是要檢驗候選人是否有過硬的專業技術算法、項目經歷,不同的公司、不同的職位有不同的側重,但是具體的專業技術的考核肯定是逃不開的。

可是除此之外呢?除了顯式的技術考核以外,還有很多往往被我們忽略的隱形考核。小鹿覺得主要是思維方式交流能力這兩點。并且這部分反而更需要我們廣大的程序員小哥哥們多多注意。不要讓交流的問題,妨礙面試官發現你的思維之光,阻礙你展示出自己超強的專業素養呢(ノ≧?≦)ノ!

面試實際上是工作的一個簡單模擬。

一場面試,面試官其實只需要得到一個問題的答案,那就是和你一起工作是否開心。關于這個問題,有的外企會直接作為面試記錄。雖然我們國內的企業不會這么直接,但是小鹿覺得這確實是面試中最直擊靈魂的拷問。

面試的正確姿勢


面試實際上是通過提出問題、回答問題,在你來我往中進行交流,模擬實際工作的情形。那么當面試官拋出話碴,提出一個問題之后,我們應該怎么更好的完成我們之間的對話呢?

小鹿以為,不管是具體的算法還是項目問題,面試官向你拋出的問題往往是開放的,沒有灰常灰常清晰的定義、十分確定的唯一解的。針對這種情況,小鹿覺得切忌!!

不要直接給一個確切的回答,即使你的回答大概率是面試官心中想要的答案。

首先,我們可以嘗試著去復述(當然不是一字不變的重復),用自己理解的語言去確認是否清楚的理解了面試官的問題。其次,這個問題可能存在一些沒有定義清楚的模糊地帶,一定要逐個向面試官去確認。當問題已經比較清晰的情況下,我們可以提出一個解決方案,這個方案可以是非常naive但是只要確實可行就ok啦。

大膽說出自己覺得可行的方案,即使這個方法看起來很簡(智)單(障)。

能解決問題的方法就是好方法( ̄▽ ̄)/

當然啦,實際中我們需要精益求精尋求更優的解決方案。但是大家不用太有壓力,我們可以和面試官一起,溝通交流,碰撞思維的火花,共同討論出一個較優的方案。最后實現(寫code),測試,over~~

所以,小鹿劃重點啦,面試的正確姿(步)勢(驟)應該是這個樣子滴~~

  • step 1:?正確的理解問題并復述?

  • step 2:?清晰問題

  • step 3:?提出一個可行的解決方案(不一定是最優的)

  • step 4:?討論出一個較優方案

  • step 5:?執行實現

  • step 6:?測試

實戰


讀到這里是不是覺得小鹿就是一個純理論派(差點意思?????),那么我們就以小鹿最近的一次面試來實操一下吧!

Q1: 尋找三角數組的最大值

滿足先單調遞增再單調下降的array為三角數組,如[1,2,3,2,1].

  • step 1: 復述 (內心OS...這道題怎么這么簡單,我有沒有正確理解題意呢-O-)

  • step 2: 數組為空怎么辦吶(╯﹏╰)b?

  • step 3: 可行方案遍歷時間復雜度為O(n),空間復雜度為O(1)

  • step 4: 更優方案二分查找時間復雜度為O(logn),空間復雜度為O(1)

  • step 5: coding

  • step 6: test

Q2: 判斷一個數組是否是三角數組

  • step 1: 復述(小鹿此處就省略啦)

  • step2: 數組為空?長度小于等于2的特殊情況?

    ????試官明確邊界,只有長度大于等于3的數組才可能是三角數組????

  • step 3: 可行方案遍歷

    遍歷數組,如果數組只有一個拐點Xi-1<Xi且Xi > Xi+1,則為三角數組。時間復雜度為O(n),空間復雜度為O(1)。

  • step 4:?更優方案?

    請勇敢的說出沒有更優方案,沒有比O(n)更高效的算法啦?(▼へ▼メ)

Q3:當數組非常大,無法直接放入內存時,如何判斷其是否是三角數組?

考核大家思維能力的關鍵時刻到啦!

首先我們可以提出一個大致的解決思路。小鹿有一個不成熟的小想法,可以用map reduce,把數組進行切分,逐個處理每一小部分數組,再整合判斷整個數組是否是三角數組。

這個時候呢,我們的解決方案并不完整,比如如何分割數組,map和reduce到底怎么定義還不清晰。但是呢沒有關系,我們先拋出自己idea,然后根據面試官的反饋,確定我們的方向是否正確(? ?_?)?

當我們得到面試官的肯定后,就需要進一步細化這個solution啦。

三角數組有且僅有一個拐點。直接切分數組(比如n等分),map分別數每個切分數組的拐點數,reduce對所有拐點數求和,如果拐點數為1則為三角數組。

? ? ? ? ? ? ?

但是??如果切分的位置正好遇到拐點怎么辦呢?

? ? ? ?

不要害羞,說出自己的思考過程,善良的面試官會給你發(提)糖(示)。

????我們可以有重疊的切分,這樣就能保證萬無一失啦( ̄▽ ̄)/????

請看圖,把數組劃分為紅、黃、藍三個部分,其中重疊部分變成了橙色和綠色。這樣就能保證即使把數組切分,也不損失整個數組的信息。

? ? ? ??

最后的總結


當我們面試大廠的時候,保持平常心,把面試當成和同學、同事的交流,是非常重要的。在自身實力一定的情況下,不同的面試方式可能產生不同的面試結果。大家不妨也回顧總結一下自己的面試心得,有好的面試技巧可以在評論區留言,和大家一起交流學習哦~~~

希望大家面無不勝,逢考必過( ̄︶ ̄)↗ 

總結

以上是生活随笔為你收集整理的Google、MS和BAT教给我的面试真谛的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。