第一次面試經歷

2021-08-28 19:48:24 字數 2219 閱讀 5704

自己準備了很長的一段時間,因為之前都比較浪,沒有複習就去筆試,所以導致前面很多的筆試都做得不好,沒能拿到面試機會。

雖然這是一次**面試,但因為是第一次面試,所以比較緊張,面試官也比較緊張。準備了很多面試題都沒有考,因為面試官會從一些例子中抽象出問題讓我們來解決,而不是單純的問問題。

自己答得不好的幾個地方:

乙個姓名對應乙個學號,我們應該用什麼方式儲存

第乙個想到的是map,set

但是面試官說假設不能用stl容器

然後我第乙個想到的是鍊錶,然後鍊錶的實現確實太過複雜

後來面試官就跟我說了hash表,其實我對hash表只是有個大概了解,然而沒有實現過,所以我就跟它說了一些概念。

其實我覺得hash表也算是乙個容器,在c++裡面雖然不是stl容器,但是也有這個的運用。

其實hash表是乙個陣列+鍊錶的乙個組合,先是建立乙個比較大的陣列,然後通過雜湊函式進行儲存,如果有相同的雜湊值,則會在後面用鍊錶的方式進行連線,相同的索引也能訪問到,確實比煉表要好得多。

遊戲中怎麼選擇出離自己最近的10個怪物,怪物儲存在陣列裡面

我一開始想到的是排序,快排。

然後面試官說有沒有比快排更快的一種方法,由於數量比較龐大,即使是快排也會很耗記憶體。

我當時就懵逼了,因為快排是目前為止最快的嘛。

然後我就想起來之前在網上看到過的一種選擇方法,假設1000個怪物,我們先分成10組,每組100個,然後這100個來進行快排,然後選出最近的10個。然後就得到了100個資料,前十的數就確保在這100個數之內了。

然後再把這100個數進行快排,然後就得出了前10個。

時間複雜度為o(nlog2 n),但是它的係數會比下面的乙個方法要大。

但是當時說得不是很好,思路不太清晰,就被面試官否定了。

後來面試官讓我說一下快排的思路,我說完後,他就讓我在原有的基礎上進行改進。

當時我再次懵逼,感覺自己已經把所有的思路都說完了。

後來一想才發現,確實還能有改進的地方,我們先選出乙個標桿資料,然後進行快排一次,得出乙個定位值,如果這個定位值小於10的話,我們就從定位值的右邊進行擴充套件,如果這個定位值大於10的話,我們就從定位值的左邊進行擴充套件,直到定位值等於10為止,就找出了前十的資料。

while(index!=(k-1))

else//如果小了則往外靠,直到等於為止

}最壞的情況和快排一樣,都是o(n^2),最好的情況為log2 n快了乙個倍數級。

還有乙個udp和tcp的問題。

一開始我覺得無論什麼遊戲,只要是商業化的都用tcp,因為它安全可靠,而udp更適用於區域網。

其實它是乙個相對的問題,網上也很多不同的討論。

後來面試官問我說如果tcp丟包了會怎樣。

然後我就說可能會失幀,然後導致玩家瞬移之類的。

面試官又問我udp丟包了會怎樣。

我就說可能玩家瞬移的幅度不大,失幀的幅度會更小一點。

然後面試官就問如果在乙個王者榮耀遊戲裡面,你更會接受哪一種。

我就說udp,其實面試官是在引導我作出最好的判斷。

現在得出來乙個總結:雖然udp不安全,但是很多需要實時的遊戲都會用到它。

比如說一些競速類的,賽車類的,動作類,moba類的都會使用udp。

而一些卡牌類的,即使有掉包也不會影響太大的遊戲都用tcp。

面試官問我還有什麼問題的時候,我應該跟他說把我答不上的知識解析一下才對。

沒有收到第二輪面試,說明徹底涼了,現在返回來新增乙個問題。

fps遊戲中是否需要子彈?

因為我之前做過這樣乙個小demo,所以面試官就問我是怎麼做的。

其實我只用到了射線檢測,之前做坦克大戰時用到過子彈,所以什麼時候需要子彈,什麼時候不需要子彈呢?

即時射擊:其實很多的fps時不需要子彈的,直接用射線檢測就可以,但是這樣會違背乙個真實性。

彈道射擊:有真實的子彈,需要控制速度,時間,風向等,可能會用作更高階的射擊或者是慢速射擊。

但是這兩個都會有問題的存在,如果用射線檢測的話,因為得到的結果是即時的,就算是很遠的人也很難去躲避子彈,缺乏乙個真實性,不能做弧線。

如果用子彈的話,子彈的速度,方向什麼的都要計算,導致變得複雜,而且如果用碰撞體的話,可能會穿透,如果出現掉幀的情況,子彈可能就會不中。

當時面試官問到這個情況,我想的是當子彈離目標有一段距離的時候,在子彈的尖端做射線,這樣算是乙個折中的方法,我也不知道對不對,很後悔之前沒有問面試官。

穿透目前的解決方案有:增大碰撞體,減慢速度,利用射線檢測,這三個比較靠譜的方法,顯然前兩個會違背子彈的乙個設計,所以很多情況都會在子彈尖端做射線檢測。

第一次面試的經歷

本人一名 年大四應屆生,面臨找工作的問題,這次我就和大家分享一下第一次面試的經歷。首先說一下招聘的過程 此次的招聘的流程是 宣講 筆試 面試 結果 建議 如果對本公司不是很了解的話,可以趁著宣講的機會對公司了解一下,尤其是你所選擇的職位,明白職位的職能,最好是結合自己的興趣。建議 不管是什麼崗位,都...

記第一次面試經歷

面試的時候交流水平也是一種能力 鏗鏘有力,落落大方,切勿戰戰兢兢 arraylist 鍵值對形式儲存 底層是乙個雜湊表 陣列 鍊錶 紅黑樹 儲存的過程,原理 先計算key的 hashcode,發現陣列中有內容,我們就呼叫 equal 比較 解決方式 currenthashmap,collection...

我的第一次面試經歷

已經發在csdn過了,發來讓大家參考下 介紹下基本情況 91年生的,沒有it工作經驗,高中未畢業,c c 自學的 22號去廈門面試,8點左右出發,到廈門後對廈門不熟,自己乙個人傻傻走了1個多小時,腳疼死了。到公司的時候11點左右,公司是做手機開發的,其實他說是下午三點的,不過我原本估計要找很久,本來...