到底为啥那么多人转Data Science

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
[Google级团队]
实时大数据分析领域践行者
北京/深圳-大数据/搜索/机器学习岗
把贵司招聘信息放这里
查看: 3071|回复: 5
收起左侧

Linkedin Intern 技术电面面经

[复制链接] |试试Instant~ |关注本帖
oskarzhang 发表于 2015-10-24 05:59:26 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类General 本科 实习@Linkedin - 内推 - HR筛选 技术电面  | Fail | 其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
本人SOPhomore, 被校友内退到Linkedin. 过了不到一个礼拜就收到recruiter的email,但因为有点logistical问题到大概两个礼拜后才打电话做phone screen. 之后就马上schdule了这个礼拜一的电话techinical. 这是我人生第二次电面,依然不知道自己在干嘛,写出了带很多edge case的代码.....今天刚收到recruiter email说not going to move on.
第一个问题很简单:
  1. /*
  2. * Returns true if the input string is a number and false otherwise.1point3acres缃
  3. */
  4. 5410

  5. .5.鏈枃鍘熷垱鑷1point3acres璁哄潧
  6. .
  7. ..
  8.   -5.2
  9.   -.
  10. public boolean isNumber(String toTest)
  11. {
  12.     bool decimalAppeared = false;
  13.     int negativeIndexShift = 0;
  14.     for(int i =0;i<toTest.length();i++)
  15.     {
  16.         if(toTest[i] == '-' )
  17.         {
  18.             if (i == 0). Waral 鍗氬鏈夋洿澶氭枃绔,
  19.             {      
  20.             negativeIndexShift++;
  21.                 continue;
  22.             }
  23.             else
  24.             {
  25.                 return false;
  26.             }. From 1point 3acres bbs
  27.         }
  28.         
  29.         if (toTest[i] == '.' && !decimalAppeared). 1point 3acres 璁哄潧
  30.         {
  31.             if(i == negativeIndexShift && toTest.length() == 1+negativeIndexShift)
  32.             {
  33.                 return false;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  34.             }
  35.             else
  36.             {
  37.                 decimalAppeared = true;. Waral 鍗氬鏈夋洿澶氭枃绔,
  38.                 continue;. 鍥磋鎴戜滑@1point 3 acres
  39.                 . visit 1point3acres.com for more.
  40.             }
  41.         }
  42.          . 1point 3acres 璁哄潧
  43.         if ((toTest[i] > '9' || toTest[i] < '0' ) )
  44.         {
  45.             return false;
  46.         }
  47.     }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  48.     return true;
  49.     // implementation here
  50. }
复制代码
我一上来什么没说就开始了..然后interviewer告诉我我没有handle的edge case,接着我handle了,接着他又指出新的...就这样来回起码有三四次. 真的非常后悔没有在拿到题目就想好这些东西,还是太noob,这么简单的一题就把我最差的一面展现出来了.

第二道题是好像被问很多的nested integer:
  1. /**
  2. * Given a nested list of integers, returns the sum of all integers in the list weighted by their depth
  3. * For example, given the list {{1,1},2,{1,1}} the function should return 10 (four 1's at depth 2, one 2 at depth 1)
  4. * Given the list {1,{4,{6}}} the function should return 27 (one 1 at depth 1, one 4 at depth 2, and one 6 at depth 3)
  5. */
  6. func depthSum(input: [NestedInteger]) -> Int {. visit 1point3acres.com for more.
  7.     var sum = helper(input);
  8.     // Implementation here
  9. }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  10. . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  11. func helper(input:[NestedInteger]) -> (Int,Int)
  12. {. 1point 3acres 璁哄潧
  13.     var sum:Int = 0;
  14.     var curLevel:Int!;
  15.     for(var i = 0;i<input.count;i++)
  16.     {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  17.         if (input[i].isInteger()). Waral 鍗氬鏈夋洿澶氭枃绔,
  18.         {
  19.             if curLevel == nil
  20.             {
  21.                  curLevel = 1. more info on 1point3acres.com
  22.             }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  23.             sum += input[i].getInteger()! * curLevel
  24.             
  25.         }
  26.         else
  27.         {. 鍥磋鎴戜滑@1point 3 acres
  28.             let res = helper(input[i].getList()!)
  29.             sum += res.first
  30.             curLevel = res.second;
  31.         }
  32.     }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  33.     return (sum,curLevel+1);
  34. }. From 1point 3acres bbs
  35. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

  36. /**
  37. * This is the interface that represents nested lists.
  38. * You should not implement it, or speculate about its implementation.
  39. */. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  40. protocol NestedInteger {

  41.     /** @return true if this NestedInteger holds a single integer, rather than a nested list */
  42.     func isInteger() -> Bool

  43. . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  44.     /** @return the single integer that this NestedInteger holds, if it holds a single integer-google 1point3acres
  45.     * Return null if this NestedInteger holds a nested list */
  46.     func getInteger() -> Int? 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

  47.     /** @return the nested list that this NestedInteger holds, if it holds a nested list
  48.     * Return null if this NestedInteger holds a single integer */. more info on 1point3acres.com
  49.     func getList() -> [NestedInteger]?
  50. }
复制代码
这道题因为我见过而且也是很straightforward的recursion所以我很快写出来了. 接着interviewer马上改题目: 如果nested integer的level是反过来该怎么写? i.e. {{1,1},2,{1,1}} 里的1的level会是1,2的level会是2. 我紧张了一下改了一下我原有的代码...面完后才想到这个implementation估计只能pass1%的test case吧.


这是我sophomore year拿到的两个interview的最后一个了..现在两个都爆掉了,压力较大

评分

2

查看全部评分

johnwen 发表于 2015-10-24 13:07:26 | 显示全部楼层
patpat,我大二的时候也是什么都不懂。。一上来就跪了Google和Facebook。
后面面试的时候就好啦!

另外求问,第二题的follow up,除了预先算出depth外还有好的方法么
回复 支持 反对

使用道具 举报

johnwen 发表于 2015-10-24 13:17:51 | 显示全部楼层
johnwen 发表于 2015-10-24 13:07
patpat,我大二的时候也是什么都不懂。。一上来就跪了Google和Facebook。
后面面试的时候就好啦!

好吧,自问自答。。recursive返回sum的同时返回一个depth(和做树的depth一个写法)。先递归,把答案都先加起来,同时比较返回的depth,得到最大的depth,也就是当前深度。再用之前存储的答案乘上深度
回复 支持 反对

使用道具 举报

smallshrimp 发表于 2015-10-29 05:20:34 | 显示全部楼层
觉得应该先得到deepest level,
回复 支持 反对

使用道具 举报

DK_BurNing 发表于 2015-10-31 03:03:03 | 显示全部楼层
reverse weighted Sum = No weighted sum * (deepestLevel + 1) - no-reversed weighted sum
这样的话应该走一次也能做出来。
回复 支持 反对

使用道具 举报

2015fallcser 发表于 2015-11-13 14:23:09 | 显示全部楼层
这是什么语言啊
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-4-25 11:03

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表