小小的記錄一下求職經歷,一起加油呀~ ٩̋(•͈ω•͈)و
崗位職責:
- 根據遊戲策劃需求,開發相應的服務端模塊;
- 按計劃完成所分配的功能開發任務,並與項目組其他成員緊密合作;
- 參與服務器端需求設計。
崗位要求:
- 2020屆本科及以上學歷,計算機或相關專業;
- 掌握C/C++/Java/PHP/Erlang等其中至少一門編程語言,理解數據結構,算法等知識;
- 熱愛遊戲,對開發有熱忱,喜歡挑戰自我,追求進步,良好的溝通和團隊協作能力。
筆試小題:
1. int * p = new int[10] , sizeof ( p ) 的值是?
2. 負整數的正則表達式
-
匹配正整數
^ [1-9] \d*$ -
匹配負整數
^ -[1-9] \d*$ -
匹配整數
^ -?[1-9] \d*$ -
匹配非負整數
^ [1-9] \d* | 0 $ -
匹配非正整數(負整數 + 0)
^ -[1-9] \d* | 0 $ -
17種正則表達式
"^//d+$" //非負整數(正整數 + 0)
"^[0-9]*[1-9][0-9]*$" //正整數
"^((-//d+)|(0+))$" //非正整數(負整數 + 0)
"^-[0-9]*[1-9][0-9]*$" //負整數
"^-?//d+$" //整數
"^//d+(//.//d+)?$" //非負浮點數(正浮點數 + 0)
"^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮點數
"^((-//d+(//.//d+)?)|(0+(//.0+)?))$" //非正浮點數(負浮點數 + 0)
"^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //負浮點數
"^(-?//d+)(//.//d+)?$" //浮點數
"^[A-Za-z]+$" //由26個英文字母組成的字符串
"^[A-Z]+$" //由26個英文字母的大寫組成的字符串
"^[a-z]+$" //由26個英文字母的小寫組成的字符串
"^[A-Za-z0-9]+$" //由數字和26個英文字母組成的字符串
"^//w+$" //由數字、26個英文字母或者下劃線組成的字符串
"^[//w-]+(//.[//w-]+)*@[//w-]+(//.[//w-]+)+$" //email地址
"^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$" //url
3. agame的錯誤次數
4. 排序
十大經典排序算法
用某種排序方法對關鍵字序列(25,84,21,47,15,27,68,35,20)進行排序時,序列的變化情況如下:
20,15,21,25,47,27,68,35,84
15,20,21,25,35,27,47,68,84
15,20,21,25,27,35,47,68,84
則所採用的排序方法是()
答案:快速排序
5. 接口與抽象類
參數 | 抽象類 | 接口 |
---|---|---|
默認的方法實現 | 它可以有默認的方法實現 | 接口完全是抽象的。它根本不存在方法的實現 |
實現 | 子類使用 extends 關鍵字來繼承抽象類。如果子類不是抽象類的話,它需要提供抽象類中所有聲明的方法的實現。 | 子類使用關鍵字 implements 來實現接口。它需要提供接口中所有聲明的方法的實現 |
構造器 | 抽象類可以有構造器 | 接口不能有構造器 |
與正常 Java 類的區別 | 除了你不能實例化抽象類之外,它和普通Java類沒有任何區別 | 接口是完全不同的類型 |
訪問修飾符 | 抽象方法可以有 public、protected 和 default 這些修飾符 | 接口方法默認修飾符是 public。你不可以使用其它修飾符。 |
main 方法 | 抽象方法可以有 main 方法並且我們可以運行它 | 接口沒有 main 方法,因此我們不能運行它。 |
多繼承 | 抽象方法可以繼承一個類和實現多個接口 | 接口只可以繼承一個或多個其它接口 |
速度 | 它比接口速度要快 | 接口是稍微有點慢的,因爲它需要時間去尋找在類中實現的方法。 |
添加新方法 | 如果你往抽象類中添加新的方法,你可以給它提供默認的實現。因此你不需要改變你現在的代碼。 | 如果你往接口中添加方法,那麼你必須改變實現該接口的類。 |
6. 進出棧問題
7. 真假表達式
當num的值爲奇數時,表達式的值爲真,當num的值爲偶數時,表達式的值爲假,則以下不能滿足要求的表達式是()
a. num%2 == 1
b. ! (num%2 == 0)
c. ! (num%2)
d. num%2
答案:C
8. 靜態成員
- 靜態數據成員
(1) 靜態數據成員爲類的所有對象共有,佔一分內存空間。
(2) 初始化在類體外進行,面前不加static
(3) 初始化時使用作用於運算符來標明它所屬的類,因此靜態數據成員是類的成員,而不是對象的成員。
(4) 訪問方法
類名::靜態數據成員名
(5) 定義格式
static 類型標識符 靜態數據成員名 - 靜態成員函數
(1) 對於公有的靜態成員函數,可以通過類名或對象名來調用,而一般的非靜態成員函數只能聽過對象名調用。靜態成員函數可以由類名通過符號"::"直接調用;
(2) 靜態成員函數可以直接訪問該類的數據成員和靜態成員函數,不能直接訪問非靜態數據成員和非靜態成員函數。如果靜態成員函數要引用非靜態成員,則可通過對象來引用。
下列關於一個類的靜態成員的描述中,不正確的是()。
A.類的靜態方法只能訪問該類的靜態數據成員
B.靜態數據成員可被該類的所有方法訪問
C.該類的對象共享其靜態數據成員的值
D.該類的靜態數據成員的值不可修改
答案:D
對靜態成員的不正確描述是___________
A. 靜態成員不屬於對象,是類的共享成員
B. 靜態數據成員要在類外定義和初始化
C. 靜態成員函數擁有this指針
D. 非靜態成員函數也可以操作靜態數據成員
答案:C
9. 距離相遇
甲乙分別從AB兩地出發。
在某一時刻,甲乙相遇,此時甲距離A地65km。
甲到達B地後原地返回,乙也到達A地後原地返回。
甲乙再次相遇,此時甲距離B地20km。
求AB兩地的距離。
10. 代碼輸出
筆試大題:
- n的階乘
方法 - 重寫代碼,減少邏輯分支(面向對象編程)