祺曜互娛面試總結

        最近在boss上公開了簡歷,原因有二:1。想看看自己有沒有進步,競爭力有沒有變強,也想練練手,保持自己的狀態;2.公司沒有調薪計劃,沒能調薪。也收到幾個面試邀請,因爲各種原因拒絕了,目前就參與了祺曜互娛的面試,我覺得有的問題回答的太差了,回想起來能回答更好,做以下記錄。

 

1.遊戲的揹包怎麼實現的。(回答,不是我做的,具體不太清楚)

       雖然不是自己做的,按照現在的項目框架和情況,以及對遊戲的理解。揹包其實就是數據,每個玩家的揹包可以表示爲一張lua表,例如:

玩家獲得新的道具,或者使用藥品,只要減掉,在做相應的處理即可。

2.二分查找的思想是什麼。(回答太久不用了,都在寫邏輯,具體不記得了)

       a.必須採用順序存儲結構

       b.必須按關鍵字大小有序排列。

       首先拿查找內容與被查找數據的中間值進行比較,如果相等,則找到。否則利用中間值將數據分爲前後兩部分,如果大於中間值,則查找大的那部分,否則查找小的那部分。重複以上,直到找到爲止,如果找不到,則數據不存在。

3.你認爲skynet框架設計讓你最驚豔的地方在哪裏。(回答,skynet消息的調度,實現的很像操作系統,agent的設計,agent管理玩家,玩家通過agent與遊戲邏輯交互)

       skynet消息的調度,skynet每個服務都是被一個個消息包驅動,當沒有包到來的時候,它們就會處於掛起狀態,對 CPU 資源零消耗。

4.lua怎麼調用C++。(回答,編譯成動態庫,在lua引用,兩者通過棧交互)

暫未想好更好的回答。

5.用過哪些設計模式。(回答,工廠設計模式,用父類指針指向實例化的子類對象)

暫未想好更好的回答。

6.你們遊戲中的mysql的表格是怎麼設計的。(回答,將玩家的數據分隔開,具體活動一張表,揹包一張表,玩家數據一張表,通過uid索引。)

暫未想好更好的回答。

7.list與鏈表的區別(回答,太久不用,記得不太清楚了)

其實我覺得面試官是想問list的vector的區別吧。。。list就是鏈表啊。list是由雙向鏈表實現的,因此內存空間是不連續的。
只能通過指針訪問數據,所以list的隨機存取非常沒有效率,時間複雜度爲o(n),但由於鏈表的特點,能高效地進行插入和刪除。當時沒回答出來

 

      個人覺得自己是能回答的更好的,自己還是沒能熟練掌握並使用知識,略微緊張,而且回答過快,其實可以稍微思考,冷靜下來再回答,相信很多答案都會出來的。還是要經常保持狀態,繼續努力,加油!

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