b****e 发帖数: 45 | 1 面的是M的云计算组,流程跟以前听说的M家标准流程不太一样,这次是十几个人安排到
同一天面试,每人一共4个面试(固定),早上面试完后下午直接面告结果。不知道是
不是刚刚今年改的流程。
我碰到的4个面试全是背景寒暄+coding,没有难题,但感觉对基础知识的掌握比较重要。
1)Leetcode上的原题:判断一个字符串是不是有效的括号匹配,(e.g., "()[]{}"有
效,"([)]"无效)。中间追问了如何处理内存不足和异常处理的一些细节。
2) 用list实现一个stack. 需要写出list和stack的类实现。实现完后问了线程安全的
问题。
3)翻转一个句子里的所有单词。
4)用array实现一个支持动态增长的queue.
面试完吃了午饭,下午就被告知给offer, 效率真是相当的高。 感觉现在M家的云计算
组扩招得挺厉害,有兴趣的同学可以投一下。我当时是参加一次on-campus面试后就直
接被叫on-site了,以致现在我跟其他公司的面试相对滞后(大部分都还在phone
interview阶段),有点担心最后做决定的时间衔接不上。希望有经验的大牛指教如何
解决这个问题。多谢! |
b***m 发帖数: 5987 | |
w****x 发帖数: 2483 | |
K*******i 发帖数: 399 | |
t******1 发帖数: 2239 | |
c********s 发帖数: 817 | |
c********s 发帖数: 817 | 7 如果内存不足,对于每个括号(),{},和 {}, 各用一个counter,而不用stack。
原先的stack push变成counter increment,stack pop 变成counter decrement.
【在 K*******i 的大作中提到】 : 求第一题的解法,要用一个堆栈?
|
h********6 发帖数: 285 | 8 I don't think counter would work, or I miss something from your method.
stack。
【在 c********s 的大作中提到】 : 如果内存不足,对于每个括号(),{},和 {}, 各用一个counter,而不用stack。 : 原先的stack push变成counter increment,stack pop 变成counter decrement.
|
l****o 发帖数: 315 | 9 怎么样可以直接投云组?我叫云组的同学帮忙refer也只能放database里。 |
c********s 发帖数: 817 | 10 对。这个case会fail
([)]
【在 h********6 的大作中提到】 : I don't think counter would work, or I miss something from your method. : : stack。
|
|
|
t********e 发帖数: 344 | 11 why?
不同的符号用一个不同的counter
【在 c********s 的大作中提到】 : 对。这个case会fail : ([)]
|
p*****2 发帖数: 21240 | |
b****e 发帖数: 45 | 13 还不知道是什么级别。一般fresh PhD进去是多少级?
【在 b***m 的大作中提到】 : 题这么简单?多少级?
|
b***m 发帖数: 5987 | 14 59到61貌似都有可能。
【在 b****e 的大作中提到】 : 还不知道是什么级别。一般fresh PhD进去是多少级?
|
p*****2 发帖数: 21240 | 15
59基本不可能吧?除非是转行的。
【在 b***m 的大作中提到】 : 59到61貌似都有可能。
|
b****e 发帖数: 45 | 16 嗯,我开始时顺口提了counter的解法,不过马上反应过来还是需要保存符号信息,于
是老老实实拿stack写了一遍。
【在 c********s 的大作中提到】 : 对。这个case会fail : ([)]
|
h****n 发帖数: 1093 | 17 感谢分享。
是不是申请的fresh grad?
要。
【在 b****e 的大作中提到】 : 面的是M的云计算组,流程跟以前听说的M家标准流程不太一样,这次是十几个人安排到 : 同一天面试,每人一共4个面试(固定),早上面试完后下午直接面告结果。不知道是 : 不是刚刚今年改的流程。 : 我碰到的4个面试全是背景寒暄+coding,没有难题,但感觉对基础知识的掌握比较重要。 : 1)Leetcode上的原题:判断一个字符串是不是有效的括号匹配,(e.g., "()[]{}"有 : 效,"([)]"无效)。中间追问了如何处理内存不足和异常处理的一些细节。 : 2) 用list实现一个stack. 需要写出list和stack的类实现。实现完后问了线程安全的 : 问题。 : 3)翻转一个句子里的所有单词。 : 4)用array实现一个支持动态增长的queue.
|
x*****n 发帖数: 195 | 18 个人经历供参考
当时快毕业去了微软campus hire,速度巨快,很快onsite,下午面傍晚给offer,两周
答复,package还不错就从了。然后cancel了还没开始的google和amazon interview
loop。那时google对msft的优势没那么大,而msft对amazon还有优势,linked和fb还处
于不怎么招人阶段。不能说当时的决定不好,但回想起来还是有点小遗憾,如果能把热
门公司都面一遍就没遗憾了。
进了微软做段时间可以再跳的,一个是主观方面,保持斗志不怕折腾,还有客观的,比
如我的情况马上来了经济危机和熬绿卡,一拖就好几年过去了
祝你好运!
要。
【在 b****e 的大作中提到】 : 面的是M的云计算组,流程跟以前听说的M家标准流程不太一样,这次是十几个人安排到 : 同一天面试,每人一共4个面试(固定),早上面试完后下午直接面告结果。不知道是 : 不是刚刚今年改的流程。 : 我碰到的4个面试全是背景寒暄+coding,没有难题,但感觉对基础知识的掌握比较重要。 : 1)Leetcode上的原题:判断一个字符串是不是有效的括号匹配,(e.g., "()[]{}"有 : 效,"([)]"无效)。中间追问了如何处理内存不足和异常处理的一些细节。 : 2) 用list实现一个stack. 需要写出list和stack的类实现。实现完后问了线程安全的 : 问题。 : 3)翻转一个句子里的所有单词。 : 4)用array实现一个支持动态增长的queue.
|
w***t 发帖数: 1474 | 19 是sde还是sdet?
要。
【在 b****e 的大作中提到】 : 面的是M的云计算组,流程跟以前听说的M家标准流程不太一样,这次是十几个人安排到 : 同一天面试,每人一共4个面试(固定),早上面试完后下午直接面告结果。不知道是 : 不是刚刚今年改的流程。 : 我碰到的4个面试全是背景寒暄+coding,没有难题,但感觉对基础知识的掌握比较重要。 : 1)Leetcode上的原题:判断一个字符串是不是有效的括号匹配,(e.g., "()[]{}"有 : 效,"([)]"无效)。中间追问了如何处理内存不足和异常处理的一些细节。 : 2) 用list实现一个stack. 需要写出list和stack的类实现。实现完后问了线程安全的 : 问题。 : 3)翻转一个句子里的所有单词。 : 4)用array实现一个支持动态增长的queue.
|
r*****e 发帖数: 146 | 20 congrat!
关于第2题的线程安全,应该怎么答啊?哪位牛人能总结总结这类涉及到多线程的问题
如何应对啊,
一般顺着什么思路解决呢?
要。
【在 b****e 的大作中提到】 : 面的是M的云计算组,流程跟以前听说的M家标准流程不太一样,这次是十几个人安排到 : 同一天面试,每人一共4个面试(固定),早上面试完后下午直接面告结果。不知道是 : 不是刚刚今年改的流程。 : 我碰到的4个面试全是背景寒暄+coding,没有难题,但感觉对基础知识的掌握比较重要。 : 1)Leetcode上的原题:判断一个字符串是不是有效的括号匹配,(e.g., "()[]{}"有 : 效,"([)]"无效)。中间追问了如何处理内存不足和异常处理的一些细节。 : 2) 用list实现一个stack. 需要写出list和stack的类实现。实现完后问了线程安全的 : 问题。 : 3)翻转一个句子里的所有单词。 : 4)用array实现一个支持动态增长的queue.
|
|
|
h****n 发帖数: 1093 | 21 搭车同问
特别是C++的多线程,感觉比java里面的多线程要繁杂很多啊
【在 r*****e 的大作中提到】 : congrat! : 关于第2题的线程安全,应该怎么答啊?哪位牛人能总结总结这类涉及到多线程的问题 : 如何应对啊, : 一般顺着什么思路解决呢? : : 要。
|
Q*******e 发帖数: 939 | |
f*****e 发帖数: 2992 | 23 和数据库差不多,粗粒度lock和细粒度lock,如果要做aggregate operation比如求和,
要把整个list给锁起来,如果写一个elment,和读另一个element,就用基于element的
lock,这样就互不干扰。
【在 r*****e 的大作中提到】 : congrat! : 关于第2题的线程安全,应该怎么答啊?哪位牛人能总结总结这类涉及到多线程的问题 : 如何应对啊, : 一般顺着什么思路解决呢? : : 要。
|
b***m 发帖数: 5987 | 24
有。我知道。
【在 p*****2 的大作中提到】 : : 59基本不可能吧?除非是转行的。
|
r*****e 发帖数: 146 | 25 多谢解答! :)
以这个stack的题目为例,是不是push, pop要加锁,比如:
//java
public class ListNode{
private int val;
private ListNode next;
}
public class Stack{
private ListNode head;
private ListNode tail;
public synchronized void push(int a){}
public synchronized int pop(){}
public int size(){}
}
主要是在方法level去synchronize? 还是说有某些方法把tail, head锁住? 谢谢指教!
和,
【在 f*****e 的大作中提到】 : 和数据库差不多,粗粒度lock和细粒度lock,如果要做aggregate operation比如求和, : 要把整个list给锁起来,如果写一个elment,和读另一个element,就用基于element的 : lock,这样就互不干扰。
|
c******t 发帖数: 391 | 26 Mark.
关于#4,之前面A家被问到过如何设计动态增长的HashTable,但这个问里面,用array
实现queue,怎样达到动态增长呢?如果SIZE不固定的话,isFull怎样判断呢? |
b*****u 发帖数: 648 | 27 circular buffer, keep a head and a tail index
array
【在 c******t 的大作中提到】 : Mark. : 关于#4,之前面A家被问到过如何设计动态增长的HashTable,但这个问里面,用array : 实现queue,怎样达到动态增长呢?如果SIZE不固定的话,isFull怎样判断呢?
|