當了一年的 Facebook Rotational Software Engineer 心得分享

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 4519|回复: 15
收起左侧

Pure Storage 的面經求加分

[复制链接] |试试Instant~ |关注本帖
aircw2005 发表于 2015-7-21 13:50:44 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类General 硕士 全职@PureStorage - 网上海投 - Onsite  | Fail | 在职跳槽

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

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

x
版上列出过一些题目, 没见过的有:

1. 实现不同的iterator, (sorted iterator(给定一个非sort的iterator), filter Iterator (给定一个predicate函数, 和一个iterator)
2. 给定一些texbox, 里面有text(text box 的大小, text的相對偏移都給出了), 要求重新排列这些textbox, 这样text可以对齐, 这个讨论完了就是纯粹coding, 没啥特别
3. Image smoother, 给定一个matrix, 要求输出一个matrix, 每个cell的值是原来3*3邻居的平均值, 要求in-place.本文原创自1point3acres论坛

评分

3

查看全部评分

本帖被以下淘专辑推荐:

roger2943 发表于 2015-9-26 00:24:58 | 显示全部楼层
fighton_cs 发表于 2015-9-25 10:12. From 1point 3acres bbs
我觉得这样做行不通。因为比如说你先计算[0][0]的值,在保存[0][0]的结果之后,将[0][0]的原始值加到[0][ ...

确实错了,是你说的问题。算法题光靠脑袋想果然不靠谱……

要是照着我的这个思路,倒是可以处理一下:每次加过之后,还要讲后续cell恢复原值。. 1point 3acres 论坛

例如原始矩阵是这样的:. 一亩-三分-地,独家发布
a  b  c  d
.留学论坛-一亩-三分地e  f  g  h
i   j  k   l
m n o  p

然后先跑一轮,将矩阵变成
a+e       b+f       c+g       d+h
a+e+i    b+f+j    c+g+k   d+h+l. Waral 博客有更多文章,
e+i+m   f+j+n    g+k+o   h+l+p
i+m       j+n       k+o       l+p
如此,每个cell的结果就是只跟本行cell值相关,与上下行cell无关了。只要用两个临时变量就够了。
. from: 1point3acres . visit 1point3acres for more.
想得到如上矩阵,需要纵向计算。这样与左右列的cell也无关。同样只要用两个临时变量就够了。in place搞定,不过要多跑一轮。

这次还是没写代码,不过画图感觉了一下,似乎是没啥问题了吧。。。。hope so。。。

补充内容 (2015-9-26 00:25):
要是照着我的这个思路,倒是可以处理一下:每次加过之后,还要讲后续cell恢复原值。
    ---->这句删掉.本文原创自1point3acres论坛
. 留学申请论坛-一亩三分地
补充内容 (2015-9-26 00:26):. 牛人云集,一亩三分地
好吧,没处理overflow的情况。。。。反正估计还有其他问题,不过思路应该没错了。。。
回复 支持 3 反对 1

使用道具 举报

辉哥哥 发表于 2017-2-2 14:35:23 | 显示全部楼层
roger2943 发表于 2015-9-26 00:24
确实错了,是你说的问题。算法题光靠脑袋想果然不靠谱……

要是照着我的这个思路,倒是可以处理一下: ...
.本文原创自1point3acres论坛
你是怎么做到这个变换的啊?

a  b  c  d. more info on 1point3acres
e  f  g  h. 牛人云集,一亩三分地
i   j  k   l
m n o  p


a+e       b+f       c+g       d+h
a+e+i    b+f+j    c+g+k   d+h+l. From 1point 3acres bbs
e+i+m   f+j+n    g+k+o   h+l+p
i+m       j+n       k+o       l+p
回复 支持 2 反对 0

使用道具 举报

fighton_cs 发表于 2015-9-25 10:12:19 | 显示全部楼层
roger2943 发表于 2015-9-23 06:25
在更新一个cell值之前,先将这个cell的值加到跟它相关的其他cell中。

例如当前正在计算 cell的值,先 ...

我觉得这样做行不通。因为比如说你先计算[0][0]的值,在保存[0][0]的结果之后,将[0][0]的原始值加到[0][1],[1][0],[1][1]中去,那么接下来你再算[1][0]的值得时候,你需要用到[0][1]和[1][1]的值,但是这个[0][1]和[1][1]的值是加过[0][0]的原始值以后的值,不是他原来的值。也不知道说得对不对,求解释一下.顺便求in place的方法。
回复 支持 1 反对 1

使用道具 举报

wha_tif 发表于 2015-7-22 05:58:40 | 显示全部楼层
请问楼主面的是他们家哪个职位啊?多谢
回复 支持 反对

使用道具 举报

 楼主| aircw2005 发表于 2015-7-22 06:02:09 | 显示全部楼层
software developer
回复 支持 反对

使用道具 举报

这个杀手不太冷 发表于 2015-9-22 22:56:24 | 显示全部楼层
第三题就是convolution吧。怎么做in place 求hint? 上课学的都是一个输入matrix 一个输出matrix
回复 支持 反对

使用道具 举报

roger2943 发表于 2015-9-23 06:25:39 | 显示全部楼层
这个杀手不太冷 发表于 2015-9-22 22:56
第三题就是convolution吧。怎么做in place 求hint? 上课学的都是一个输入matrix 一个输出matrix

在更新一个cell值之前,先将这个cell的值加到跟它相关的其他cell中。.本文原创自1point3acres论坛

例如当前正在计算[i, j] cell的值,先弄个变量记录[i, j]的原始值,然后
1. ([i, j] + [i, j + 1] + [i + 1, j - 1] + [i + 1, j] + [i + 1, j + 1]) / 9 求均值放入[i, j]
2. 将之前保存的[i, j]原始值加到[i, j + 1][i + 1, j - 1], [i + 1, j], [i + 1, j + 1]四个cell中。. 牛人云集,一亩三分地

注意corner cases就成了。感觉这道题的corner case会很麻烦。。。。。
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

fighton_cs 发表于 2015-9-26 09:56:03 | 显示全部楼层
roger2943 发表于 2015-9-26 00:24
确实错了,是你说的问题。算法题光靠脑袋想果然不靠谱……. Waral 博客有更多文章,

要是照着我的这个思路,倒是可以处理一下: ...

这个算法很牛,点个赞!!!
回复 支持 反对

使用道具 举报

AnthonyNeu 发表于 2016-1-3 15:56:04 | 显示全部楼层
楼主能说说什么是Filter iterator吗?. more info on 1point3acres

没太看懂你的描述
回复 支持 反对

使用道具 举报

Urumic 发表于 2016-6-27 07:14:19 | 显示全部楼层
请问楼主这是Onsite的题目吗?谢谢啦!
回复 支持 反对

使用道具 举报

Urumic 发表于 2016-6-27 07:14:31 | 显示全部楼层
哦哦哦,我错了,看到你写的标签了。
回复 支持 反对

使用道具 举报

liurudahai 发表于 2016-10-7 10:05:51 | 显示全部楼层
求问第二题咋做?
回复 支持 反对

使用道具 举报

jzysheep 发表于 2017-10-8 09:26:52 | 显示全部楼层
第一题怎么做来着
回复 支持 反对

使用道具 举报

徐晃班长 发表于 2018-3-28 05:59:13 | 显示全部楼层
楼主算法很厉害,自己试着写了一下第三题, image Smoother, 通过一些testcase。

public class ImageSmoother {
    public int[][] imageSmoother(int[][] matrix) {
        if (matrix.length == 0 || matrix == null) return null;
        if (matrix[0].length == 0 || matrix[0] == null) return null;

        // a b c d. from: 1point3acres
        // e f g h
        // i j k l
        // m n o p

        //vertical operation:. From 1point 3acres bbs

        // 0+a+e 0+b+f 0+c+g 0+d+h
        // a+e+i b+f+j c+g+k d+h+l
        // e+i+m f+j+n g+k+o h+l+p
        // i+m+0 j+n+0 k+o+0 l+p+0

        int n = matrix.length;. from: 1point3acres
        int m = matrix[0].length;
        //vertical
        int pre, cur;
        for (int j = 0; j < m; j++) {
            pre = 0;.留学论坛-一亩-三分地
            //cur = 0;
            for (int i = 0; i < n; i++) {
                cur = matrix[i][j];
                matrix[i][j] = pre + cur + (i + 1 < n ? matrix[i + 1][j] : 0);
                pre = cur;. 留学申请论坛-一亩三分地
            }
        }

        //horizontal
        for (int i = 0; i < n; i++) {
            pre = 0;
            //cur = 0;
            for (int j = 0; j < m; j++) {
                cur = matrix[i][j];
                matrix[i][j] = pre + cur + (j + 1 < m ? matrix[i][j + 1] : 0);
                //matrix[i][j] = matrix[i][j] / 9;. from: 1point3acres
                pre = cur;
            }
        }

        //average
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                if ( (i == 0 && j ==0) || (i == 0 && j == m -1) || (i == n - 1 && j == 0) || (i == n - 1 && j == m - 1) ) {. visit 1point3acres for more.
                    matrix[i][j] = matrix[i][j] / 4; 来源一亩.三分地论坛.
                }else if (i == 0 || j == 0 || i == n - 1 || j == m - 1) {
                    matrix[i][j] = matrix[i][j] / 6; 来源一亩.三分地论坛.
                }else {
                    matrix[i][j] = matrix[i][j] / 9;
                }
            }
        }
. 牛人云集,一亩三分地
        return matrix;
    }
}
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-5-20 18:20

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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