找暑期實習總結

  1.阿里巴巴實習(後臺開發,掛了)java

    阿里巴巴的面試官滿牛逼的,氣場很強,給人的壓迫感也很大。這場面試沒怎麼準備,當時本身生病了,表現的不好,被面試官吊打的節奏,可是實話實說此次面試讓本身也學到了不少,本身之後的學習更有針對性了。面試

    首先是自我介紹了下,而後開始問專業問題。1.首先是Linux多線程多進程,問我有沒有寫過,我說寫過,他讓我寫出大概的框架,用到哪些函數。(蒙了啊,不是說考個基本的概念嗎?)啥都不記得了,只是在以前寫過簡單的demo代碼,用起來啥都忘了,結結巴巴的說了一大通。其實主要要記住fork、pthread_create、pthread_join、pthread_attch、pthread_detach的基本用法pthread_wait、pthread_cond等待條件變量基本框架記住就行了。2.線程與進程的區別,當時回答的也很差,好多基本概念也許你是知道的,可是面試的時候你啥都不記得了。如今想起來若是讓我回答,主要是線程是資源調度的基本單位,不擁有資源,多個線程共享進程的資源;進程擁有資源,進程的建立開銷要比進程更大。3.而後是多個線程共享了進程的哪些資源,硬是要我所有回答上來,老是問還有嗎還有嗎。4.在一個線程中new一個對象,在另外一個線程中能夠訪問嗎?怎麼訪問?可能當時本身的C++基礎太差了,其實這是個很簡單的問題,只要不delete,另一個線程就是能夠訪問的。怎麼共享也很簡單,建立一個全局對象指針,在每一個進程中共享這個指針就行了。或者是建立一個主進程的對象指針,在每一個線程建立的時候傳遞這個指針,固然這要用到互斥鎖來搞定併發問題。後悔當時本身沒複習好。。。算法

   而後問我對C++仍是java熟悉,我說C++,其實我兩個都不怎麼熟悉。問了我一個模板的實現原理,我說編譯時肯定各類類型,他讓我具體點編譯器怎麼實現的,我面試完了以後在網上都沒查到是怎麼實現的,我當時應該訪問依據他是怎麼實現的。 編程

   接着是網絡問題,其實也很簡單。socket調用過程,這個也是好長時間沒有用到了,忘記了,只記得大概的過程,忘了accept這個函數。而後是擁塞控制和流量控制,流量控制直接忘了是啥。另外就是SYN狀態轉移圖與socket函數之間的一一對應關係。數組

    而後是算法問題,這兩個題我都見過,可我仍是不會作。一個是,後序非遞歸二叉樹遍歷,另外一個是二叉樹兩個節點的最近公共父節點。微信

    最後僞裝問了下研究生科研項目,其實我也都不許備說了,明顯過不了的。網絡

 

阿里面試完了以後痛定思痛,好好研究問題。接下來的三個星期,天天刷牛客網上的算法題,有意識的記一些基本概念,看別人的一些面試經驗。數據結構

  2.百度運維面試(掛了)多線程

  師兄內推的,百度運維部門的面試。此次面試感受比較簡單,爲何第一面就掛說實話我也是很不能理解。併發

  首先是問了下科研項目,本身感受講的還行,他也沒多問了。

  而後問我對網絡有什麼瞭解,我就說了下七層模型。

  問了我一個算法,一百萬個數,每一個數都是1-10之間的排序,我當時一瞬間就想到了,我說是哈希,他問我怎麼哈希,我就說開闢大小爲10的數組,統計每一個數的個數。他也沒說啥,準確的說法應該叫啥桶排序吧。

  而後是C++問我知不知道虛函數,說了下虛函數在對象內存中有一個虛函數指針,指向虛函數表,虛函數表中記錄了每一個虛函數的指針。他也沒說啥。

  總之,百度的面試感受沒啥要問的,多是效益很差原本就不許備招多少人吧。

  總結了下經驗,而後就是四月中旬的騰訊面試了。

  3.騰訊面試(後臺開發實習生,過了,這個真的是很驚喜)

  一面是在13號的下午四點收到次日早上九點面試的短信通知的,原本覺得筆試掛了,當時個人心情真可謂跌宕起伏你們能夠感覺下。
