一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1493|回复: 12
收起左侧

Pure Storage 两次电面面经

[复制链接] |试试Instant~ |关注本帖
lfzh123 发表于 2016-5-4 11:18:37 | 显示全部楼层 |阅读模式

2016(4-6月) 电路/电子/半导体类 硕士 全职@Pure Storage - 网上海投 - 技术电面 |Other在职跳槽

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

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

x
之前海投,HR发了OA,过了之后,就安排了两次电面。上周一次,今天一次,两次都是白人小哥,感觉挺nice的。没有问简历和工作经验,直接coding,coding过程不需要在意语法或者语言。用的是https://coderpad.io.
1. 给定一个文件,比较大,但是内存有限,写一个函数,reverse这个文件byte by byte. 以前的帖子也提到过这个问题。如果不知道读写文件的API的话,也没有关系,面试官会给出。
面试官说我们从简单的入手,每次读一个byte到内存的buffer,这样呢就是分别从头和尾部读两个byte,swap,然后存回去。然后说,这样inefficient,因为有太多的I/O,我们该如何改进。答案是增大buffer,每次多读入一些,然后交换。. more info on 1point3acres.com
这样就有overwrite的问题。假如ABCDEFGH,每个字母代表一个byte,buffer size是3,ABC 和 FGH交换 -》HGF DE CBA, 然后就剩下DE了,如果接着这么交换的话,就会读入DEC 和 FDE,然后reverse之后,在写入,变成 HGCDEFBA,就不对了。这里可以加上判定条件,如果剩下的部分小于buffer长度的话,我们只用读入这一部分,然后reverse,写回去。

2. 面试官用python,code如下:
def func(n):
   count = 0
   if n != 1:. visit 1point3acres.com for more.
       if n%2 == 0:
            n = n/2
       else:. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            n = n*3+1
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷       count = count+1
    return count
奇数的话n = n*3+1, 偶数的话n/2,一直到n== 1.返回变换了多少次。然后问改进的方法,就是记录中间算过的数,变换的次数。加入一个HashMap里。follow-up问题是,如果我们调用了很多很多次,而且很多不同的数,这个HashMap就特别大,会占用很多内存,该怎么办。
暂时没有遇到版上的哪些常见固定的面试题。而且他们家不怎么用leetcode的题。

mingzhou1987 发表于 2016-5-4 14:31:44 | 显示全部楼层
写了一下. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
int collatzConjecture(map<int, int> &m, int n). from: 1point3acres.com/bbs
{
. from: 1point3acres.com/bbs         if (m.find(n) != m.end())return m[n];
        if (n == 1)
        {
                m[n] = 0;
                return m[n];
        }
        if (n % 2 == 1). from: 1point3acres.com/bbs
        {
                return (m[n] = 1 + collatzConjecture(m, 3 * n + 1));
        }
        else
        {
                return (m[n] = 1 + collatzConjecture(m, n / 2));
        }
}
回复 支持 反对

使用道具 举报

 楼主| lfzh123 发表于 2016-5-4 22:49:26 | 显示全部楼层
但是这个recursion的过程并没有更新map,只是直接返回结果。map需要我们动态构造
回复 支持 反对

使用道具 举报

Chi2829 发表于 2016-6-4 23:26:56 | 显示全部楼层
楼主,我最近也在准备这家面试,请问第二题follow up面试官希望怎么答呢?我唯一能想到的就是cache一部分n的值,比如说小于1000的,然后其他的每次都算。这个思路对么?谢谢!
回复 支持 反对

使用道具 举报

 楼主| lfzh123 发表于 2016-6-7 09:41:51 | 显示全部楼层
Chi2829 发表于 2016-6-4 23:26
楼主,我最近也在准备这家面试,请问第二题follow up面试官希望怎么答呢?我唯一能想到的就是cache一部分n ...

是的,只cache一部分。其他的都计算,因为anyway也能得到结果
回复 支持 反对

使用道具 举报

Chi2829 发表于 2016-6-7 19:36:14 | 显示全部楼层
lfzh123 发表于 2016-6-7 09:41
是的,只cache一部分。其他的都计算,因为anyway也能得到结果

多谢楼主!
回复 支持 反对

使用道具 举报

Urumic 发表于 2016-6-13 00:33:02 | 显示全部楼层
请问楼主,第一题需要写代码吗?怎样可以仅仅读取一部分文件呢?
回复 支持 反对

使用道具 举报

dajiang 发表于 2016-6-13 03:55:08 | 显示全部楼层
请问,楼主是啥时候投的呢? 是 2016 fullltime 吗?
回复 支持 反对

使用道具 举报

 楼主| lfzh123 发表于 2016-6-14 13:02:28 | 显示全部楼层
Urumic 发表于 2016-6-13 00:33
请问楼主,第一题需要写代码吗?怎样可以仅仅读取一部分文件呢?

他会告诉你一个api,每次读文件到一个char array
回复 支持 反对

使用道具 举报

 楼主| lfzh123 发表于 2016-6-14 13:04:11 | 显示全部楼层
dajiang 发表于 2016-6-13 03:55
请问,楼主是啥时候投的呢? 是 2016 fullltime 吗?
. more info on 1point3acres.com
四月份投的吧,你也试试吧,一般hr都会给个oa做一做的
回复 支持 反对

使用道具 举报

Urumic 发表于 2016-6-14 13:24:25 | 显示全部楼层
lfzh123 发表于 2016-6-14 13:02
他会告诉你一个api,每次读文件到一个char array

哦,知道了,谢谢!
回复 支持 反对

使用道具 举报

dajiang 发表于 2016-6-21 12:15:55 | 显示全部楼层
lfzh123 发表于 2016-6-14 13:04
四月份投的吧,你也试试吧,一般hr都会给个oa做一做的

好的,多谢啦
回复 支持 反对

使用道具 举报

vivianmi41 发表于 2016-7-11 08:28:53 | 显示全部楼层
求问楼主,第二题follow-up之前的用hashmap改进,我没有特别明白key, value存什么,对于给定一次N,中间过程N的变化不会出现重复的N吧,那样的话不就跳不出while循环了么
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 11:00

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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