面试从13点30开始:
先给了一个判断二叉树左右子树是否相同的题,但是我读题不仔细,以为是判断两个二叉树是否相同。好在无伤大雅
public static boolean isSameSubTree(TreeNode root1, TreeNode root2) {if(root1 == null && root2 == null) {return true;}else if(root1 == null || root2 == null) {return false;} else if(root1.val != root2.val) {return false;}else {return isSameSubTree(root1.left,root2.left) && isSameSubTree(root1.right,root2.right);}}
然后自我介绍结束后开始面试:
1.五层网络结构,他们分别是做什么的
2.TCP三次握手、四次挥手
3TCP可靠性
4.Java为什么支持跨平台
5.Java类加载过程
6.说一下继承和接口,什么时候该用接口
7.说一下多态
8.了解哪些二叉树的数据结构
9.红黑树的插入过程
10.AVL树的插入过程
11.死锁产生的原因
12.还有点时间,来写个代码吧
boolean ret = false;public boolean func(int[][] arr, int num) {funSon(arr[0][0],0,0,arr,num);return ret;}private void funSon(int start, int x, int y, int[][] arr, int num) {if(start == num) {ret = true;return;}if(x + 1 < arr.length && arr[x + 1][y] <= num) {funSon(arr[x + 1][y], x + 1, y, arr,num);}if(y + 1 < arr[0].length && arr[x][y + 1] <= num) {funSon(arr[x][y + 1], x, y + 1, arr,num);}}
13.可以完成功能,但是你可以优化一下吗
14.你有什么想问我的吗
二面(60min .09.08)
1.自我介绍
2.项目
3.校园经历
4.玩过哪些游戏
-----因为我说了我玩过阴阳师,所以阴阳师相关问了很多------
5.阴阳师最喜欢哪个式神?为什么?
6.最讨厌哪个式神?为什么?
7.觉得阴阳师做的最好的一次活动?为什么?
8.最不好的活动?为什么?
9.玩过阴阳师,知道游戏里会有一个类似排行榜的功能,如果要你设计你怎么设计
10.客户端对响应要求比较高,不能用数据库,用什么数据结构设计排行榜
11.实现根据id查找对应排行的位置
12.实现文件撤销和恢复功能
13.你想象中的游戏开发工作是怎么样的
14.为什么选择杭州作为工作城市
15.用户A有好友若干,用户B有好友若干,求共同好友
16.时间复杂度,空间复杂度是多少
17.常见的roll装备是掷骰子的形式,现在改成轮流掷,掷到正面者拿走,公平吗?拿到的概率是多少?
18.你有什么想问我的