Netease Game 2019 Campus Recruitment Test Development Interview Experience-网易游戏2019校园招聘测试开发面经,2018-8-14

网易游戏,测试开发,说是14:30准备睡个午觉,结果刚睡着就被Call醒了。( 45min)

(1)自我介绍,聊项目。

(2)字符串转整数;(在线手撕代码)

public int convert(String str) {
if(str==null||str.equals(“”)) {
return 0;
}
char[] chas=str.toCharArray();
if(!isValid(chas)) {
return 0;
}
boolean posi=chas[0]==’-‘?false:true;
int minq=Integer.MIN_VALUE/10;
int minr=Integer.MAX_VALUE%10;
int res=0;
int cur=0;
for(int i=posi?0:1;i cur=’0’-chas[i];
if((res return 0;
}
res=res*10+cur;
}
if(posi&&res==Integer.MIN_VALUE) {
return 0;
}
return posi?-res:res;

}

(3)指针传递与引用传递的区别;
(4)C++在类里面使用的关键字;
(5)private和protected的区别;
(6)父类是protected修饰的成员,子类可以修改吗?
(7)有一个5L和6L的容器怎么样取出3L的水。

第七道水的问题,

 

字符串转整数这个很恶心,要考虑的点太多,空串和不合法的串,溢出等等。5L和6L可以这样(1)灌满5然后倒给6瓶(0,5)(2)再灌满5然后把5凑满6瓶(4,6)(3)把6倒掉,4给6瓶(0,4)(4)灌满5,然后5灌满6瓶(3,6)完成。或者(1)灌满6,6灌满5瓶(5,1)(2)清空5瓶,1给5瓶,灌满6,6再灌满5瓶(5,2)(3)清空5,2给5瓶,灌满6,6灌满5瓶(5,3)完成