一亩三分地论坛

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

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

脸谱店面,看你是要脸还是要面

[复制链接] |试试Instant~ |关注本帖
llsshh1128 发表于 2016-12-1 14:23:56 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Facebook - 内推 - 技术电面 |Passfresh grad应届毕业生

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

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

x
LZ当时脑抽,选了感恩节后的周一也就是前天店面,周一同时也是LZ生日。。。
well也就是说面不好这生日也别好好过了么哈哈哈= =

LZ的fb店面并不像地里大部分同学一样各种原题。。
当然了也不是完全无迹可寻

第一题是说git version control的。
           base
        commit1
        commit2
   commit3    commit3'
   commit4    commit4'
    ......

有个commit class (我用的java)
  1. public class Commit {
  2.      int id;
  3.      Commit parent;
  4. }
复制代码
比如,commit3的parent是commit2,至于不会git的同学,稍微google一下git的内容就好啦^^

然后给你两个commit,求出他们最近的一个共同的ancestor commit。
举个例子,commit4和commit3'最近的一个ancestor是commit2
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
接口很简单:
public Commit findAncestor(Commit c1, Commit c2);
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴


第二题是给你一个数组int[] nums,只swap一次,让你maximize这个数组能组成的数,假设数组里所有的数都是一位数

举个例子,[4, 2, 1, 3, 5]代表的数是42135,swap一次可以得到最大的数是[5, 2, 1, 3, 4]

核心思想是sort,LZ当时脑抽筋了恩。。大概是生日太兴奋,一开始走入死胡同了。。竟然?!!后来才反应过来,磕磕绊绊的,不过有一点好,这次LZ不太会了就跟面试官多交流,他们会适当提点你的,这一点很重要,之前谷歌onsite后加面LZ理解错题目了以为自己做不出来题目然后就手足无措突然就英文都不利索了然后感觉到手的offer没了。。。心痛!大家一定要吸取教训多交流,遇到不会也别心慌意乱,交流很重要。

今天晚上突然收到邮件说一轮过了,本来当天没收到通知以为挂了来着,看地里的同学都说fb过了会当天通知,所以大家如果当天没收到通知也不要着急啦,最近年底,大家都比较。。怠!惰!

攒个人品,求第二轮店面顺利啦~. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

. From 1point 3acres bbs

评分

1

查看全部评分

 楼主| llsshh1128 发表于 2016-12-2 04:29:38 | 显示全部楼层
期末求过 发表于 2016-12-2 01:56
【1,7,7】
【7,7,1】. From 1point 3acres bbs
第一位和7交换吗,是第几个7呢,因为7,1,7或者7,7,1

我换个例子吧,好理解一点. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
nums     [3, 5, 2, 5, 1]. more info on 1point3acres.com
sorted    [5, 5, 3, 2, 1]

最大的就是后一个5和3交换变成[5, 5, 2, 3, 1],交换的时候选最后一个出现的那个大数
回复 支持 1 反对 0

使用道具 举报

BRYCEMENG 发表于 2016-12-1 14:45:20 | 显示全部楼层
lz请问第二题是优先让最左边的数swap后变大是吗?第一题commit 3' 的id该是多少? 是两个pointer同时向上移,通过比较id向上移直到找到相同的是吗?
回复 支持 反对

使用道具 举报

catinclay 发表于 2016-12-1 14:58:52 | 显示全部楼层

第二题是找最大的数然后跟第一个数swap 如果最大的数是第一个数就找第二大的 是吗?
回复 支持 反对

使用道具 举报

 楼主| llsshh1128 发表于 2016-12-1 15:49:41 | 显示全部楼层
catinclay 发表于 2016-12-1 14:58
第二题是找最大的数然后跟第一个数swap 如果最大的数是第一个数就找第二大的 是吗?

恩恩是的,但做的时候不要纠结于找第几大的数就行
回复 支持 反对

使用道具 举报

 楼主| llsshh1128 发表于 2016-12-1 15:51:08 | 显示全部楼层
BRYCEMENG 发表于 2016-12-1 14:45. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
lz请问第二题是优先让最左边的数swap后变大是吗?第一题commit 3' 的id该是多少? 是两个pointer同时向上移 ...

第一个问题是的。每个id只是为了区别是不同的commit而已,commit3'的id跟commit3是不同的,确实是两个pointer向上移,你理解的是对哒
回复 支持 反对

使用道具 举报

在浙里 发表于 2016-12-1 16:30:06 | 显示全部楼层
恭喜楼主,加油
回复 支持 反对

使用道具 举报

zhihaosun 发表于 2016-12-1 17:21:15 | 显示全部楼层
第二题直接nlgn sort一下,从大到小,再two pointer和原数组挨个比,遇到第一个与sort后对应位置不同的就直接swap就可以了
回复 支持 反对

使用道具 举报

 楼主| llsshh1128 发表于 2016-12-1 17:44:16 | 显示全部楼层
