10月28,K神开讲数据科学:AB Test/实验设计


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 3385|回复: 38
收起左侧

脸熟initial面经,感觉好像被面试官黑了

[复制链接] |试试Instant~ |关注本帖
巫山云似盖 发表于 2017-6-27 15:17:17 | 显示全部楼层 |阅读模式

2017(7-9月) 码农类 硕士 全职@Facebook - 猎头 - 技术电面 |Fail在职跳槽

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

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

x
上周的Initial interview, 本来是电面,因为我在local,所以可以去office面。 全程~45mins。我提前40分钟就到了。面试官是亚洲女生, 听不出口音到底是国人还是韩国妹子。先几分钟介绍了一下她在做什么。

1, remove zeros。一个array里有零,要你in place把非零项都移到左边,最后array右边尾巴是什么样可以不用管,还要返回有多少个非零项,要求是O(n)。讨论了几种做法,她要求不能用额外的space。最后定了一种做法我们都认为“should work”,存一个变量叫next available index,遇见非零就replace那个next_available_index的数,然后next_available_index加一。 最后返回next_available_index是非零的数量。写完后她说very good。拍了照,然后加下一个题。
2, Add Binary。这个是面经题我前两天刚好看过, 先假装简单讨论了一下,然后直接秒出的是perfect的答案。她又说能不能把程序简化一下,少些两行。改了改整理一下之后又说“OK,very good”。(这个没有拍照)

在时间内完成,后面5分钟问问题了。感觉聊的还不错,至少没有behavior上的问题。

可是不知道为什么,过了一个工作日就收到hr的据信,说不move foward了,还说暂时不能提供任何feedback。。。-google 1point3acres
. 鍥磋鎴戜滑@1point 3 acres
. more info on 1point3acres.com
补充内容 (2017-6-28 00:59):
楼主第一题是用了O(n)时间 O(1),当时写的:
    next_ava_idx = 0
    for i in xrange(len(nums)):
        if nums != 0:
            nums[next_ava_idx] = nums
            next_ava_idx += 1
retur

补充内容 (2017-6-28 01:01):
打错了,O(n)时间,O(1)space。字数超了

补充内容 (2017-6-28 01:03):. from: 1point3acres.com/bbs
不知道为什么贴上代码好多字被删了。有两行是nums[i]不是nums

评分

1

查看全部评分

本帖被以下淘专辑推荐:

xiaokeishaobo35 发表于 2017-6-27 15:50:33 | 显示全部楼层
第一题 真的是高频,lc easy 通过率很高,我估计你是想的太久了。。。
回复 支持 1 反对 0

使用道具 举报

f1371342385 发表于 2017-6-27 15:30:14 | 显示全部楼层
LZ 第一题 不是双指针最快吗。。。
回复 支持 反对

使用道具 举报

f1371342385 发表于 2017-6-27 15:32:17 | 显示全部楼层
LZ 第一题 不是双指针最快吗。。。
回复 支持 反对

使用道具 举报

david.fang 发表于 2017-6-27 15:39:43 | 显示全部楼层
第一题是高频move zeroes。估计可能其他人都做的特别快而影响了你
回复 支持 反对

使用道具 举报

 楼主| 巫山云似盖 发表于 2017-6-27 15:52:26 | 显示全部楼层
david.fang 发表于 2017-6-27 15:39. more info on 1point3acres.com
第一题是高频move zeroes。估计可能其他人都做的特别快而影响了你

不完全是LC的move zeros。 只要求in place改array使前面全是非零项,后边不管了。不用把zeros都移到后面。估计没有直接秒而是纠结了一下,多讨论了几种不efficient的方法。。?
回复 支持 反对

使用道具 举报

 楼主| 巫山云似盖 发表于 2017-6-27 15:52:56 | 显示全部楼层
f1371342385 发表于 2017-6-27 15:30
LZ 第一题 不是双指针最快吗。。。

怎么用two pointers?
回复 支持 反对

使用道具 举报

limengze126 发表于 2017-6-27 16:17:43 | 显示全部楼层
.鐣欏璁哄潧-涓浜-涓夊垎鍦
一个从头开始指向非0的index 一个从尾开始指向是0的index 交换?
回复 支持 反对

使用道具 举报

zju无水的鱼 发表于 2017-6-27 19:12:53 | 显示全部楼层
int removeElement(int A[], int n, int elem) {
    int begin=0;
    for(int i=0;i<n;i++) if(A[i]!=elem) A[begin++]=A[i];
    return begin;
}
leetcode 27
回复 支持 反对

