摩根士丹利面试经历 |设置 34
第一轮:电话轮
我正在摩根士丹利孟买办事处面试Java开发人员职位。
面试主要由多线程问题和一个数据结构和算法问题组成。
Q.1> 给定两个线程(T1 和 T2)用于生成,两个线程(T3 和 T4)用于验证。您如何确保 T3 和 T4 仅在(T1 和 T2)之后运行。
Q.2> 你如何让一个类不可变?然后他问我,如果该类引用了一些具有 setter 方法的 API 怎么办。我无法回答这个问题。
Q.3> 倒计时 *something* 和 *something* 有什么区别。听不清楚。
Q.4> 什么是 volatile 关键字?
Q.5> LinkedHashMap和HashMap的区别
Q.6> ConcurrentHashMap 和 SynchronizedHashMap 的区别。
Q.7> 给定一个链表,如果链表的大小未知,如何从最后一个元素中找到第 n 个元素?