百度测试开发笔试
1数组中长度为n,取值范围是1-n,判断是否有重复
2数组中求最大的两个子数组和
3数组中求最大子数组和
百度测试开发一面
1.将一个ip地址转成32位的整型
// IP字符串->长整型值
public
static
uint
IpStringToInt(
string
IpString)
{
uint
Ipv = 0;
string
[] IpStringArray = IpString.Split(
'.'
);
int
i;
uint
Ipi;
for
(i = 0; i < 4 && i < IpStringArray.Length; i++)
{
if
(IsNumeric(IpStringArray[i]))
{
Ipi = (
uint
)Math.Abs(Convert.ToInt32(IpStringArray[i]));
if
(Ipi > 255) Ipi = 255;
Ipv += Ipi << (3 - i) * 8;
}
}
return
Ipv;
}
2.求字符串中最大回文长度
3.查找兄弟单词
ps:据说我是目前最难的测试一面。我挂了
memcpy()
- void *mymemcpy(void *dest,const void *src,size_t count)
- {
- char *ret=(char *)dest;
- char *dest_t=ret;
- const char *src_t=(char *)src;
- //append
- // while(*dest_t!='\0')
- // {
- // dest_t++;
- // }
- while(count--)
- {
- *dest_t++=*src_t++;
- }
- return ret;
- }
public static int atoi(String str){
if(str == ""){return -1;}
int result = 0;
char[] ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
if(ch[i]<'9' && ch[i]>'0'){
result = result*10+ch[i]-'0';
}else{return -1;}
}
return result;
}
58同城
如何防止恶意刷新和重复提交表单
使用token
服务器端在处理到达的请求之前,会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较,
看是否匹配。在处理完该请求后,且在答复发送给客户端之前,将会产生一个新的令牌,该令牌除传给
客户端以外,也会将用户会话中保存的旧的令牌进行替换。这样如果用户回退到刚才的提交页面并再次
提交的话,客户端传过来的令牌就和服务器端的令牌不一致,从而有效地防止了重复提交的发生。