zhihaosun 发表于 2016-12-1 17:21
第二题直接nlgn sort一下,从大到小,再two pointer和原数组挨个比,遇到第一个与sort后对应位置不同的就直 ...

正解,只要sort就可以了
回复 支持 反对

使用道具 举报

在浙里 发表于 2016-12-1 19:22:28 | 显示全部楼层
感谢楼主分享,加油。
回复 支持 反对

使用道具 举报

edyyy 发表于 2016-12-1 23:01:26 | 显示全部楼层
llsshh1128 发表于 2016-12-1 17:44
正解,只要sort就可以了

第二题怎么能sort?不懂,. from: 1point3acres.com/bbs
【1,7,7】
【7,0,7】. Waral 鍗氬鏈夋洿澶氭枃绔,
这些例子都和位置有关系,sort?. from: 1point3acres.com/bbs

补充内容 (2016-12-1 23:26):
http://www.geeksforgeeks.org/fin ... ng-at-most-k-swaps/
.鏈枃鍘熷垱鑷1point3acres璁哄潧
这里有答案
回复 支持 反对

使用道具 举报

weitongg 发表于 2016-12-2 00:47:14 | 显示全部楼层
全职不就一轮店面吗
回复 支持 反对

使用道具 举报

 楼主| llsshh1128 发表于 2016-12-2 01:35:19 | 显示全部楼层
weitongg 发表于 2016-12-2 00:47
全职不就一轮店面吗

我之前邮件里写的是国际生一般两轮来着O.o,大概是我答得不够好?再多一轮就再接再厉吧哈哈
回复 支持 反对

使用道具 举报

 楼主| llsshh1128 发表于 2016-12-2 01:37:20 | 显示全部楼层
edyyy 发表于 2016-12-1 23:01. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
第二题怎么能sort?不懂,
【1,7,7】
【7,0,7】

比如                [1, 7, 7],
你排序以后变成[7, 7, 1],
第一位不同的元素是第一位,那就找那一位你应该跟哪一位交换就可以了。
回复 支持 反对

使用道具 举报

FTD2014 发表于 2016-12-2 01:39:37 | 显示全部楼层
llsshh1128 发表于 2016-12-2 01:35
我之前邮件里写的是国际生一般两轮来着O.o,大概是我答得不够好?再多一轮就再接再厉吧哈哈

都一轮电面,和国际生没关系。
回复 支持 反对

使用道具 举报

 楼主| llsshh1128 发表于 2016-12-2 01:41:50 | 显示全部楼层
FTD2014 发表于 2016-12-2 01:39
都一轮电面,和国际生没关系。

额。。。但我HR给我邮件里这么写的,而且地里也很多两轮的吧
回复 支持 反对

使用道具 举报

期末求过 发表于 2016-12-2 01:56:29 | 显示全部楼层

【1,7,7】 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
【7,7,1】
第一位和7交换吗,是第几个7呢,因为7,1,7或者7,7,1
回复 支持 反对

使用道具 举报

kevindx1120 发表于 6 天前 | 显示全部楼层
第一题是不是就是lc 160 160 Intersection of Two Linked Lists  ?
回复 支持 反对

使用道具 举报

 楼主| llsshh1128 发表于 5 天前 | 显示全部楼层
kevindx1120 发表于 2016-12-5 10:43
第一题是不是就是lc 160 160 Intersection of Two Linked Lists  ?

恩恩是的!变个说法而已~
回复 支持 反对

使用道具 举报

jimmyuconn 发表于 5 天前 | 显示全部楼层
不需要sort吧。可以用O(n)解。贴出一个代码来,求拍!. 1point 3acres 璁哄潧
class Solution {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
    public: 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    void maxValueSwapOne(vector<int> &nums) {
        if (nums.empty()) return;.鏈枃鍘熷垱鑷1point3acres璁哄潧
        int numSize = nums.size();
        if (numSize == 1) return;
        vector<pair<int, int>> m(numSize);
        int curMax = 0;
        int curMaxInd = 0;
        for (int i = numSize - 1; i >= 0; i--) {
            if (i == numSize - 1) {
                m[i] = {nums[i], i};. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                curMax = nums[i];
                curMaxInd = i;.1point3acres缃
            } else {
                if (curMax >= nums[i]) {. 1point 3acres 璁哄潧
                    m[i] = {curMax, curMaxInd};
                } else {
                    m[i] = {nums[i], i};
                    curMax = nums[i];
                    curMaxInd = i;
                }.1point3acres缃
            }
        }
         鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        int swapInd;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        for (int i = 0; i < numSize; i++) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            if (nums[i] == m[i].first) continue;.鐣欏璁哄潧-涓浜-涓夊垎鍦
            else {. 1point 3acres 璁哄潧
                swapInd = m[i].second;
                swap(nums[i], nums[swapInd]);
                break; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
            }
        }
        return; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    }
};
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 10:26

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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