在线笔试
20 个 MCQ + 5 个编码问题
F2F 1
1. 有两个有序数组。求通过合并这两个数组获得的数组的中位数。
https://www.geeksforgeeks.org/median-of-two-sorted-arrays/
2. 求矩阵的转置。
3. 说说垃圾回收。我告诉他 GC 过程和可用的不同类型的 GC。然后面试官问到了Mark and Sweep算法。
4. 使用 5 Lt 和 3 Lt 罐装满 4 Lt。
F2F 2
1. 为网站的每个用户提供元组 (Si,Ei),其中 Si 表示用户进入网站的时间,Ei 表示用户退出网站的时间。找到任何时间段内网站的最大活跃用户数.
2.给定一个包含正整数和负整数的数组,求最大积子数组的积
https://www.geeksforgeeks.org/maximum-product-subarray/
3. 将矩阵顺时针旋转 90 度。
4. 谜题:有n个囚犯站成一排,随着高度的增加,每个囚犯都可以看到站在他前面的囚犯的帽子颜色,但看不到自己的帽子颜色。帽子只有两种颜色,红色或蓝色。现在每个囚犯都必须说出他的帽子颜色。如果他是对的,他就活着,否则狱卒会开枪打他。找出拯救最大数量囚犯的策略。
5.
class
{
int i = 0;
method()
{
// updating the value of i to 10
}
}
我们想在多线程环境中执行这个类,这样每个线程的初始值应该与 0 相同。
Ans:我告诉他使用 ThreadLocal 变量并将 i 存储在其中。然后我们开始讨论线程局部变量和Java内存模型。
F2F3
1. 有一个二进制流来了。您需要根据所形成的数字是否可以被 5 整除,打印 true 或 false。
提示:我使用了状态机
2. 打印 Set 的所有子集。
3. 实现字典。
我使用了三元搜索尝试。
4.什么是适配器设计模式。给出一个例子并绘制类图。
F2F4(导演回合电话)
时间很短(15-20 分钟)。包括对我的项目的一般讨论,我正在使用的框架的内部架构。很少有可扩展性概念。