第 1 轮(编码轮):
1) 范围 [L, R] 已给出。需要找出 L 和 R 之间素数的最大重复数字是多少(包括两个)。如果重复最多位数的次数更多,则返回最大的数字
例如:[2, 13] – {2, 3, 5, 7, 11, 13} 中的最大重复数字为 1
[2, 9] – 答案 7
2) 给定一个数“S”,找出 a, b, c, d (all > 1) 可以存在多少种方式,使得 a+b+c+d = S;
第二轮:
1) OOPS 概念
2) 反向链表中的备用节点
例如:1->2->3->4->5 应该变成 2->1->4->3->5
3)二叉树的迭代后序遍历
4) 使用栈的队列实现
第 3 轮(Java):
1) Arraylist, Linkedlist – 何时使用什么
2)Hashmap、Hashtable、并发哈希图
3)Hashcode、Equals、Hashmap的实现
4) 可序列化接口
5)抽象类与接口
6)多线程,extends thread的区别,实现runnable
7)Callable接口,Executor框架
8) 收藏分类,可比界面
9) 迄今为止我做过的最让我自豪的事情
第 4 轮:
1) 给定 NxN 矩阵,(X,Y) 位置。找出从 (X,Y) 到 (N,N) 有多少种方式可以到达。您可以朝 2 个方向移动 – 右、下
2)在链表中查找循环。找到循环的起始节点
3)二叉树之字形遍历
4) 给出股票价格列表。您只能买卖一次。
a) 找到您可以获得的最大收益
b) 找出你能得到的最大损失
5)二叉树是否高度平衡。 (树中的每个节点都应该高度平衡)
6) 实现字符串修剪算法
7) 编写一个多线程程序——启动 10 个线程并在所有线程完成后退出主线程
第 5 轮(经理):
1) 给定一个数组形式的数字,最大化允许交换次数的数字(只能交换相邻元素)——maximize(int[] data, int numSwaps)
例如:1265 是数字——如果允许 1 次交换——我们可以得到的最大数字是 2165
1265 是数字——如果允许 3 次交换——我们可以从中得到的最大数字是 6215
2)关于我的项目的问题
3)很多行为问题
第 6 轮(人力资源):
你为什么要改变?你期待什么?以及其他一些人力资源问题。