当前在线人数15271
首页 - 分类讨论区 - 海外生活 - 待字闺中版 -阅读文章
未名交友
[更多]
[更多]
文章阅读:面经(L)
[同主题阅读] [版面: 待字闺中] [作者:linzhen] , 2012年02月17日00:22:23
linzhen
进入未名形象秀
我的博客
[上篇] [下篇] [同主题上篇] [同主题下篇]

发信人: linzhen (大仙), 信区: JobHunting
标  题: 面经(L)
发信站: BBS 未名空间站 (Fri Feb 17 00:22:23 2012, 美东)

说实话,LinkedIn 是我面试过的相当拖拉的公司。看到不少人因电话面试3,4天就感觉
没戏了,我都忍不住地想,太着急了。以下是我的经历,相当拖拉。我写得也挺拖拉,
但希望对面试他家的朋友有所帮助。

1.初接触

在去年6月,我通过版上的一朋友推荐,到现在大概8个月了,才算结束。当然这其中也
有我的因素。

我给那朋友发了email包括我的简历,他并没有回,所以我一直不知道是有人推荐,也不
知道推荐人名字。直到后来recuiter问(可能是为了confirm reference bonus),才想
起来查以前发出的email。

recuiter到7月中旬才联系我。我还以为他在网上找到的我呢。我只在linkedin放了简
单的简历,也没有对外公开。记得但是对被发现感到比较惊奇。但是,我看了一下job
description,不很match.我就把面试推了。但是表示了对公司的强烈兴趣,并同意看看
他家其他的工作,有合适的联系他。

到十月中旬,recruiter又联系我。但是,我此时在中国,正好度一个一个月的长假。
只好在十一月再面试。面试SET position.

2.初次phone(recruiter)

基本上只是问了些情况,了解下情况,没有技术问题。被告知会“很快”安排技术面试
。鉴于我对很快的理解,在一周时催了一下。第一次技术phone面试被安排到十一月中
旬。

3.第一次技术phone interview
共有两个面试官,一个是lead,另一个是shadow.

共有两道coding题。第一个是判断一个string是否为数。得考虑负数,既带小数点的数
。需要注意不能存在多个小数点。

第二个是求pow(double b, int n),一开始我给的方案是简单连乘,复杂度O(n)后来想
到一个olog(n)方法:

    public double pow(double a, int b) throws Exception  {

        if(a==0 && b<0) throw new Exception();

        boolean isNegative = false;
   
        // check whether b is negative.   
        if(b < 0) {
            isNegative = true;
            b = b * -1;
        }
   
        double currentBase = a;
        double val = 1;   
        while(b != 0)
        {
                int oriB = b;
                b = oriB >> 1;
                if(b << 1 != oriB)
             val *= currentBase;
               currentBase *= currentBase;
        }
       
   
        // In case of negative exp number.
        if(isNegative)
        {
            val = 1 / val;
        }
   
        return val;
    }
3.第二次技术phone interview
面试官是刚到LinkedIn的,说话语速很快。可能是对她的新position (management role)很满意,也可能是我们的背景比较相似,滔滔不绝地介绍她自己花了大概15分钟。我这个急呀。
基本是上问了只一道coding题:two sum 的变体:
设计一class, with two methods:

Save(int input):
   add a number, input to the collection of integers

Test(int target)
   Test whether there exist two numbers, whose sum is the target. Return true is such two number exist, false otherwise.

我说见过这道题,她让我讲思路。我说了保持sorted数组,从两头向中间找的做法。她说不是很一样,我们用另一种做法。我就用了hashtable:

public class TwoSum {
    public void save(int input)
    {
int originalCount = 0;
        if(h.containsKey(input))
{
originalCount = (int)h.get(input);
}
        h.put(input, originalCount + 1);
    }

    
    public boolean test(int test){ 

Iterator<Integer> i = h.keySet().iterator();

while(i.hasNext()){
            int c = i.next();
           
            if(h.containsKey(test - c))
            {
                boolean isDouble = test == c * 2;
int frequency = (int)h.get(c);
                boolean appearOnlyOnce = (frequency  == 1);
                if(!(isDouble  && appearOnlyOnce ))
                    return true;
            }
        }
       
        return false;
    }  
    Hashtable h =  new Hashtable<Integer, Integer>();
}
后来由探讨了一下多threads和distributed system,应该考虑的因素:应该lock,但避免overlock.

然后...,好像就没有然后了。知道大概两月后,突然收到戏剧性地受到email,说onsite.当时有点想去pre-IPO公司。其他几个也大概那时面,那就顺便谈谈吧。

Onsite:
不得不豹头蛇尾了。面试涉及很多他们的产品。我也签了协议。

其实也没有太多可透露的。关于coding, 只有一个较大的coding题,版上有很多讨论。其他的基本都在聊。偶尔穿插一电简单coding,太简单,以至于没有必要写出来。我也一点也不记得了。

面试当天我去的比较按时。发现不好找趴车位。以至于进去的比较晚。以至于每一场面试都被下一场面试催。建议以后去面试的同学们适当早点到。

聊的内容基本是,讨论原来我做的东西。如何设计他们的产品。如何测试他们的产品。在不同的技术/产品的选择上,有什么考虑。

多半面试都是1:2。除了recuiter外,共跟8个人谈了。





--

※ 修改:·linzhen 於 Feb 21 10:18:35 2012 修改本文·[FROM: 24.23.]
※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 174.61.]

[上篇] [下篇] [同主题上篇] [同主题下篇]
[转寄] [转贴] [回信给作者] [修改文章] [删除文章] [同主题阅读] [从此处展开] [返回版面] [快速返回] [收藏] [举报]
 
回复文章
标题:
内 容:


未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996