搜狐畅游

畅游公司是中国领先的互联网游戏开发和运营商,致力于多元化网络游戏开发、运营和授权代理。畅游一直以来都以出产“好游戏”为发展战略,多年来在中国网络游戏行业扮演着重要的角色。

流程

简历筛选-笔试-面试

笔试

题目量:一共十八道题目,选择,简答,一道编程。

时间:90min

选择:主要是Java,也有数据库,数据结构。

简答题

==和equals()的区别?

== 比较的是地址

equals()比较的是内容

Iterator是什么?有什么用?

迭代器

用于遍历集合Collection,因为Collection没有索引,不能用for循环遍历

所以得有迭代器

IRU缓存是?怎么实现?数据结构是?

IRU 页面置换算法

好像是文件操作中使用到,具体不太清楚。

结构一般有两种:链表,数组。

链表访问快,但是增删不好;

数组访问慢,但是增删方便。

一般链表+Hash表可以完美解决。

明两天看看吧QAQ

查询一个表中所有成绩超过75的同学名字?

应该嵌套一下就好了

select name

from student

group by name

having name not in(select name

from student

where score > 75)

编程题:字符串转整数

题目说明严重不足,没太懂意思。后续交卷后查询是LeetCode的题。

故作以下说明:

整型的话直接输出即可,例如:42 输出 42带负号的也直接输出即可 例如: -42 输出 -42数字带字符的,截取到字符为止 例如: 425 qewwq 输出 425无数字或者起始是字符的 输出 0 例如 wqeyi 29 输出 0超出整型范围的 输出边界值即可

有了以上信息,代码很容易写出来:

def toInt(str):

# 首先截取掉左边空格

s = str.lstrip()

if not s:

return 0

a = s[0]

num = 0

if a.isdigit():

# 如果字符串只由数字组成 直接int即可

flag = 1

num = int(a)

# 判断正负

elif a == '+':

flag = 1

elif a == '-':

flag = -1

else:

return 0

# 循环累加

for i in range(1,len(s)):

j = s[i]

if j.isdigit():

num = num * 10 + int(j)

else:

break

num = flag * num

# 超出整型范围直接返回边界值即可

int_max = 2 ** 31 -1

int_min = -2 ** 31

if num > int_max:

return int_max

elif num < int_min:

return int_min

else:

return num

a = '42'

b = '-42'

c = '425 qewwq '

d = 'eqwe qew 213'

e = '-91283472332'

print(toInt(a)) # 42

print(toInt(b)) # -42

print(toInt(c)) # 425

print(toInt(d)) # 0

print(toInt(e)) # -2147483648

应该凉了


摄像机回收估价
石器时代2年兽宠物哪个好 年兽属性对比分析 详解怎么玩宇宙起源石器时代