面試——服務端開發工程師(20190918)

小小的記錄一下求職經歷,一起加油呀~ ٩̋(•͈ω•͈)و

崗位職責:

  1. 根據遊戲策劃需求,開發相應的服務端模塊;
  2. 按計劃完成所分配的功能開發任務,並與項目組其他成員緊密合作;
  3. 參與服務器端需求設計。

崗位要求:

  1. 2020屆本科及以上學歷,計算機或相關專業;
  2. 掌握C/C++/Java/PHP/Erlang等其中至少一門編程語言,理解數據結構,算法等知識;
  3. 熱愛遊戲,對開發有熱忱,喜歡挑戰自我,追求進步,良好的溝通和團隊協作能力。

筆試小題:
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. 代碼輸出


筆試大題:

  1. n的階乘
    方法
  2. 重寫代碼,減少邏輯分支(面向對象編程)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章