百度開源中國(Java)面經

一、自我介紹

  面試嘛,萬年不變還是自我介紹,就說說你是幹嘛的(專業是啥),為什麼會選擇該公司(說一說自己為何嚮往Java開發),再談談自己的優點(興趣愛好)。如果人家叫停了,就別一股腦接著講了,停下來就可以。

二、關於技術問題

    一般技術問題都是「一面」,一般大公司會有「一面」、「二面」……甚至「三面」(位元組、華為、阿里)。

    好~回歸正題:技術面說白了就是看你簡歷上如何寫了,若你簡歷上寫了:熟悉電腦網路、熟悉數據結構等字眼,技術面的時候面試官就會問你這方面的問題,不過不用擔心的是百度·開源中國的前後端面試都會涉及到「計網」、「數據結構」、「資料庫」、「作業系統」。

    不瞞各位,本人前段時間剛剛面試了「開源中國」,打算寫寫面經,也算是做做貢獻吧。

    2/1、面試官是否嚴格?

    說實在的,面試官的聲音和提問方式都很溫柔,不會被嚇到。

    2/2、問題具體有什麼?

      2/2/1、集合、執行緒是必考題,比如集合中介接觸過哪些集合?(作業系統)

      ·集合:(Set、List、Map這仨很常見了,這個是基礎中的基礎了!!!)

      <會問你都用過哪些?能不能講講具體怎麼實現的>

      ·執行緒:執行緒面試官直接問有沒有接觸過多執行緒,有沒有做過多執行緒的項目?

      <接觸過的,是在學校做課設時的一個問題,「哲學家吃飯問題」,由於當時是做的課設,但後來接觸多執行緒的項目就很少了>(意思上夠就可以,大傢伙兒如果沒有做過這個的話,就可以去看看,我想這個應該是個很典型的多執行緒的案例,或者可以繼續說一些別的,比如「多執行緒並發」)

    2/2/2、電腦網路

    ·TCP/IP協議:(TCP的三次握手和四次揮手,這個問題一般是要問過程的,所以過程很重要!!!)面試官問了我這個問題,並且要我講詳細的過程。整個電腦網路中,這個算是是比較經典也是重點的知識點了,由此可以看出,面試官很會問的,問到它,你要必能回答上。

    2/2/3、數據結構

    ·二叉查找樹:有什麼特點?查找時怎麼查找?

    個人覺得正確回答 => <「左子樹的值小,右子樹的值大」或「左子樹比右子樹的值小」+ 有序;查找可以深度查找和廣度查找>

      (千萬不要跟我一樣!!!,後半部分說的是按順序查找還是先左子樹後右子樹查找。現在想想都尬,直接社死好吧)

    ·查找有沒有什麼可以優化的方式?

    <哈希查找/哈希表/hash,(預測可能還會往下問:比如)>

    (問到優化首先就要想到哈希查找/哈希表,這個就很離譜,當時面試官問到我,腦子裡覺得只有這個是答案,我就說了,下來查了一下,果然哈希查找可以提高查找效率)

    2/2/4、資料庫

    一般到資料庫,面試官都會問你有沒有做過有關資料庫的項目,可以談談你做的項目嗎?

    ·談項目:(本人是做了C#的房屋資訊管理系統,用到了資料庫,大致說一說來由就可以了)

  3/1、有沒有發現問題,自己解決問題的經歷,不管是做課設也好,還是什麼項目?(面試官比較在意的一個問題!!!)

  <(我是繼續講了房屋資訊管理系統,因為面試官說,既然你用到了資料庫,剛好講一講好了。或者說其他問題也是可以的,這裡就是你的主場,自己發揮即可,這個算是加分項了,可以隨便說。)>