三七互娛面經

三七互娛(2019年春季校園招聘,崗位:Java遊戲開發(服務端))
1.宣講會筆試,20道單選,10道不定項(具體題目不大記得了)
2.到公司,一份開放題: 
    1.你認爲java語言有哪些需要改進的地方
    2.有沒有遇到程序性能瓶頸,怎麼定位和處理
    3.你心中的遊戲服務器是怎樣的,工作原理是什麼
3.一面(40min):
  熟悉哪些linux命令
  熟悉哪一些數據結構,舉幾個例子
  講一下tcp/udp區別,分別的使用場景
  有沒有使用過netty,網絡編程的知識瞭解哪些
  有沒有看過哪些jdk或開源框架的源碼,舉幾個例子,講一下底層實現
  hashMap底層結構,擴容機制,導致的性能問題
  開發過程中線程池的使用,初始化參數意義
  多線程環境下怎樣保證共享變量是安全的,常見的幾種處理方式
  舉幾個juc包中類的用法
  juc包中的類是怎麼保證線程安全的,與之前的有什麼區別
  怎樣實現無鎖線程安全
  講一下jvm有哪些gc算法,實際開發有沒有遇到過內存溢出現象,原因是什麼,怎麼定位和解決
  平常用過什麼設計模式(主要說了工廠和策略),舉幾個例子,具體怎麼設計的,有什麼好處
  代碼規範和設計方面怎麼做,舉幾個例子(面試官提醒:借鑑代碼整潔之道中的幾個設計思想)
  平常看什麼書,怎麼學技術
  平常玩什麼遊戲
  根據簡歷:
     講一下kmp算法和哈夫曼樹
     項目中主要負責什麼部分,有沒有遇到過併發環境下導致的線程安全問題,怎麼解決的
     做二次開發主要是用到金蝶雲之家哪個部分的功能,怎麼結合現有應用的(面試官之前是雲之家底層引擎的開發者)
4. 二面(30min):
   jvm運行時數據區域有哪些,分別有什麼作用    
   問有沒有做過網絡編程相關的經驗,舉幾個例子
   線程池的種類,爲什麼要使用線程池去管理線程
   不加鎖怎樣實現線程安全
   nio的底層原理,爲什麼異步非阻塞能夠實現無鎖線程安全,講一下實現(還說底層有粒度很小的加鎖機制,近似於無鎖。。。我一臉懵)
   juc包有用過嗎,講一下AQS
   volatile實現原理,它能保證線程安全嗎,爲什麼能保證讀取的變量值是最新的
   atomic修飾的變量爲什麼能保證原子操作,實現原理是怎樣的,是否加鎖了
   hashTable和currentHashMap的底層結構,兩者分別怎樣實現併發下線程安全,有沒有加鎖,1.7版本和1.8版本底層實現有什麼不同(當時講亂了,涼涼)
   實際開發中juc包的使用,舉幾個實踐案例(越說不會的知識點問的越多,有毒,求求你別問了。。。)
   遊戲服務器開發瞭解多少
5. hr面
   說人太多,現在的hr面均轉爲電話面形式,一週內出結果。

   我結果應該涼了,太久沒複習加上沒使用,評價一般。隔壁一哥們面了60+60min,穩的一批。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章