第一回合(在线)
有人问基于数组数据结构和一个Java oops相关问题的问题。
第二轮
1.哈希图与并发哈希图
2.哈希图的内部实现
3.二叉树的螺旋遍历
4.二叉树的反向螺旋遍历
5.我不记得另一个与数据结构有关的问题
第三回合
1.详细说明项目
2.删除没有头指针的节点
3.打印二叉树的所有路径
4.将二叉树转换为镜像树
5.嘶嘶声打印
编写一个高效的程序, 该程序接受一个输入参数, 例如n。从数字1到n(含)开始, 如果数字是3的倍数, 则打印" Fizz";如果数字是5的倍数, 则打印" Buzz";如果数字是3和5的倍数, 则打印" FizzBuzz"。面试官在寻找带有两个" IF"语句的代码。
第4轮
1.同步关键字的用法
2.从给定的坐标中找到图形类型
在这里, 我们提供了4种类型的图, 并且我们有一个API, 该API接受坐标(x1, y1)和(x2, y2)。每次调用API时, 它将返回平面中的下一个坐标。我们必须找到具有最少API调用次数的图的类型。
图形类型为:严格增加线, 严格减少线, 先升后降平面和先升后降平面。
3.解释Singleton设计模式
4.解释工厂设计模式
第5轮
这是非技术性回合, 仅涉及行为问题。
第6轮
1.动态调度程序
2.原子关键字和易失关键字
3.可外部化的界面
4.接口中有方法定义, 但Java版本为1.7, 因此不应使用默认值。
5.尝试使用资源块
6.上播和下播之间的区别以及何时使用它们。
7.在不使用线程类和可运行接口的情况下创建线程
8.关机钩
9. Java 1.8和1.9中的5个功能
10.执行程序池与线程连接池
11.有3个线程独立运行如何确保第一个线程更频繁地运行
12.在哈希图上应用锁的不同方法
13.如何在内部实现哈希集, 并质疑哈希集在内部使用哈希图还是在内部使用哈希图。
第7轮(招聘经理)
给定具有5行3列和数字n的2D数组。打印数组元素的所有组合, 直到n。例;
数组元素是;
a b c
e
h
k
n
如果n为2, 则输出应为:ad ae af bd是bf cd ce cf
如果n为3, 则输出应为:adg adh adi aeg aeh aei afg afh afi bdg…(依此类推)