📜  迈克菲面试体验 | SDE-2(4.5 年经验)

📅  最后修改于: 2021-09-23 05:13:26             🧑  作者: Mango

这次采访是针对 SDE-2 职位的。招聘人员通过 LinkedIn.com 与我联系

第一轮(在线)

提出的问题基于数组数据结构和一个与Java oops 相关的问题。

第二轮
1. 哈希映射 vs 并发哈希映射

2、hash map的内部实现

3.二叉树的螺旋遍历

4.二叉树的反向螺旋遍历

5. 另一个我想不起来的数据结构相关问题

第三轮
1. 详细解释项目

2.删除没有头指针的节点

3.打印二叉树的所有路径

4. 将二叉树转换为镜像树

5. 嘶嘶声印刷
编写一个有效的程序,它接受一个输入参数,比如 n。从数字 1 到 n(含),如果数字是 3 的倍数,则打印“Fizz”,如果数字是 5 的倍数,则打印“Buzz”,如果数字是 3 和 5 的倍数,则打印“FizzBuzz”。面试官正在寻找只有两个“IF”语句的代码。

第四轮
1.synchronize关键字的使用

2. 从给定的坐标中查找图形类型
这里我们给出了 4 种类型的图,我们有一个 API,它接受坐标,比如 (x1, y1) 和 (x2, y2)。每次调用 API 时,它都会返回平面中的下一个坐标。我们必须找到 API 调用次数最少的图类型。
图形类型为严格递增线、严格递减线、先递增后递减平面和递减递增平面。

3.解释单例设计模式

4. 解释工厂设计模式

第五轮
这是一个非技术回合,只有行为问题。

第六轮
1. 动态调度器
2. Atomic 关键字和 volatile 关键字
3. 可外部化的接口
4. 在接口中有一个方法定义,但Java版本是 1.7 因此不应使用默认值。
5. try 与资源块的使用
6. upcasting 和 downcasting 的区别以及我们应该在什么时候使用它们。
7.不使用线程类和runnable接口创建线程
8.关机钩
9. Java 1.8 和 1.9 中的 5 个特性
10. Executor Pool vs Thread Join Pool
11. 3个线程独立运行如何保证第一个线程运行更频繁
12. hash map 加锁的不同方式
13、hash set内部是如何实现的,质疑hash set是内部使用hash map还是hash map内部使用hash set。

第 7 轮(招聘经理)
给定一个 5 行 3 列的二维数组和一个数字 n。打印最多 n 的数组元素的所有组合。例子;

数组元素是;

美国广播公司
定义

jkl
莫诺

如果 n 为 2,则输出应为: ad ae af bd be bf cd ce cf
如果 n 为 3,则输出应为:adg adh adi aeg aeh aei afg afh afi bdg …(依此类推)