使用道具 举报

lixiaonin 发表于 2017-6-27 20:04:54 | 显示全部楼层
左右指针均从左开始,左指针找第一个0,右指针找左指针右起第一个非0,呼唤,左右指针分别加一,重复上述过程至指针到尾
回复 支持 反对

使用道具 举报

 楼主| 巫山云似盖 发表于 2017-6-28 00:46:22 | 显示全部楼层
zju无水的鱼 发表于 2017-6-27 19:12
int removeElement(int A[], int n, int elem) {
    int begin=0;
    for(int i=0;i

楼主跟这个做法一样。
回复 支持 反对

使用道具 举报

 楼主| 巫山云似盖 发表于 2017-6-28 00:47:33 | 显示全部楼层
双指针的方法怎么更efficient了,不也是O(n)吗?
回复 支持 反对

使用道具 举报

scredwood 发表于 2017-6-28 01:18:29 | 显示全部楼层
巫山云似盖 发表于 2017-6-28 00:47
双指针的方法怎么更efficient了,不也是O(n)吗?

对,都是O(N),只不过双指针能减少copy的次数。用index的话,所有的非0都还是要copy一遍。


不过说实话,做了两道题也没bug不应该挂了的。。哎,真是运气。有人两道bug都过了,有人两道秒了也挂了。。。
回复 支持 反对

使用道具 举报

涉入如有 发表于 2017-6-28 05:09:40 | 显示全部楼层
楼主加油吧。。有时候也是看运气呢。。
回复 支持 反对

使用道具 举报

say543 发表于 2017-6-28 14:54:16 | 显示全部楼层
我觉得还是运气问题....但是我没有feel 挂的点...
回复 支持 反对

使用道具 举报

 楼主| 巫山云似盖 发表于 2017-6-29 01:02:11 | 显示全部楼层
LZ算是经历很多面试了,这次绝对反常。出来时明明是必过的感觉。难道女生大都会挂掉女生?实在想不出是哪里的问题,要么就是Facebook这批去面试的人人都不用思考就秒掉2-3道题。
回复 支持 反对

使用道具 举报

aiweiwei 发表于 2017-6-29 03:28:01 | 显示全部楼层
巫山云似盖 发表于 2017-6-29 01:02
LZ算是经历很多面试了,这次绝对反常。出来时明明是必过的感觉。难道女生大都会挂掉女生?实在想不出是哪里 ...

楼主没有任何问题啊     而且女生应该会上女生easy过吧。。。   除非楼主你太过妖艳了
回复 支持 反对

使用道具 举报

leonxxx 发表于 2017-6-29 03:57:27 来自手机 | 显示全部楼层
面试很大部分看运气,想挂掉你,找个理由太容易了。
回复 支持 反对

使用道具 举报

stealop 发表于 2017-6-29 04:03:43 | 显示全部楼层
我晕, 我上周电面 fb, 一个国人, 第一题也是 move zeros, 我一上来就用的双指针的做法, 复杂度是o(n), 但是我用的两个 while loop, 然后他说不行要改, 最后改成了一个loop,但本质是一样的。 然后followup 就是用的收尾指针 swap。 感觉 非常抠细节, 我一个 if block 有一个 判断条件是多余的, 也感觉 扣分不少。 第一题写完之后 第二题是 找 所有 subset的个数,并且subset的 max + min < 给定k。 这题 我的思路是双指针加递归, 复杂度是n^2, 但是因为 第一题各种修改, 导致我第二题没时间写完了! 然后就挂了。 哎 真没想到 fb这么严格啊。 move zero 写过无数次了, 之前每次都是双指针 两个 while loop做的, 一点问题没有啊, 跑的时间也是 50%, 结果竟然栽在这了。
回复 支持 反对

使用道具 举报

scredwood 发表于 2017-6-29 05:03:36 | 显示全部楼层
stealop 发表于 2017-6-29 04:03
我晕, 我上周电面 fb, 一个国人, 第一题也是 move zeros, 我一上来就用的双指针的做法, 复杂度是o(n) ...

这也太抠细节了吧。。。。请问最后一个LOOP 的解法是啥?收尾指针是不是这个意思?
. from: 1point3acres.com/bbs
while (left < right) {. 鍥磋鎴戜滑@1point 3 acres
               while (left < right && nums[left] != 0) left++;
               while (left < right && nums[right] == 0) right--;
               if (left < right) {
                       nums[left++] = nums[right--];
               }
       }
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-10-18 23:04

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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