一面面試的內容比較基礎可是很全面。主要由計算機網絡,操做系統與Linux,數據結構與算法,C++與STL模板四部分爲主。首先面試官問的是個人興趣愛好,我說跑步,能夠鍛鍊身體還能夠釋放壓力。(這個問題二面也問了,也是基本一樣的回答)接着問的是你搞過Linux編程,我說是的,那你寫過Makefile嗎?我說寫過,他說那你就寫一個Makefile吧。我寫完了給了他,他啥話沒說,過後我查了下有一點點問題,主體框架是對的。而後問你用過gdb嗎?我說用過可是用的很少,而後他就讓我把本身知道的gdb調試方法說一下,我就說了幾個print查看變量,break設置斷點,而後我都忘了,他又問了個怎麼調試正在運行的進程,我蒙了,我說我不懂你的意思,又解釋了一遍仍是不懂,就過去了。
第二部分問的是C++和STL仍是那幾個經典的問題,虛函數啊,純虛函數啊,vector,map底層原理啊,這一部分比較簡單。他問我map和set的區別的時候,我說我沒用過set,我能不能解釋下map的原理?他說能夠。這部分比較順利。
接下來是數據結構與算法部分,很簡單,第一題手寫快速排序,五分鐘時間,我當時短路了,亂塗亂畫了一下,直接用了switch元素的辦法而不是挖坑法,可是他也沒說啥。
接着問到了TCP的過程,創建鏈接,銷燬鏈接的過程,爲何要三次握手,爲何四次揮手,擁塞控制和流量控制分別是什麼概念,流量控制的過程,分別要解決什麼問題。創建鏈接的第二個syn做用是啥,我當時也不知道怎麼想的,說了個創建服務端到客戶端的鏈接,由於tcp是全雙工通訊,下來以後我才知道這個說法不對,當時他也沒說啥,可見面試官仍是容許學生犯點錯誤的,只要說出本身的理解就好。而後還有就是socket的整個過程當中的函數調用。
接下來又是Linux中的問題,分別是會不會建立進程,建立線程,我說會,進程間通訊方式,我把那幾種說了下,又問,建立共享內存會寫嗎?我說我忘了只記住一個shmget,他給我一支筆讓我把建立線程,建立進程,建立共享內存寫出來。分別是fork,pthread_create和shmget,最後一個我是死馬當活馬醫,沒想到這個函數既是建立又是獲取共享內存。他看了看,這一部分算是過去了。
接下來又是算法題,很簡單,單鏈表是否有環怎麼判斷,我說若是有環一定兩個一塊一慢指針某個時刻相等,他讓我證實,我就畫了個圖證實出來了。
接下來就介紹了下部門是作遊戲後臺的,我這纔回過頭來,我報的SNG被調到IEG了。而後面試官說後面還有一輪技術面,我追問了一句,意思是我這一輪過了?他說咱們還要討論下。次日中午十二點我查了下微信,過了。
 
二面:
  不一樣於一面的和善可親,二面明顯脾氣比較大,全程板着臉。二面的題目不能細說,由於簽了個保密協議。
首先是死死揪住我爲何是學通訊的要來搞遊戲後臺,我就扯了一通,他硬是不滿意,又問了個你知道前臺和後臺有什麼區別,我就說了前臺重視人機交互體驗,後臺更注重高併發。他問高併發怎麼解決,我說硬件上更新,軟件上選擇合適的模型(你們懂得,那三個模型)。接下來就是問這幾個模型的區別,實現原理是什麼,你寫過嗎?測試過嗎?我寫過,沒測試過,看網上寫的,他讓我現場寫出來,並建議我回去測試下。下一個題是一個算法題,紅黑樹或者最小堆解決。這時他忽然問,這些課你學通訊的都學過?我說都學過,你自學的仍是?我說老師教的。而後問了科研項目,這個大概有二十分鐘吧。接下來是最後一個問題,哈希問題,紙上寫出來。最後的解決方案不完美,他說你這種哈希方法很差啊,我說我知道很差可是我又沒想到更好的辦法,而後他說這就是面試。而後讓我回去等消息。當天下午四點鐘,查了下,過了。
 
HR面:
  這個就比較簡單了,聊了下生活,聊了下理想。
 
總結:
整個面試下來仍是比較簡單的,都是很基礎的知識。四個算法題沒有一個是特別難的,這更加坐實了個人一個觀點,面試題難度不會超過二叉樹,好好把基礎搞定就好。我本科開始玩Linux,研究生在Linux上作內核開發,因此Linux基礎還算能夠。本科研究生通訊相關,TCP那一套就比較簡單了。算法題,我是從3月4號開始在牛客網上刷題的,一共刷了43個題目,作完以後我真心感受本身的算法功底進步了很多。內核開發主要是C語言,沒有C++,C++我剛接觸一個月不到,這個地方特別簡單,問題很死的。

 

  4.華爲(研發部門,經過)

  這個是在騰訊招聘的間隙,第一面第二面中間的一個下午進行的。當時真尼瑪累啊。看我學過Linux內核問了我一個啥「內存分配函數」 kmalloc、vmalloc和get_free_page(s)而後第一面就過了。第一面的面試官人很不錯,和以往印象中的不同,人很好,看樣子蠻想要我去的,記了個人手機號,還問我是否是真的想去華爲。還說你這第二個項目是實驗室的仍是哪的,我說是我本身接的私活,他還說華爲不喜歡學生這樣幹,你就說是實驗室的就能夠了,這也是保護學生。

  第二面就是傳說中的壓力面,這我的總是打斷個人話。本科華中師範大學,他說他沒據說過;我說就在廣埠屯那裏,他說就是那個很小的學校啊,我說也不算小,一年招收四千人左右啊,那麼小的學校招收四千人老師管得過來嗎?對華爲坑比的壓力面早有耳聞,固然難不住我啦。華師的師生比在整個武漢的高校裏面都是很高的。大家班上多少人?四十個,你保送武漢大學的?是的。大家這種學校也能保送武漢大學?平常生活說這種話是很不禮貌的,不過我當時很冷靜地說是的。還問了家裏的狀況,等等。總之全程黑着臉,很難受。可是最後也過了。

相關文章
相關標籤/搜索